I tried to find some code that wasn't minified to assess the quality of this, and I found some shader code for the sky in the gemini version. The whole shader looks like it was regurgitated verbatim. This wouldn't hold up to licensing scrutiny. Here's a snippet from it:
// wavelength of used primaries, according to preetham
const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 );
// this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function:
// (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn))
Who's Preetham? Probably one of the copyright holders on this code.
Rather than stolen from Mr. Preetham, it's much more likely this fragment is generated from a large number of Preetham algorithm implementations out there, eg. I know at least Blender and Unreal implement it and probably heaps of others was well.
Nobody is going to sue you for using their implementation of a skybox algorithm from 1999, give us break. It's so generic you can probably really only write it in a couple of different ways.
If youre worried about it you can always spend a day with Claude, ChatGPT and yourself looking for license infringements and clean up your code.
> Nobody is going to sue you for using their implementation of a skybox algorithm from 1999, give us break.
For personal use maybe not, but that's not the point, the point is it's spitting out licensed code and not even letting you know. Now if you're a business who hire exclusively "vibe" coders with zero experience with enterprise software, now you're on the hook and most likely will be sued.
If true, then this usage could violate its MIT License: "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."
The file seems to have been copied verbatim, more or less. But without the copyright info
This particular case appears to me to be a straight derivative at best but I'm by no means an expert on copyright laws.
That's not to say there hasn't already been more direct cases with set examples [1], from an author directly who would have a better right to claim than I [2], it's not even a stretch to see how it can happen.
As discussed repeatedly in this thread already in this particular case the code at hand wasn't generated by an LLM at all, it was simply included from a dependency by the build system.
> Seems like a massive attack surface for copyright trolls.
If you think any court system in the world has the capacity to deal with the sheer amount an LLM code can emit in an hour and audit for alleged copyright infringements ... I think we're trying to close the barn door now that the horse is already on a ship that has sailed.
This is a terrible argument, just because of the way the legal system works.
If MegaCorp has massive $$$$, but everyone else has small $, then MegaCorp can sue anyone else for using "their" code, that was supposedly generated by an LLM. Most of the time, it won't even get to court. The repo, the program, the whatever-they-want will get taken down way before that.
Courts don't work by saying, "oh, but everyone is doing it! Not much we can do now."
Someone brings a case and they, very laboriously, start to address it on its merits. Even before that, costs are accumulating on both sides.
Copyright trolls are mostly not MegaCorps, but they are abusers of the legal system. They won't target Google, but you, with your repo that does something that minorly annoys them? You are fair game.
> Courts don't work by saying, "oh, but everyone is doing it! Not much we can do now."
No, but they do recognise when their case registrations are filling up in a way that they cannot possibly process and make adjustments. Courts do not have an infinite capacity.
There's a really simple solution that you may not have considered:
1) don't put your vibe-coded source code in a public git repo, keep it in a local one, with y'know, authentication in front of it;
2) regularly ask your agents to review the code for potential copyright infringements if you either want to release the source or compiled code to the public at any point.
As long as you've followed best practices, I can't see why this is really going to become an issue. Most copyright infringements need to start with Cease & Desist anyway or they'll be thrown out of court. The alleged offender has to be given the opportunity to make good.
So "Claude, we received a C&D for this section of code you stole from https://.../ , you need to make a unique implementation that does not breach their copyright".
You will be surprised how easily this can be resolved.
In the US you can't sue without having obtained or applied for a registration. If the registration does not grant, you cannot sue. You cannot get a registration for code developed by AI.
> Courts don't work by saying, "oh, but everyone is doing it! Not much we can do now."
They kind of do. If you fail to bring legal action to guard your intellectual property, and there’s a pattern of you not guarding it, then in future cases this can be used against you when determining damages etc. Weakens your case.
This is only true of trademarks, not copyrights (which was the discussion here).
Trademarks can become 'generic' if you don't defend them. But JK Rowling wrote Harry Potter, whether she sues fanfic authors or not, and can selectively enforce her copyright as she likes.
GPT’s differentiator is they focused on training for “thinking” while Gemini prioritized instant response. Medium thinking is not the limit of utility
Re: overparameterization specifically Medium and High are also identically parameterized
Medium will also dynamically use even higher thinking than High. High is fixed at a higher level rather than leaving it to be dynamic, though somewhat less than Medium’s upper limit
Copyright is so-so. At the end of the day you can say that the complete work (not just snippets) is something copyrightable. But the most bananas thing for me is that one can patent the concept of one click purchasing. That's insane on many levels.
I always find it amazing that people are wiling to use AI beacuse of stuff like this, its been illegally trained on code that it does not have the license to use, and constantly willy nilly regurgitates entire snippets completely violating the terms of use
As discussed in this thread before you posted this comment, this code wasn't generated from an LLM at all, but simply included in a dependency: https://news.ycombinator.com/item?id=46092904
Unlike your results which aren't exact match, or likely even a close enough match to be copyright infringment if the LLM was inspired by them (consider that copyright doesn't protect functional elements), an exact match of the code is here (and I assume from the comment I linked above this is a dependency of three.js, though I didn't track that down myself): https://github.com/GPUOpen-LibrariesAndSDKs/Cauldron/blob/b9...
Edit: Actually on further thought the date on the copyright header vs the git dates suggests the file in that repo was copied from somewhere else... anyways I think we can be reasonably confident that a version of this file is in the dependency. Again I didn't look at the three.js code myself to track down how its included.
If there's any copyright infringment here it would be because bog standard web tools fail to comply with the licenses of their dependencies and include a copy of the license, not because of LLMs. I think that is actually the case for many of them? I didn't investigate the to check if licenses are included in the network traffic.
There are several cases where copyright law is not only about exact copy but also derivatives. So finding an exact match is not necessary.. Not sure it matters in this case eitherway.
I have been trained on code I don't have the license to use myself. I'm not like these Creators, who suck wisdom from the cosmos directly, apparently.
Sure. It's a problem that corporations run by more or less insane people are the ones monetizing and controlling access to these tools. But the solution to that can't be even more extended private monopolistic property claims to thought-stuff. Such claims are usually the way those crazy people got where they are.
You think in a world where Elsevier didn't just own the papers, but rights to a share in everything learned from them, would be better for you?
It's fascinating that people care very much about this when it's visual arts, but when it comes to code almost no one does.
E.g. the latest Anno game (117) received a lot of hate for using AI generated loading screen backgrounds, while I have never heard of a single person caring about code, which probably was heavily AI generated.
"Claude - rewrite this apparently copyrighted code that can be found online here <http://...> in a way that makes it a unique implementation." <- probably will work.
If the generated code in TFA contained the actual Counter-Strike source code, then you (well, Valve) would have a defensible claim. But the prompt was to make something like Counter-Strike, and it came up with something different. That's fair game.
Definitely citation needed. Such court cases usually come with a lot of important context. How can you just make such a statement and get away with not providing any context link?
Claude's has a funny bug where if you keep shooting a dead player before they respawn, you rack up kills fast. I thought I was doing so well until I realized. Impressive that they can get this far now.
This makes me depressed. LLMs will take the most enjoyable part of my job and I will be stuck reviewing or fixing bugs in their "it-compiles" codebase.
There is a lot of data shuttling or shuffling in enterprise applications and if agents can write that part, so be it. I can spend more time on the harder business and technical problems that require creativity and working through the options and potential solutions. Even here, the speed to write multiple different experiments in parallel, is fantastic.
As for “it-compiles” that is nothing new. I have written code that I go back to later and wonder how it ever compiled. I have a process now of often letting the agent prototype and see if it works. Then go back and re-engineer it properly. Does doing it twice save time? Yeah, cause who’s to say my first take on the problem would have been correct and now I have something to look at and say it is definitely wrong or right when considering how to rebuild it for long term usage.
On the contrary, coding for me has become more fun than ever since Opus 4.5. I'm working more and genuinely enjoying it a lot more, haven't had this much fum building software in years. (I work at Anthropic but have also tried Gemini, it's also fun)
Same. I've resurrected side projects and done months of work on them overnight, getting to my true end goals. Creating software is fun. Wrangling a bunch of opinionated libraries and plumbing together systems with terrible ergonomics (i.e. webpack, maybe web development generally?) is bs work I'm glad to not have to do.
Creating software is indeed fun, but the most enjoyable aspects are the "a-ha" moments after you overcome a tricky problem, the confidence boost from creating something that works in an efficient and elegant way, and the dopamine hits associated with those events.
"AI" tools can alleviate some of the tedium of working on plumbing and repetitive tasks, but they also get rid of the dopamine hits. I get no enjoyment from running machine-generated code, having to review it, and more often than not having to troubleshoot and fix it myself.
To me, creating software is not as much about the destination, but about the journey. About the process itself. Yes, some of it is not enjoyable, but overall, there is much more I like about it than not.
I am sorry this made you feel depressed. I think there are some positives to consider too though:
1. More people that wanted to make games can.
Thanks to unreal engine, you don't need to be a Tim Sweeney level-expert to make compelling games. I see LLMs as another abstraction in the same spirit.
2. You get more leverage
The more abstractions you have, the more you can do with less. This means less bureaucracy, more of a chance to make _exactly_ what you wanted.
I understand how the craft changes underneath you, and that can feel depressing, but if we see it as tools, I think there's lots of good ahead.
Will they ?
I don't know why -okay- but I am still suspicious about such claims.
This is impressive, but I would be more convinced if the codebase was more complex, that is a toy and uninspiring implementation of a _very_ basic game, the most enjoyable part of your job surely lies in a place that is beyond this "pre-prototype" (almost tutorial-y) state.
I could be wrong of course, and it may be true that your work will change very soon. Maybe someone else has better examples to propose ?
You have agency. There is no invisible hand stopping you from continuing to do what you enjoy.
It's the same when I hear people complain about how complex new UI frameworks are. The web still runs perfectly well on simple html, CSS, and Javascript. There is not federal police force that will arrest you for not using React.
Yes, I can do it. In my free time. But that part of my job that was enjoyable? Poof. Not anymore. Can't compete, get on with times, be more productive.
I spend a 40% of my "alive" time in work. It's a massive downgrade.
Companies preferring React over vanilla Javascript != you can't build sites with vanilla JavaScript anymore. Sites LITERALLY still work that way.
> I spend a 40% of my "alive" time in work. It's a massive downgrade.
This martydom with front-end frameworks is crazy to me. Guess what? You're a software developer. You actually have a lot more power tahn you think. And this "roll over and play dead while whining about every advancement in technology because you feel left behind" is exactly the reason you feel the way you do.
That invisible hand exists and had always existed, it's the market.
Nobody will arrest you, but the enjoyable work simply slowly disappears.
Unless we're talking hobby scenarios, but nobody cares about that.
> That invisible hand exists and had always existed, it's the market.
I have never heard a client say "Man, glad you used React". Literally nobody cares what framework you use to build your site. Nobody.
If you didn't know any better you'd think all software developers are chained in a basement where they have absolutely no power to do anything but build React sites.
You sound like a freelancer or something. Every single company I interviewed for in the last couple of years as a full stack dev *required* experience in React/Vue/Angular 2+. With old school js/html/css you wouldn't even pass CV screening.
Best you could get with that is some wordpress gig for peanuts.
1.) Those WordPress gigs can make your React gig look like indentured servitude
2.) The company you’re applying to isn’t the client.
3.) “freelancer or something”, like you’re spitting it out?
Yes - some of us aren’t handcuffed to mediocrity by 200-1000 person orgs. As the kids say, “Don’t hate.”
I'm not hating, might be a language barrier, I'm from Poland, sorry.
1. Definitely not in my country. The average pay of a Wordpress/PHP dev is half of a modern full stack and the clients are terrible, because it's just websites for small businesses. Modern full stacks don't create websites most of the time, but highly interactive B2B apps.
2. It is absolutely my client. I optimize their happiness not their customers. I have no relationship with the customers, some don't know who I am.
3. I worked as a contractor for a couple of years and I'm not missing the stress and unstable pay. Especially now with a kid on board. Many contracts were actually "hey we need a React/[insert other tech] guy for our current project, wanna join?", not "we have an idea and we don't know how to do it" kind of thing. The latter are super rare and even more stressful, because they come from "non-technical startup founders" often with little money.
Keep in mind that I'm in EU, so the benefits of permanent employment make a huge difference.
Wow, that makes me want to check it out more thoroughly (if I had the time)
I remember when CS Pro Mod was being made between the transition of CS 1.6, Source, the 1.6 community didn't want to move over to Source, before GO/CS2 came around.
Cool to see what's basically Quake1/doom style but this is a far fetch away from counter-strike. Although if netcode could be imagined and implemented I don't see why making a lower tier Counter-Strike wouldn't be doable. I'd play it if it were the quake style old-graphics version of CS that allowed for skill gaps.
Source had some insane rag doll. CS players weren’t ready for the physics and honestly, Valve spent a hell of a lot of effort to refine the physics for CS:GO to make it feel like CS1. Kudos to the dev teams.
I’d also love a Battle-bits CS version. (Battle-bits was a fun Battlefield low poly spoof).
I thought this would be about getting the actual Counter Strike to build, which is something they are also pretty good at. I had Claude debug an old C project of mine the other day and get it up and running.
Furthermore, if you have it sandboxed, you can also ask it to also install any necessary dependencies or toolchains, which is really nice.
Getting an old codebase working is something they are especially good at because it has regular, actionable feedback and it's clear when the tall is complete. Creating the "best" anything is much more open ended.
The only time I spent outside of the video was to deploy to Vercel. I made a bunch of speedups in the video, but didn't cut anything. The total time was about 2 hours.
I mentioned it in the post, but there was definitely some hand holding towards the end, where I don't think a non-programmer would have succeeded
Specifying the second 0 implies portions of one cent. Like if I said something costs 10USD, the one dollar bill is implied to exist even if it isn't used (same with 10.00 implying the existence of a penny)
I'm impressed by this. You know in the beginning I was like hey why doesn't this look like counterstrike ? yeah I had the exepectation this things can one shot an industry leading computer game. Of course that's not yet possible.
But still, this is pretty damn impressive for me.
In a way, they really condensed perfectly a lot of what's silly currently around AI.
> Codex, Opus, Gemini try to build Counter Strike
Even though the prompt mentions Counter Strike, it actually asks to build the basics of a generic FPS, and with a few iterations ends up with some sort of minecraft-looking generic FPS with code that would never make it to prod anywhere sane.
It's technically impressive. But functionally very dubious (and not at all anything remotely close to Counter-Strike besides "being an FPS").
i mean it's the most bare-bones implementation without any engineering considerations
it's not something that would ever work industrially
people with code-generators they've made could do this just as fast as the AI except their generators could have engineering considerations built-in to them as well so it'd be even better
> people with code-generators they've made could do this just as fast as the AI except their generators could have engineering considerations built-in to them as well so it'd be even better
I think they're referring to the project scaffolding features that's built-in to framework tooling thesedays (e.g. `ng generate ng <schema>` or `dotnet scaffold`).
There's also the practice of using good ol' fashioned code-generation tools like T4 or Moustache/Liquid templates to generate program entity classes and data-access methods from a DB schema, for example. Furthermore, now there's pretty nifty compile-time code-generation in C# - while languages like F# support built-time type-generation.
...and these are all good tools IMO; but really aren't comparable to an LLM, imo.
This is the kind of thing that's so impressive that if you're not an (experienced) SWE you think "man LLMs are the future, and I am making some major decisions based on this". But you look at the code, and it's essentially gluing three.js and some DB stuff together. There's no lobby, no real interaction logic, no physics apart from what you get from three.js, chatting, commands, map editing, game modes.
In other words, this is slop. We know these new models can generate slop images, text, videos, and code. Sometimes slop can be useful; maybe you can shape it into something useful, maybe you can slop a slopper. But we're learning it's not economical--this is some of the costliest slop we've ever made.
This is the job a junior developer may deliver in their first weeks at a new job, so this is the way it should be treated as: good intentions, not really good quality.
AI coding needs someone behind to steer it to do better, and in some cases, it does. But still hasn't left the junior phase, and while that doesn't happen, there's still the need for a good developer to deliver good results.
There's no serious company who would do anything equivalent to "hey Jr Dev make me a Counterstrike", so examples like these do way more harm than good, because they give the impression of superpowers but this is really just the best they can do.
They're not thinking or reasoning or understanding. It's just amazing autocomplete. Humans not being able to keep themselves from extrapolating or gold rushing doesn't change that.
They are. I know a lot of people don't want to admit this, but they are. They're getting better with each release.
> But we're learning it's not economical--this is some of the costliest slop we've ever made.
Huh? How on earth would you know whether my usage of LLM's has been worth it or not?
> Sometimes slop can be useful; maybe you can shape it into something useful
Man, I just spent the last 2 weeks with a CEO who got a Bolt.new subscription to be able to generate some high-level mocks ups for me to utilize that just saved us months of back and forth.
You know what's the best part? Those same mockups can be used to gather user feedback with a functioning UI without me having to spend weeks building it and it ending up wrong anyway.
Sometimes it irks me, but now I've sorta come to embrace devs like you. You're guaranteeing I have a job because you refuse to acknowledge the very obvious thing that's happening.
We're not disagreeing. Your best example is throwaway mocks: temporary slop, which these models are good at, but all the costs and externalities are hidden from you. They're not actually economical to use (even if you don't consider training etc as part of the cost, which is ridiculous as they're some of the costliest things humans have ever done).
This is very impressive. That said, 1st person shooters seem like the less interesting type of game to create with an LLM nowadays. I'd much rather see a large world mystery game, for example. Think something like "All Her Fault", where you're the mom and you show up to pick up your kid and the game starts there -- and you need to find your kid. I would fine a game like that something that we probably couldn't do well w/o AI, but now, I think it might be doable.
Neat. FYI all the images on the site are TINY - might be a good idea to make add an interactive lightbox to them so we can see them without right-clicking and opening in a new tab.
I forgot what site it was but there used to be an online and browser playable CS 1.6. I don’t know if it was open source or not but there’s definitely code out their for this stuff so wouldn’t be surprised the models were trained on it.
A lot of the work done when making games in Unreal is done in the editor, not in source code.
Also, Unreal source code will be the very last thing LLMs understand. This is the most complex software ever.
There’s an algorithm called Nanite for automatically reducing the triangle count on geometry that’s far from the camera. As in there are not manually made separate level-of-detail models. The algorithm can modify models, reducing quality as they get farther.
This one algorithm is a tiny piece of the engine yet has a 1,000 page white paper.
Also, even when I don’t know how something works algorithmically, usually I at least have some intuition about where to start. I haven’t the slightest idea how to approach this problem.
No way. Take baby steps. Write an operating system first. Write a compiler first.
Here's a blog post[1] from last year regarding an open-source implementation of virtual geometry. The linked code is maybe a couple thousand lines. It's not something you'd write in an afternoon, but it's also not the towering monument of complexity that Epic Games pretends it is.
Edit: I don't mean to sound disparaging - it's some genuinely cool algorithms. It's just that Epic is incentivized to hype it up, and so you get a huge paper and multiple talks that are designed to make it seem even more impressive.
"Now let's make shots work. When I shoot, send the shot as a topic, and make it affect the target's HP. When the target HP goes to zero, they should die and respawn."
This is not how shooting is implemented in a competitive first person shooter.
I agree that this is not how shooting is implemented in a production competitive shooter, but that wasn't the goal of the post. We wanted to test how far models could go, and I think this current version is the limit in a 2 hour time window.
Right, but you don't need to know how it works to know if it is one. Unless I'm misunderstanding this part: "how can you tell if the AI has actually created one for you or not?"
I interpreted that as "I asked the AI to make me one, and now I have one, so it did it," with the operative question being "is it really a multiplayer FPS?"
I'm a professional game developer who has worked on real multiplayer first person shooters. My bar for "is this a real first person shooter" is a lot higher than yours.
My bar is, does this actually work and is it best practice for how first person shooters are made by professional game developers.
Your bar is, does it kinda look a bit like the thing that I play?
I tried to find some code that wasn't minified to assess the quality of this, and I found some shader code for the sky in the gemini version. The whole shader looks like it was regurgitated verbatim. This wouldn't hold up to licensing scrutiny. Here's a snippet from it:
Who's Preetham? Probably one of the copyright holders on this code.Preetham is the author of the paper that defines this algorithm from 1999:
Rather than stolen from Mr. Preetham, it's much more likely this fragment is generated from a large number of Preetham algorithm implementations out there, eg. I know at least Blender and Unreal implement it and probably heaps of others was well.Nobody is going to sue you for using their implementation of a skybox algorithm from 1999, give us break. It's so generic you can probably really only write it in a couple of different ways.
If youre worried about it you can always spend a day with Claude, ChatGPT and yourself looking for license infringements and clean up your code.
> Nobody is going to sue you for using their implementation of a skybox algorithm from 1999, give us break.
For personal use maybe not, but that's not the point, the point is it's spitting out licensed code and not even letting you know. Now if you're a business who hire exclusively "vibe" coders with zero experience with enterprise software, now you're on the hook and most likely will be sued.
Do you have any evidence that it is spitting out licensed code? Did you locate an original that it was copied from?
This seems like it could be the source: https://github.com/GPUOpen-LibrariesAndSDKs/Cauldron/blob/ma...
If true, then this usage could violate its MIT License: "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."
The file seems to have been copied verbatim, more or less. But without the copyright info
This particular case appears to me to be a straight derivative at best but I'm by no means an expert on copyright laws.
That's not to say there hasn't already been more direct cases with set examples [1], from an author directly who would have a better right to claim than I [2], it's not even a stretch to see how it can happen.
[1] https://arxiv.org/html/2408.02487v3
[2] https://x.com/DocSparse/status/1581461734665367554
As discussed repeatedly in this thread already in this particular case the code at hand wasn't generated by an LLM at all, it was simply included from a dependency by the build system.
It's taken from a threejs example: https://github.com/mrdoob/three.js/blob/dev/examples/jsm/obj...
Seems fine given the project is already using threejs and so will have to include license info for it already.
> implementation of a skybox algorithm from 1999
How would you know? Do you have another AI scan for copyright violations? In terms of a false negative how are disputes resolved?
Seems like a massive attack surface for copyright trolls.
> Seems like a massive attack surface for copyright trolls.
If you think any court system in the world has the capacity to deal with the sheer amount an LLM code can emit in an hour and audit for alleged copyright infringements ... I think we're trying to close the barn door now that the horse is already on a ship that has sailed.
This is a terrible argument, just because of the way the legal system works.
If MegaCorp has massive $$$$, but everyone else has small $, then MegaCorp can sue anyone else for using "their" code, that was supposedly generated by an LLM. Most of the time, it won't even get to court. The repo, the program, the whatever-they-want will get taken down way before that.
Courts don't work by saying, "oh, but everyone is doing it! Not much we can do now."
Someone brings a case and they, very laboriously, start to address it on its merits. Even before that, costs are accumulating on both sides.
Copyright trolls are mostly not MegaCorps, but they are abusers of the legal system. They won't target Google, but you, with your repo that does something that minorly annoys them? You are fair game.
> Courts don't work by saying, "oh, but everyone is doing it! Not much we can do now."
No, but they do recognise when their case registrations are filling up in a way that they cannot possibly process and make adjustments. Courts do not have an infinite capacity.
There's a really simple solution that you may not have considered:
1) don't put your vibe-coded source code in a public git repo, keep it in a local one, with y'know, authentication in front of it;
2) regularly ask your agents to review the code for potential copyright infringements if you either want to release the source or compiled code to the public at any point.
As long as you've followed best practices, I can't see why this is really going to become an issue. Most copyright infringements need to start with Cease & Desist anyway or they'll be thrown out of court. The alleged offender has to be given the opportunity to make good.
So "Claude, we received a C&D for this section of code you stole from https://.../ , you need to make a unique implementation that does not breach their copyright".
You will be surprised how easily this can be resolved.
Just to push the point further I was making about the courts, I came upon this article a couple hours later: https://www.bbc.com/news/articles/cn5lxg2l0lqo
In the US you can't sue without having obtained or applied for a registration. If the registration does not grant, you cannot sue. You cannot get a registration for code developed by AI.
> Courts don't work by saying, "oh, but everyone is doing it! Not much we can do now."
They kind of do. If you fail to bring legal action to guard your intellectual property, and there’s a pattern of you not guarding it, then in future cases this can be used against you when determining damages etc. Weakens your case.
Downvoting won’t make it untrue lol.
This is only true of trademarks, not copyrights (which was the discussion here).
Trademarks can become 'generic' if you don't defend them. But JK Rowling wrote Harry Potter, whether she sues fanfic authors or not, and can selectively enforce her copyright as she likes.
No. A J Preetham: https://www.researchgate.net/publication/220720443_A_Practic...
If you're curious about the source, here's the snapshot:
Codex: https://github.com/stopachka/cscodex Gemini: https://github.com/stopachka/csgemini Claude: https://github.com/stopachka/csclaude
Thanks. Turns out that shader is a builtin of three.js.
Please try again with Codex on High or Extra High. 5.1-Max nerfed it a bit if you don't use higher thinking.
This is overparameterisation
No
I guess you have not tried GPT 5 Pro
GPT’s differentiator is they focused on training for “thinking” while Gemini prioritized instant response. Medium thinking is not the limit of utility
Re: overparameterization specifically Medium and High are also identically parameterized
Medium will also dynamically use even higher thinking than High. High is fixed at a higher level rather than leaving it to be dynamic, though somewhat less than Medium’s upper limit
I also noticed that AI agents commit many copyright infringements with the work of Mr Dijkstra.
Messrs Newton and Raphson would like to join this class-action.
That's a stellar observation right there.
To be clear, this is a pun on A*
The idea that someone could hold copyright over such a tiny snippet of code is just as stupid as LLMs regurgitating them.
Personally i find it absurd that code can be copyrighted at all.
Copyright is so-so. At the end of the day you can say that the complete work (not just snippets) is something copyrightable. But the most bananas thing for me is that one can patent the concept of one click purchasing. That's insane on many levels.
Why bananas? That is the biggest invention after edisons bulb.
A lot of computer graphics algorithms are named after their authors
If only this particular regurgitation engine took a minute to check their work.
[dead]
[dead]
I always find it amazing that people are wiling to use AI beacuse of stuff like this, its been illegally trained on code that it does not have the license to use, and constantly willy nilly regurgitates entire snippets completely violating the terms of use
Edit:
https://github.com/vorg/pragmatic-pbr/blob/master/local_modu...
https://github.com/vorg/pragmatic-pbr/blob/master/local_modu...
This looks like where the source code was stolen from: this repository is unlicensed, and this is copyright infringement as a result
As discussed in this thread before you posted this comment, this code wasn't generated from an LLM at all, but simply included in a dependency: https://news.ycombinator.com/item?id=46092904
Unlike your results which aren't exact match, or likely even a close enough match to be copyright infringment if the LLM was inspired by them (consider that copyright doesn't protect functional elements), an exact match of the code is here (and I assume from the comment I linked above this is a dependency of three.js, though I didn't track that down myself): https://github.com/GPUOpen-LibrariesAndSDKs/Cauldron/blob/b9...
Edit: Actually on further thought the date on the copyright header vs the git dates suggests the file in that repo was copied from somewhere else... anyways I think we can be reasonably confident that a version of this file is in the dependency. Again I didn't look at the three.js code myself to track down how its included.
If there's any copyright infringment here it would be because bog standard web tools fail to comply with the licenses of their dependencies and include a copy of the license, not because of LLMs. I think that is actually the case for many of them? I didn't investigate the to check if licenses are included in the network traffic.
There are several cases where copyright law is not only about exact copy but also derivatives. So finding an exact match is not necessary.. Not sure it matters in this case eitherway.
conradev found likely the right version of the file here: https://github.com/mrdoob/three.js/blob/55b4bbb7ef7e29b214b9...
I have been trained on code I don't have the license to use myself. I'm not like these Creators, who suck wisdom from the cosmos directly, apparently.
Sure. It's a problem that corporations run by more or less insane people are the ones monetizing and controlling access to these tools. But the solution to that can't be even more extended private monopolistic property claims to thought-stuff. Such claims are usually the way those crazy people got where they are.
You think in a world where Elsevier didn't just own the papers, but rights to a share in everything learned from them, would be better for you?
It's fascinating that people care very much about this when it's visual arts, but when it comes to code almost no one does.
E.g. the latest Anno game (117) received a lot of hate for using AI generated loading screen backgrounds, while I have never heard of a single person caring about code, which probably was heavily AI generated.
I believe it is MIT-licensed code from three.js: https://github.com/mrdoob/three.js/blob/55b4bbb7ef7e29b214b9...
You presume that people care about things like this. A lot of people don't.
Companies should. Its a business risk, you open yourself up to legal action
"Claude - rewrite this apparently copyrighted code that can be found online here <http://...> in a way that makes it a unique implementation." <- probably will work.
The courts have ruled that generated output is not infringing.
If I say, “output the contents of X verbatim” and then use the output, am I free from liability?
If the generated code in TFA contained the actual Counter-Strike source code, then you (well, Valve) would have a defensible claim. But the prompt was to make something like Counter-Strike, and it came up with something different. That's fair game.
I can assure you that Valve is not remotely concerned about this AI generated "first person shooter" taking market share away from them.
Definitely citation needed. Such court cases usually come with a lot of important context. How can you just make such a statement and get away with not providing any context link?
Is it copyright infringement? It's a fundamental algorithm.
Claude's has a funny bug where if you keep shooting a dead player before they respawn, you rack up kills fast. I thought I was doing so well until I realized. Impressive that they can get this far now.
hah ... I think you were killing me!
This makes me depressed. LLMs will take the most enjoyable part of my job and I will be stuck reviewing or fixing bugs in their "it-compiles" codebase.
There is a lot of data shuttling or shuffling in enterprise applications and if agents can write that part, so be it. I can spend more time on the harder business and technical problems that require creativity and working through the options and potential solutions. Even here, the speed to write multiple different experiments in parallel, is fantastic.
As for “it-compiles” that is nothing new. I have written code that I go back to later and wonder how it ever compiled. I have a process now of often letting the agent prototype and see if it works. Then go back and re-engineer it properly. Does doing it twice save time? Yeah, cause who’s to say my first take on the problem would have been correct and now I have something to look at and say it is definitely wrong or right when considering how to rebuild it for long term usage.
On the contrary, coding for me has become more fun than ever since Opus 4.5. I'm working more and genuinely enjoying it a lot more, haven't had this much fum building software in years. (I work at Anthropic but have also tried Gemini, it's also fun)
Same. I've resurrected side projects and done months of work on them overnight, getting to my true end goals. Creating software is fun. Wrangling a bunch of opinionated libraries and plumbing together systems with terrible ergonomics (i.e. webpack, maybe web development generally?) is bs work I'm glad to not have to do.
I have a slightly different take on it.
Creating software is indeed fun, but the most enjoyable aspects are the "a-ha" moments after you overcome a tricky problem, the confidence boost from creating something that works in an efficient and elegant way, and the dopamine hits associated with those events.
"AI" tools can alleviate some of the tedium of working on plumbing and repetitive tasks, but they also get rid of the dopamine hits. I get no enjoyment from running machine-generated code, having to review it, and more often than not having to troubleshoot and fix it myself.
To me, creating software is not as much about the destination, but about the journey. About the process itself. Yes, some of it is not enjoyable, but overall, there is much more I like about it than not.
Yes, lived experiences differ from person to person.
Same. I've coded professionally my whole life. I've never enjoyed it as much as I'm doing now and I'm the most productive I've ever been.
I am sorry this made you feel depressed. I think there are some positives to consider too though:
1. More people that wanted to make games can.
Thanks to unreal engine, you don't need to be a Tim Sweeney level-expert to make compelling games. I see LLMs as another abstraction in the same spirit.
2. You get more leverage
The more abstractions you have, the more you can do with less. This means less bureaucracy, more of a chance to make _exactly_ what you wanted.
I understand how the craft changes underneath you, and that can feel depressing, but if we see it as tools, I think there's lots of good ahead.
Will they ? I don't know why -okay- but I am still suspicious about such claims. This is impressive, but I would be more convinced if the codebase was more complex, that is a toy and uninspiring implementation of a _very_ basic game, the most enjoyable part of your job surely lies in a place that is beyond this "pre-prototype" (almost tutorial-y) state.
I could be wrong of course, and it may be true that your work will change very soon. Maybe someone else has better examples to propose ?
You have agency. There is no invisible hand stopping you from continuing to do what you enjoy.
It's the same when I hear people complain about how complex new UI frameworks are. The web still runs perfectly well on simple html, CSS, and Javascript. There is not federal police force that will arrest you for not using React.
There is invisible hand, literally. https://en.wikipedia.org/wiki/Invisible_hand
Yes, I can do it. In my free time. But that part of my job that was enjoyable? Poof. Not anymore. Can't compete, get on with times, be more productive.
I spend a 40% of my "alive" time in work. It's a massive downgrade.
> There is invisible hand, literally. https://en.wikipedia.org/wiki/Invisible_hand
Companies preferring React over vanilla Javascript != you can't build sites with vanilla JavaScript anymore. Sites LITERALLY still work that way.
> I spend a 40% of my "alive" time in work. It's a massive downgrade.
This martydom with front-end frameworks is crazy to me. Guess what? You're a software developer. You actually have a lot more power tahn you think. And this "roll over and play dead while whining about every advancement in technology because you feel left behind" is exactly the reason you feel the way you do.
> martydom with front-end frameworks
You are the only one that even mentioned FE frameworks. Or plain JS. Neither was even tangentially mentioned and has nothing to do with my comment.
That invisible hand exists and had always existed, it's the market. Nobody will arrest you, but the enjoyable work simply slowly disappears. Unless we're talking hobby scenarios, but nobody cares about that.
> That invisible hand exists and had always existed, it's the market.
I have never heard a client say "Man, glad you used React". Literally nobody cares what framework you use to build your site. Nobody.
If you didn't know any better you'd think all software developers are chained in a basement where they have absolutely no power to do anything but build React sites.
You sound like a freelancer or something. Every single company I interviewed for in the last couple of years as a full stack dev *required* experience in React/Vue/Angular 2+. With old school js/html/css you wouldn't even pass CV screening. Best you could get with that is some wordpress gig for peanuts.
This comment is pretty off-base.
1.) Those WordPress gigs can make your React gig look like indentured servitude
2.) The company you’re applying to isn’t the client.
3.) “freelancer or something”, like you’re spitting it out? Yes - some of us aren’t handcuffed to mediocrity by 200-1000 person orgs. As the kids say, “Don’t hate.”
I'm not hating, might be a language barrier, I'm from Poland, sorry.
1. Definitely not in my country. The average pay of a Wordpress/PHP dev is half of a modern full stack and the clients are terrible, because it's just websites for small businesses. Modern full stacks don't create websites most of the time, but highly interactive B2B apps.
2. It is absolutely my client. I optimize their happiness not their customers. I have no relationship with the customers, some don't know who I am.
3. I worked as a contractor for a couple of years and I'm not missing the stress and unstable pay. Especially now with a kid on board. Many contracts were actually "hey we need a React/[insert other tech] guy for our current project, wanna join?", not "we have an idea and we don't know how to do it" kind of thing. The latter are super rare and even more stressful, because they come from "non-technical startup founders" often with little money.
Keep in mind that I'm in EU, so the benefits of permanent employment make a huge difference.
Wow, that makes me want to check it out more thoroughly (if I had the time)
I remember when CS Pro Mod was being made between the transition of CS 1.6, Source, the 1.6 community didn't want to move over to Source, before GO/CS2 came around.
Cool to see what's basically Quake1/doom style but this is a far fetch away from counter-strike. Although if netcode could be imagined and implemented I don't see why making a lower tier Counter-Strike wouldn't be doable. I'd play it if it were the quake style old-graphics version of CS that allowed for skill gaps.
Great article, love the nostalgic feeling.
Source had some insane rag doll. CS players weren’t ready for the physics and honestly, Valve spent a hell of a lot of effort to refine the physics for CS:GO to make it feel like CS1. Kudos to the dev teams.
I’d also love a Battle-bits CS version. (Battle-bits was a fun Battlefield low poly spoof).
Thank you for the kind words : )
I thought this would be about getting the actual Counter Strike to build, which is something they are also pretty good at. I had Claude debug an old C project of mine the other day and get it up and running.
Furthermore, if you have it sandboxed, you can also ask it to also install any necessary dependencies or toolchains, which is really nice.
Getting an old codebase working is something they are especially good at because it has regular, actionable feedback and it's clear when the tall is complete. Creating the "best" anything is much more open ended.
That's great!
Now show us the cost, the time it took, and how much babysit... sorry, "human supervision" was necessary.
Here's the full video:
https://www.youtube.com/watch?v=fm-OoCWQlmc
The only time I spent outside of the video was to deploy to Vercel. I made a bunch of speedups in the video, but didn't cut anything. The total time was about 2 hours.
I mentioned it in the post, but there was definitely some hand holding towards the end, where I don't think a non-programmer would have succeeded
Anthropic shared some approximate numbers on their Smart Contracts post. A 5h research assignment currently has an API cost of ~3.500USD.
What does 3.500USD mean? Are we bringing back the half-penny?
He’s European and uses a “.” instead of a “,”
Varies by country in Europe.
Varies by country on earth [citation needed].
You’re also not correct even if it were a decimal marker. Three dollars and fifty cents requires no half cent.
Specifying the second 0 implies portions of one cent. Like if I said something costs 10USD, the one dollar bill is implied to exist even if it isn't used (same with 10.00 implying the existence of a penny)
Yeah, AI is not going to replace programmers any time soon!
I'm impressed by this. You know in the beginning I was like hey why doesn't this look like counterstrike ? yeah I had the exepectation this things can one shot an industry leading computer game. Of course that's not yet possible. But still, this is pretty damn impressive for me.
In a way, they really condensed perfectly a lot of what's silly currently around AI.
> Codex, Opus, Gemini try to build Counter Strike
Even though the prompt mentions Counter Strike, it actually asks to build the basics of a generic FPS, and with a few iterations ends up with some sort of minecraft-looking generic FPS with code that would never make it to prod anywhere sane.
It's technically impressive. But functionally very dubious (and not at all anything remotely close to Counter-Strike besides "being an FPS").
Fitting.
It's not even technically impressive to anybody who has worked on first person shooters. It's literally trash.
look at the actual code output lol
For the benefit of those of us who don’t work in browser-based frontends, how bad could it be?
i mean it's the most bare-bones implementation without any engineering considerations
it's not something that would ever work industrially
people with code-generators they've made could do this just as fast as the AI except their generators could have engineering considerations built-in to them as well so it'd be even better
> people with code-generators they've made could do this just as fast as the AI except their generators could have engineering considerations built-in to them as well so it'd be even better
Code generators? Can you be more specific?
I think they're referring to the project scaffolding features that's built-in to framework tooling thesedays (e.g. `ng generate ng <schema>` or `dotnet scaffold`).
There's also the practice of using good ol' fashioned code-generation tools like T4 or Moustache/Liquid templates to generate program entity classes and data-access methods from a DB schema, for example. Furthermore, now there's pretty nifty compile-time code-generation in C# - while languages like F# support built-time type-generation.
...and these are all good tools IMO; but really aren't comparable to an LLM, imo.
As expected, gemini's is the worst. Excuse my bluntness, but their benchmark to real-life performance discrepancy has just been audacious at best...
is it thought? other than a particulary odd choice of graphics it plays better than gpt-5 and whatever the hell that movement on claude is.
Interesting that for all the hype, all the benchmarks - none of these 3 demos are anything close to Counter Strike.
This is the kind of thing that's so impressive that if you're not an (experienced) SWE you think "man LLMs are the future, and I am making some major decisions based on this". But you look at the code, and it's essentially gluing three.js and some DB stuff together. There's no lobby, no real interaction logic, no physics apart from what you get from three.js, chatting, commands, map editing, game modes.
In other words, this is slop. We know these new models can generate slop images, text, videos, and code. Sometimes slop can be useful; maybe you can shape it into something useful, maybe you can slop a slopper. But we're learning it's not economical--this is some of the costliest slop we've ever made.
This is the job a junior developer may deliver in their first weeks at a new job, so this is the way it should be treated as: good intentions, not really good quality.
AI coding needs someone behind to steer it to do better, and in some cases, it does. But still hasn't left the junior phase, and while that doesn't happen, there's still the need for a good developer to deliver good results.
There's no serious company who would do anything equivalent to "hey Jr Dev make me a Counterstrike", so examples like these do way more harm than good, because they give the impression of superpowers but this is really just the best they can do.
They're not thinking or reasoning or understanding. It's just amazing autocomplete. Humans not being able to keep themselves from extrapolating or gold rushing doesn't change that.
> man LLMs are the future
They are. I know a lot of people don't want to admit this, but they are. They're getting better with each release.
> But we're learning it's not economical--this is some of the costliest slop we've ever made.
Huh? How on earth would you know whether my usage of LLM's has been worth it or not?
> Sometimes slop can be useful; maybe you can shape it into something useful
Man, I just spent the last 2 weeks with a CEO who got a Bolt.new subscription to be able to generate some high-level mocks ups for me to utilize that just saved us months of back and forth.
You know what's the best part? Those same mockups can be used to gather user feedback with a functioning UI without me having to spend weeks building it and it ending up wrong anyway.
Sometimes it irks me, but now I've sorta come to embrace devs like you. You're guaranteeing I have a job because you refuse to acknowledge the very obvious thing that's happening.
> You're guaranteeing I have a job because you refuse to acknowledge the very obvious thing that's happening.
I’ll take that bet.
Awesome.
We're not disagreeing. Your best example is throwaway mocks: temporary slop, which these models are good at, but all the costs and externalities are hidden from you. They're not actually economical to use (even if you don't consider training etc as part of the cost, which is ridiculous as they're some of the costliest things humans have ever done).
This is very impressive. That said, 1st person shooters seem like the less interesting type of game to create with an LLM nowadays. I'd much rather see a large world mystery game, for example. Think something like "All Her Fault", where you're the mom and you show up to pick up your kid and the game starts there -- and you need to find your kid. I would fine a game like that something that we probably couldn't do well w/o AI, but now, I think it might be doable.
The most impressive thing about this wave of AI is the speed of the goal posts.
The initial goalpost was "create a bad clone of a famous game"?
It failed to make counter strike, moving on to something that can actually take advantage of AI.
how exactly are the goal posts moving?
the code and output is literal slop
it's not known how much editing and debugging was done by the team either
you could have done this in 2022 with not that much debugging as well
Neat. FYI all the images on the site are TINY - might be a good idea to make add an interactive lightbox to them so we can see them without right-clicking and opening in a new tab.
Good idea! Added the PR for it here:
https://github.com/instantdb/instant/pull/2010
Once this lands lightbox should be up. Thank you!
Update: fixed!
A little meaningless with one-shot, should try recreating a few times per model and see what the variance looks like.
That's really cool, makes me want to try building a 3d game myself. I've only made 2d ones so far. Personally prefer the gemini version.
Whoever was insta-killing me in the gemini version over and over.... FUUUU!!!!
they forgot to ask gemini to implement a rootkit for anti-cheat!
I forgot what site it was but there used to be an online and browser playable CS 1.6. I don’t know if it was open source or not but there’s definitely code out their for this stuff so wouldn’t be surprised the models were trained on it.
https://play-cs.com/en/servers
[dead]
Damn this is cool. Imagine an LLM trained extremely well on something like Unreal Engine.
A lot of the work done when making games in Unreal is done in the editor, not in source code.
Also, Unreal source code will be the very last thing LLMs understand. This is the most complex software ever.
There’s an algorithm called Nanite for automatically reducing the triangle count on geometry that’s far from the camera. As in there are not manually made separate level-of-detail models. The algorithm can modify models, reducing quality as they get farther.
This one algorithm is a tiny piece of the engine yet has a 1,000 page white paper.
Also, even when I don’t know how something works algorithmically, usually I at least have some intuition about where to start. I haven’t the slightest idea how to approach this problem.
No way. Take baby steps. Write an operating system first. Write a compiler first.
Here's a blog post[1] from last year regarding an open-source implementation of virtual geometry. The linked code is maybe a couple thousand lines. It's not something you'd write in an afternoon, but it's also not the towering monument of complexity that Epic Games pretends it is.
[1]: https://jms55.github.io/posts/2024-06-09-virtual-geometry-be...
Edit: I don't mean to sound disparaging - it's some genuinely cool algorithms. It's just that Epic is incentivized to hype it up, and so you get a huge paper and multiple talks that are designed to make it seem even more impressive.
Nice article-as-ad for their DB product. The product itself reminds me of MeteorJS, which seemed like it could take over in ~2016, and then... didn't.
Plagiarism is ugly after-all
Can't wait to see this at the Game Awards in a week or so.
These guys don't know what they don't know:
"Now let's make shots work. When I shoot, send the shot as a topic, and make it affect the target's HP. When the target HP goes to zero, they should die and respawn."
This is not how shooting is implemented in a competitive first person shooter.
"At the end, all models built real a multiplayer FPS, with zero code written by hand! That’s pretty darn cool."
If you don't understand how a multiplayer FPS works, how can you tell if the AI has actually created one for you or not?
Many children who play videogames can tell you what a multiplayer FPS is, and most of them don't know how to code it.
I did not say what a multiplayer FPS is. I said "how a multiplayer FPS works".
There is a difference.
I agree that this is not how shooting is implemented in a production competitive shooter, but that wasn't the goal of the post. We wanted to test how far models could go, and I think this current version is the limit in a 2 hour time window.
I think you could have an infinite amount of time and you still wouldn't be able to create a real first person shooter.
Right, but you don't need to know how it works to know if it is one. Unless I'm misunderstanding this part: "how can you tell if the AI has actually created one for you or not?"
I interpreted that as "I asked the AI to make me one, and now I have one, so it did it," with the operative question being "is it really a multiplayer FPS?"
I'm a professional game developer who has worked on real multiplayer first person shooters. My bar for "is this a real first person shooter" is a lot higher than yours.
My bar is, does this actually work and is it best practice for how first person shooters are made by professional game developers.
Your bar is, does it kinda look a bit like the thing that I play?
Totally different things.
Agree to disagree, then.