• Notice regarding image hosts and attachments. See here.

AI Models thread

Using coding agents and vibe coding are not the same thing.

Absolutely, and it's getting quite frustrating how this is being missed in wider conversation. But writing code and reading code aren't the same thing, just as with most things doing has a different impact on you than observing someone else doing it or being taught about it. Maybe that's not a problem, and for grey beards like you and I maybe the accumulated knowledge of years is enough to keep going with, but it seems to me like it will be.
 
Last edited:
I've had Opus 5.5 ripping through a huge set of stories for the past 48 hours non-stop with basically no intervention other than approvals.
 
In a way I'm lucky that my trade is game development, because games are fundamentally an emotional product, the aim is to put the software in front of a player and have them feel some emotions, and LLMs will never be able to do that part. The crafting of a gameplay experience is a uniquely human skill. If I was just producing enterprise software in this environment I would be pretty uninspired with the career outlook tbh!

Games are going to be one of the hardest areas for AI to really replace a good human coder or be anything more than an assistance tool especially with breaking new ground with technical innovations, though as I've mentioned before I'd turn to AI every time when doing stuff like writing mundane shaders for the 1000th time.

I'm curious if AI could ever do what I did recently with taking the Quake 2 RTX source code and adding a mouse driven UI implementation in purely server code interfacing with and massively misusing the HUD drawing routines in the client, without touching any client code - even if I only did that out of curiosity if it could be possible rather than any practical application. There are so many hurdles to overcome in terms of understanding and seeing where you can abuse the message protocol used to send the HUD layout, working around the update rate of the network and HUD layout update rate, misusing the player's 3D view angles to translate it back into something useable for the 2D screen while also locking the 3D view updates, etc. etc. sure some aspects of that you could use AI to assist with but I highly doubt any model any time soon could understand all those challenges and how to overcome them.
 
Games are going to be one of the hardest areas for AI to really replace a good human coder or be anything more than an assistance tool especially with breaking new ground with technical innovations, though as I've mentioned before I'd turn to AI every time when doing stuff like writing mundane shaders for the 1000th time.

I'm curious if AI could ever do what I did recently with taking the Quake 2 RTX source code and adding a mouse driven UI implementation in purely server code interfacing with and massively misusing the HUD drawing routines in the client, without touching any client code - even if I only did that out of curiosity if it could be possible rather than any practical application. There are so many hurdles to overcome in terms of understanding and seeing where you can abuse the message protocol used to send the HUD layout, working around the update rate of the network and HUD layout update rate, misusing the player's 3D view angles to translate it back into something useable for the 2D screen while also locking the 3D view updates, etc. etc. sure some aspects of that you could use AI to assist with but I highly doubt any model any time soon could understand all those challenges and how to overcome them.
I think you’d be surprised what frontier models can do now, even given the constraints. They’re well able to understand 3D space and come up with genuinely novel solutions. Fable 5.1 rooted out some quite obscure edge case bugs in my 3D navigation system I’d never noticed.
 
I think you’d be surprised what frontier models can do now, even given the constraints. They’re well able to understand 3D space and come up with genuinely novel solutions. Fable 5.1 rooted out some quite obscure edge case bugs in my 3D navigation system I’d never noticed.

Unfortunately it is difficult to explain the challenges to anyone who hasn't spent extensive time with modding Quake 2 or working on a game using the underlying engine but it requires quite some out of the box thinking to work around the limitations and some pretty intimate knowledge of the engine itself.
 
Unfortunately it is difficult to explain the challenges to anyone who hasn't spent extensive time with modding Quake 2 or working on a game using the underlying engine but it requires quite some out of the box thinking to work around the limitations and some pretty intimate knowledge of the engine itself.
That’s all irrelevant if you just give it the source code, all the information about the problem space it needs.
 
That’s all irrelevant if you just give it the source code, all the information about the problem space it needs.

If you had a good enough understanding of the problem and engine limitations then you could iteratively use an AI agent to produce the component parts, but you couldn't just give it a high level prompt and get anything useful, this is a problem especially with game engines and especially older games.

For example if you fed it the full source code and said "implement a radar showing the position of hostile NPCs" it could probably go away and do that, if you said (and there are reasons to do this) "implement a radar showing the position of hostile NPCs using only the gamex86/base server code" it would likely fall flat on its face and produce completely unworkable code (or something really hideous if it partially cracked it).

