50 comments

[ 3.8 ms ] story [ 76.1 ms ] thread
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).

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.
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.
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.

Still amazes me that the upfront cost of determining which triangles to render or not could ever net a gain in performance.
(comment deleted)
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.
(comment deleted)
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

Preetham is the author of the paper that defines this algorithm from 1999:

  https://tommyhinks.com/2009/02/10/preetham-sky-model/

  https://tommyhinks.com/wp-content/uploads/2012/02/1999_a_practical_analytic_model_for_daylight.pdf
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.

(comment deleted)
I also noticed that AI agents commit many copyright infringements with the work of Mr Dijkstra.
The idea that someone could hold copyright over such a tiny snippet of code is just as stupid as LLMs regurgitating them.
A lot of computer graphics algorithms are named after their authors
If only this particular regurgitation engine took a minute to check their work.
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.
Yeah, AI is not going to replace programmers any time soon!
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.
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.
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 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.
Can't wait to see this at the Game Awards in a week or so.
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

(comment deleted)
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.
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.
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 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.

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 ?

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.

> 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.

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.
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.

Interesting that for all the hype, all the benchmarks - none of these 3 demos are anything close to Counter Strike.
A little meaningless with one-shot, should try recreating a few times per model and see what the variance looks like.