High performance algorithms are quite well documented so it isn't unreasonable to expect an LLM to apply them appropriately when given the ability to "see" where they need to be applied.
High performance algorithms are quite well documented so it isn't unreasonable to expect an LLM to apply them appropriately when given the ability to "see" where they need to be applied.
> High performance algorithms are quite well documented
That may be true for bloom filters or what have you. But the author states the obvious: all recent games are closed-source. So any algorithms or techniques for real-time 3D that an LLM was trained on are going to be a long way behind the state of the art. The author makes that point extremely clearly, and they have credibility.
> this reads a lot like someone who decided how they feel about LLM-driven engineering ~5 months ago
TFA? No. Your comments here? Yep. Try to imagine a world where different kinds of work have different applicability of tools.
Neither you, nor the author of the article has to use LLMs for coding. But if you want to, there are some practices you should follow to get best results, and that includes setting up your environment to give the agent the best chance for success. If you have various rules that are non-obvious, you add them to your AGENTS.md file (as we have at my corp and in my little niche). The agent will then follow those rules, and learn from the surrounding code.
I'll just be blunt here - I don't believe the author would have done anything more than the bare minimum to test his pre-existing bias that coding agents are bad. I don't believe he would have put the effort into getting it writing good quality code to suit the project he was working in.
We write high performance, low latency java for trading systems. Our codebase is highly structured around this and the READMEs and AGENTs file contain the information for how to successfully write code like this, originally for human consumption, and now agents.
And it works. So, I don't trust the article.
By the same logic, you have experience in low-latency numerical decision-making, ergo you could optimise a 3D rendering pipeline.
Yeah, no.
I have a suspicion that a lot of the stuff people use AI coding agents for would be served just as well by, say, the WYSIWYG editor from Visual Basic 6. But we threw away that kind of technology long ago and settled for Reactslop, and now you need an LLM to write the Reactslop.
The agent will already have seen enough super optimised code and read enough material about it. It will read the entire repo you're in, and understand how the code should be structured and written to work efficiently. And anything it doesn't get at first, you write about in the AGENTS.md file and tell it.
Then it works. If you can teach a human to write specialised 3d rendering code, you can distill the same teachings to an agent in text form, and it'll work.
I am supremely confident of this, and I bet that neither you nor the author of the article has bothered to try properly.
American Fuzzy Lop usually manages to generate valid files of any format you want, using a genetic algorithm that the author didn't even call ML. AlphaGo trained against itself.
Such things aren't impossible when you can automate the reward function, though you might have to come up with novel techniques.
Unless you yourself are doing commercial game development, calling the author disingenuous puts your own pro-AI bias on display. It’s based on speculation. I prefer to take his very specific examples and experiments at face value.
If performance were truly critical, they wouldn't have been using Unity in the first place. They would have used Unreal, as mentioned earlier. And if they were sticking with Unity, they would have tried ECS.
Unity is fundamentally based on the template method pattern. The idea of pulling Update out and handling it in a single manager class is really more of a small scale indie game approach. It's a technique that scales very poorly.
In practice, there are many better optimization techniques for GameUpdateable. So I'm not sure why this particular example was used to demonstrate performance optimization.
Typically, you could use GameUpdateable with object pooling, which would be a safer approach. There are also many batching techniques available.
In other words, this isn't about performance. It's a technique used for small indie game development. By handling it directly through a manager, registration and removal no longer depend on the Unity framework and become manually scheduled by the user. This, in turn, means you have to handle many more edge cases, which creates additional work. This is a common pattern, sacrificing future extensibility for immediate performance gains.
It's a technique used in small indie games. Converting per frame Update callbacks into a central loop that iterates over all objects is where GameUpdateable would actually be a better choice. So rather than viewing this as an optimization for performance, it should be understood as a design choice made to make small games easier to manage.[1]
[1]https://docs.unity3d.com/Manual/events-per-frame-optimizatio...
I’ve done plenty of performance architecting in my day-job and rule #1 is generally “you can’t fix what you can’t see/measure”. I have a suspicion that many folks aren’t investing in letting AI actually introspect iterative execution via the appropriate harness, and are then acting surprised that it is no oracle.
Since, I'm assuming you are not a professional game developer, the parallel is speculative and sort of reaching. Therefore, is it feasible to you the author of the blog knows better than you what tools work for his chosen field and that he came to the conclusions he did in good faith?