EDIT: And I have no idea of the breadth of your experience with different game engines but I think a lot of game developers' minds would be blown if they had to spend awhile implementing modern game features within the scope of the original limitations of the Quake 2 engine and the problem solving it requires heh.
 
Last edited:
If you had a good enough understanding of the problem and engine limitations then you could iteratively use an AI agent to produce the component parts, but you couldn't just give it a high level prompt and get anything useful, this is a problem especially with game engines and especially older games.

For example if you fed it the full source code and said "implement a radar showing the position of hostile NPCs" it could probably go away and do that, if you said (and there are reasons to do this) "implement a radar showing the position of hostile NPCs using only the gamex86/base server code" it would likely fall flat on its face and produce completely unworkable code (or something really hideous if it partially cracked it).

EDIT: And I have no idea of the breadth of your experience with different game engines but I think a lot of game developers' minds would be blown if they had to spend awhile implementing modern game features within the scope of the original limitations of the Quake 2 engine and the problem solving it requires heh.
I’m not trying to downplay the challenges of working within limitations enforced by technology or engines at all, been and done plenty of it, and I agree it is probably the most interesting and rewarding aspect of software development

But I think you would be surprised (and depressed :P) at what frontier models can do now. Even as opposed to just a few months ago.

I might set a model trying to solve your challenge later if I have some time :)
 
If you had a good enough understanding of the problem and engine limitations then you could iteratively use an AI agent to produce the component parts, but you couldn't just give it a high level prompt and get anything useful, this is a problem especially with game engines and especially older games.

Just giving it a high level prompt and hoping for the best just isn't a good way to get good work out of models full stop. I can't say whether they'd work with the particular example you have in mind, but I would be surprised if they can't do it with a bit of guidance and the proper setup to keep them on the rails. Apart from anything else I'd presume that since there's an active and open Quake II modding community online they'll have ingested a whole bunch of existing mods into their training data.
 
I asked Astra what it thought about it's chances @Rroff ... :)

I’d start with the radar because it tests the central constraint with fewer moving parts. The mouse UI adds harder questions about extracting mouse movement from view-angle input, holding the camera still, and keeping the interface responsive despite network and HUD update limits.

My approach would be to inspect the actual source, trace what the unchanged client can receive and display, then build and test small experiments. Those are plausible engineering tasks for me; I wouldn’t need you to supply each workaround. However, an apparently convincing patch that compiles would not establish that I’d solved them.

Rroff’s caution about engine limitations is justified. His stronger claim—that a model cannot discover the necessary workarounds from a high-level request—is something we can test. Equally, “just give it the source” understates the importance of running the result and observing its behaviour.

The fair test would be a working demonstration on an unchanged Quake II RTX client, with all changes confined to the agreed server/game-module code. I’d be willing to take that test; I wouldn’t promise the outcome in advance.

Opus had this to say:

Probably yes, especially the radar. The mouse UI is harder, but I can see a route through it. One caveat up front: everything below comes from memory of the Quake 2 and Q2PRO code (Q2RTX’s client is based on Q2PRO). I haven’t opened the Q2RTX source in this session or built anything. Rroff’s real point is that you hit the walls when you build it, so the only honest test is to try.

Here’s how I’d approach it. You can judge whether I’ve understood the constraints.

The radar, using only game DLL code​

  • How the game DLL can draw at all. Game code can’t draw anything itself. It can send a layout string (svc_layout via gi.WriteByte/gi.WriteString/gi.unicast). The client’s layout interpreter runs that string while bit 1 of STAT_LAYOUTS is set. It’s the same path the scoreboard and help computer use. The radar becomes a string of xr/yt positioning commands followed by string/string2 draws, one per blip.
  • Drawing each frame. For each client, find the live SVF_MONSTER entities. Take each one’s offset from the player, rotate it by the player’s yaw, scale it, and clip to the radar radius. Use a different character, or string2, to show whether a monster is above or below you.
  • Problems you hit:
    • Send it unreliably (gi.unicast(ent, false)). A dropped packet then just leaves the radar one frame old, instead of piling up in the reliable stream until it overflows.
    • The layout buffer is small (around 1KB in vanilla). You have to cap the blip count, drawing the nearest monsters first.
    • The scoreboard, inventory and help all share the one layout, and they clear STAT_LAYOUTS. The radar has to merge with them or step aside.
    • The statusbar configstring looks like a way to send the layout once. It doesn’t help much, because xv/yv only take fixed numbers and there are only 32 stats, so blips can’t move without a big grid of if cells.

The mouse UI​

  • Locking the view. The client only uses its own predicted angles while pm_type < PM_DEAD. Set PM_FREEZE and it renders the server’s ps.viewangles instead. The 3D view stops following the mouse, but the mouse still changes the angles in every usercmd.
  • The cursor. In ClientThink, take the difference between this command’s ucmd->angles and the last one’s. Subtracting as shorts handles wraparound. Scale that to virtual screen coordinates, clamp it, and treat a fresh BUTTON_ATTACK press as a click. Firing has to be suppressed while the UI is open.
  • Running out of vertical mouse. The client clamps pitch to about ±89° relative to delta_angles, so moving the mouse vertically eventually stops doing anything. The fix is for the server to keep rewriting ps.pmove.delta_angles[PITCH] to re-centre it. That change takes a round trip to reach the client, so the server has to allow for the delay.
  • Update rate. The vanilla game runs at 10Hz, so a layout cursor moves at 10Hz plus network latency. One alternative is to draw the cursor as an entity in the world just in front of the locked camera. The client smooths entity movement between frames, so it looks smoother, but adds about a frame of delay. I’d want to try both and see which feels better.

Where I’d actually struggle​

The exact mapping from mouse movement to screen pixels under Q2PRO’s HUD scaling, whatever Q2RTX changed in its client, and how the cursor feels in use. Reasoning won’t settle those; building and running it will. I partly agree with Rroff that a one-shot answer to a high-level prompt would likely ship with bugs. Given the source, a compiler and the running game, though, the process is the same iterate-and-test loop a human would use.

I could do it for real: clone NVIDIA/Q2RTX, change only src/baseq2, build the game DLL, run it with the shareware data that ships with Q2RTX, and screenshot the result. To do that I’d need to know:

  • whether this machine has a ray-tracing-capable GPU and Visual Studio/CMake installed;
  • whether you want the radar, the mouse UI, or both
 
Last edited:
Interesting mix of half getting it, some insight as to the stat layout complication but whether it can solve it iteratively is another matter.

The stuff below that ironically is just regurgitating my posts on it without actually understanding the problem. (Interestingly it has expanded some of what I've previously posted with actual architecture details such as BUTTON_ATTACK which I don't think I explicitly mentioned but without knowledge of all the processes - such as while that stops guns from firing while using attack as an input button that doesn't stop accidental launches of hand grenades).
 
Last edited:
Interesting mix of half getting it, some insight as to the stat layout complication but whether it can solve it iteratively is another matter.

The stuff below that ironically is just regurgitating my posts on it without actually understanding the problem. (Interestingly it has expanded some of what I've previously posted with actual architecture details such as BUTTON_ATTACK which I don't think I explicitly mentioned but without knowledge of all the processes - such as while that stops guns from firing while using attack as an input button that doesn't stop accidental launches of hand grenades).
Yeah it had a bit of your context as well, literally just pasted in about 6 comments and said do you think you could complete this challenge?

Would be interested to see if it could but I don't have the source code to set it up (or the spare usage)
 
Yeah it had a bit of your context as well, literally just pasted in about 6 comments and said do you think you could complete this challenge?

Would be interested to see if it could but I don't have the source code to set it up (or the spare usage)

The last source release of the RTX version has a bunch of compiler environment/configuration issues anyhow - probably something AI could solve funnily enough.
 
Last edited:
Are any LLM's as good as Claude Code? I've been using QWEN 3:14b and also QWEN 3.8:27b (bit of a struggle on a 5070 Ti) when feel 3 isn't good enough. Both struggled at a particular task, getting it wrong multiple times and not implementing a simple rule. I gave the code to Claude (Sonnet 5.5 I think) and it got it right first time. Same code, same prompt.
I'm still experimenting, and it might be in this due to the language being less widely used, but is there anything as good as or closed to the closed source models?
 
Last edited:
Are any LLM's as good as Claude Code? I've been using QWEN 3:14b and also QWEN 3.8:27b (bit of a struggle on a 5070 Ti) when feel 3 isn't good enough. Both struggled at a particular task, getting it wrong multiple times and not implementing a simple rule. I gave the code to Claude (Sonnet 5.5 I think) and it got it right first time. Same code, same prompt.
I'm still experimenting, and it might be in this due to the language being less widely used, but is there anything as good as or closed to the closed source models?
The big models like Claude Opus are upwards of 2 trillion parameters, so they are always going be in a different league to small open weights like Qwen 3.8 with only 27 billion parameters.

I have tinkered with the smaller models and they are fine for doing busywork, going and doing specific tasks that they've been clearly instructed on.....but for more open-ended tasks, troubleshooting, bug fixing, architectural work, the bigger models are more or less required.

You can get full-fat 2 trillion parameters open weight models, like GLM, Deepseek, but you need an absolute monster machine to run them (750GB+ VRAM).

There are some increasingly good open weight distils like GLM 5.3 flash, Deepseek V4.1 Flash that are very close to Claude Opus, OpenAI Sol in terms of their capabilities, but at a fraction of the price. I use these through Openrouter for doing adversarial reviews of Claude's work.

It's quite handy to use Openrouter to try out different models, I always have a play with the latest ones as they come out. At some point Anthropic are gonna start charging sensible prices for Claude and we'll have to adapt or switch. My custom tracking software tells me I've used $800 worth of Claude in the past two weeks on my £90/month plan :D
 
It's quite handy to use Openrouter to try out different models, I always have a play with the latest ones as they come out. At some point Anthropic are gonna start charging sensible prices for Claude and we'll have to adapt or switch. My custom tracking software tells me I've used $800 worth of Claude in the past two weeks on my £90/month plan :D

Bit of a loss leader pricing model at the moment then. Will be interesting when people's bills go from £90/month (1080/year) to £1200/month (14,400/year).
 
Last edited:
Bit of a loss leader pricing model at the moment then. Will be interesting when people's bills go from £90/month (1080/year) to £1200/month (14,400/year).
Well at the moment it's very much a case of making hay while the sun is shining, and just making the most of the subsidised inference. I don't need to be using Opus for everything, but I might as well as long as I have the usage.

This is why I experiment with lighter models, to make sure I can switch to full API rate pricing when I need to. Deepseek V4 Flash was definitely a turning point where I felt I could get by on API pricing when I need to, and they are only going to get better.
 
Are any LLM's as good as Claude Code?

Are you using a harness? Quite a large part of what makes Claude Code good is the "Claude Code" bit rather than the model itself. The stuff which will run on my 3070 just isn't capable of the job so I haven't experimented much myself but from what I understand Open Code is decent. None of the local stuff really reaches the level of Claude Code (or rivals) but it has the advantage of cost and control, and put into the right harness it can do good work for you especially when you're AFK and just leave it cooking -- at least that's what I see from other's online.
 
Are you using a harness? Quite a large part of what makes Claude Code good is the "Claude Code" bit rather than the model itself. The stuff which will run on my 3070 just isn't capable of the job so I haven't experimented much myself but from what I understand Open Code is decent. None of the local stuff really reaches the level of Claude Code (or rivals) but it has the advantage of cost and control, and put into the right harness it can do good work for you especially when you're AFK and just leave it cooking -- at least that's what I see from other's online.
Opencode is good, in fact I prefer the presentation to Claude Code.

Everyone using Claude Code should also setup Opencode and Openrouter....firstly so you have a backup if Claude is down, secondly so you can easily try out new models and be ready for teh usage-pocalypse :D
 
Are you using a harness? Quite a large part of what makes Claude Code good is the "Claude Code" bit rather than the model itself. The stuff which will run on my 3070 just isn't capable of the job so I haven't experimented much myself but from what I understand Open Code is decent. None of the local stuff really reaches the level of Claude Code (or rivals) but it has the advantage of cost and control, and put into the right harness it can do good work for you especially when you're AFK and just leave it cooking -- at least that's what I see from other's online.
There are so many tools, configurations out there that's it's a bit overwhelming. Where do I start? What setup should I have, which tools? :D
I've been using Ollama & Aider and run aider from a batch file so I can switch between models (one batch file per model I use).
 
Last edited:
Back
Top Bottom