ChatGPT o3 Mini-High (Can it code for DECORATE?)

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
User avatar
Kontra Kommando
Posts: 968
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Kontra Kommando »

I see that it can write this from a simple prompt in python:

https://x.com/Yuchenj_UW/status/1885416559029740007

I tried it for DECORATE asking it to make a DoomImp that fires three Doomimpballs in a row:

// ------------------------------------------------------------------ // TripleShotImp: A Doom Imp variant that fires three DoomImpBalls in a row. // ------------------------------------------------------------------ actor TripleShotImp : DoomImp { // Optionally, override properties such as Health, Speed, etc. // Example: Health 200 States { Spawn: // Standard DoomImp spawn frames. IMP A 10 Loop See: // Standard chase state. IMP A 3 A_Chase Loop // The attack (missile) state: fire three DoomImpBalls sequentially. Missile: TNT1 A 0 A_FaceTarget // First shot: fire DoomImpBall with an angle offset of -10°. TNT1 A 0 A_CustomMissile("DoomImpBall", false, -10, 0, 20, 0) TNT1 A 8 // Second shot: fire DoomImpBall straight ahead (0° offset). TNT1 A 0 A_CustomMissile("DoomImpBall", false, 0, 0, 20, 0) TNT1 A 8 // Third shot: fire DoomImpBall with an angle offset of +10°. TNT1 A 0 A_CustomMissile("DoomImpBall", false, 10, 0, 20, 0) Goto See } }
Heisanevilgenius
Posts: 82
Joined: Wed Dec 15, 2021 8:38 pm
Graphics Processor: nVidia (Modern GZDoom)

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Heisanevilgenius »

I think this is a perfect illustration of why you shouldn't trust ChatGPT.

It's honestly easier to just copy the Decorate data on the wiki for the DoomImp and then change the part where you want the three fireballs.

According to the code you posted:

1. The Spawn state doesn't have A_Look, so the imp won't even see or react to players, and will not attack unless you hurt it. It also only has the A frame, so unlike a normal imp that will animate while waiting, this imp stays perfectly still.
2. The See state only has the A frame for A_Chase, and not AABBCCDD like normal. So it will move, but it won't animate. It'll just slide around.
3. All of the missile frames use TNT1 A as the graphics, which makes the imp completely invisible while attacking.
4. A_CustomMissile is deprecated, but should still work except for some reason the spawn height is written as "false". I have no idea if that works as default or not. Either way, it seems to have the flags set to 20, which is nonsensical behaviour.

That's just what I see.
User avatar
Kontra Kommando
Posts: 968
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Kontra Kommando »

I guess the "high" in the model name means it produces code as if it were. Oh well.
Heisanevilgenius
Posts: 82
Joined: Wed Dec 15, 2021 8:38 pm
Graphics Processor: nVidia (Modern GZDoom)

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Heisanevilgenius »

I would suggest just copying the imp entry from the wiki and changing the Missile block to the following:

Code: Select all

  Missile:
    TROO EF 8 A_FaceTarget
    TROO G 10 A_TroopAttack
    TROO G 10 A_TroopAttack
    TROO G 10 A_TroopAttack
    Goto See
I made a guess that 10 frames apart for each attack is what you'd like, but you can change the 10 to another number to make it faster or more spread out.

If you want to fire them in a spread like ChatGPT suggested, try this:

Code: Select all

  Missile:
    TROO EF 8 A_FaceTarget
    TROO G 10 A_CustomComboAttack("DoomImpBall", 32, -7 * random(1, 8), "imp/melee")
    TROO G 10 A_CustomComboAttack("DoomImpBall", 32, 3 * random(1, 8), "imp/melee")
    TROO G 10 A_CustomComboAttack("DoomImpBall", 32, 13 * random(1, 8), "imp/melee")
    Goto See
User avatar
Redneckerz
Spotlight Team
Posts: 1109
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Redneckerz »

I would suggest actually learning the different script languages and feeling a sense of reward as a result as opposed to testing out (or using) ChatGPT given its ecological footprint.

AI as it is today sadly is yet another ''shortcut'' for idea folks who finally, finally have an easy enough way to see their idea come to failed fruition. Failed, because most of the time the code either doesn't work or isn't complete.
User avatar
Enjay
 
 
Posts: 26874
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Enjay »

It's pretty clear that the AI we have at the moment isn't even really AI at all, in as much as it's not intelligence. It merely has a huge database and, using that data, can predict what is likely to come next by using patterns, algorithms and by quoting from other (dare I say stolen?) data. There is no thinking, or consciousness. If you ask ChatGPT itself, it will even confirm that it is not AI. Mind you, if you ask ChatGPT about a lot of things, its answer is often wrong, inaccurate and it rarely has the ability to take account of any nuances. Only a Sith AI deals in absolutes. So, maybe it is wrong about its own intelligence. :trippy:

Whatever Google uses seems to give answers with some inaccurate or misleading content about 50% of the time and is just plain wrong about 10-15% of the time. I wonder how many people have gone away from their Google search, confident that they have been given correct information when they haven't? All I know is that I wish it didn't put that nonsense at the top of my searches. In fact, Google has been getting worse and worse. As an example, it used to be the best way to search the ZDoom wiki. Just type something like "[acsfunctionname] zdoom wiki" and it used to take you to the page far more reliably than the Wiki's own search. Now it's much more hit-or-miss. Enshittification. It's like they are trying to promote DuckDuckGo.

And I don't know if you have ever tried to persuade ChatGPT that it has given a wrong answer, but it's almost impossible to get the correction to stick. You can tell it that it is wrong, and it will acknowledge your correction, but then, moments later, go ahead and repeat the same error the very next time you ask. I assume that's because it still falls back to its pattern recognition and your correction doesn't fit with it.

Maybe one day there will be something more like actual artificial intelligence, but it's certainly a misnomer to call what we have right now intelligence.
User avatar
Kontra Kommando
Posts: 968
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Kontra Kommando »

I've coded with ChatGPT for other stuff, and it does require a lot of supervision. I was able to produce successful code in R, and Ubantu WSL, by copy and pasting the example script and asking it to modify it, with a great amount of trial and error.

As for DECORATE, I do agree that the most optimal way to produce working script is to simply modify the example in the wikis.

Right now, I think LLM is interesting, and can be used for productivity with a lot of supervision. But it really has a long way to go.
User avatar
phantombeta
Posts: 2149
Joined: Thu May 02, 2013 1:27 am
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support
Location: Brazil

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by phantombeta »

Enjay wrote: Mon Feb 03, 2025 4:52 pm [snip]
Whether it really is "AI" or not (according to the specific definition used by many in the AI field for decades now, it is, just not general), ChatGPT in general is pretty crap. It's poorly trained, and then poorly fine-tuned in a way that makes it worse and even more likely to spit out bullshit.

I've used Claude 3.5 Sonnet and DeepSeek (with "DeepThink", anyway) for minor coding tasks, doing boring things like writing visualizations for algorithms (writing those sucks :blergh:) and figuring out maths for things I couldn't easily find by searching the internet (e.g. AABB-line swept collision tests) and those have worked far better, whereas ChatGPT has only given me unusable results.

Claude was even able to write a proper demo/visualization for this NPC movement algorithm with Raylib-cs, entirely from a bullet-point summary I gave of it and a list of features I wanted. It worked perfectly on the first try, aside from it using some outdated ALLCAPS constant names instead of the current PascalCase ones, and some minor bugs I found when reimplementing it in ZScript. (some divisions by zero that I, the human using it would have made, and wouldn't have noticed either until they happened ;))
It even taught me a new trick for "normalizing" numbers when they can be negative: (x + Maximum) % Maximum. It's valid for the range [-Maximum, ∞], very useful for when you're adding negative offsets to an array index :-D

I personally don't use it for more than that (I wouldn't bother trying to get them to write a whole program), but for these more minor tasks? They can honestly be pretty useful.
User avatar
Enjay
 
 
Posts: 26874
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Enjay »

I'm not saying that "AI" isn't useful. I know plenty of people who use it for the things it's good at, I've even done so myself. I'm just saying it's not truly an "intelligence" (as both the advertising and the fear-mongering often claims it is), and that there's already an over-reliance on it in some places, and in many of those places it isn't actually good enough for what it is claimed to be able to do.

It's also the current selling-point buzzword for just about every product ever (regardless of whether any AI has actually been involved). You want a new washing machine? Let's shove some AI in there. Vacuum cleaner? AI. Hair tongs? AI. etc.
However, I did read an article a few months back saying that this might be misfiring a bit. Apparently the public are becoming both fed up and wary of products that claim to have AI, and are seeing it as little more than an advertising fad, or somehow associated with spyware/scams. Of course, it was written by a technology journalist who (you would hope) should be immersed in, and au fait with, these kinds of things. Whether his views and that of the general public actually align, I really don't know.
User avatar
Kontra Kommando
Posts: 968
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Kontra Kommando »

A lot of it is definitely marketing, hopefully now that China is basically producing similar LLM it will force American AI companies to step up their game. Also the fact that it is free should help bring down the laughable $200 a month price tag to use the most sophisticated models. I would try Deepseek, but I am concerned about privacy.
User avatar
MartinHowe
Posts: 2055
Joined: Mon Aug 11, 2003 1:50 pm
Preferred Pronouns: He/Him
Location: East Suffolk (UK)

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by MartinHowe »

AI is basically the new Snake Oil; overhyped, overblown, and over here :lol: Yes it has some uses, but it's not intelligent at all, just awk on steroids. Real AI will be a game changer, if it ever exists in our lifetimes, but there could be ethical issues, particularly if it has to be sentient in order to work.
User avatar
Kontra Kommando
Posts: 968
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Kontra Kommando »

The current limitations of LLMs are clear. However, I believe that once these models can produce viable scripts and dedicated tools emerge to leverage LLMs for modding, we could see a surge of vitality in the Doom modding community. This development may be years away, but I am confident it will happen.

What makes Doom popular, in my opinion, is the relative ease with which players can create maps and mods. That said, the process remains somewhat esoteric and demands significant time and effort. Streamlining and simplifying this aspect would likely boost both interest and productivity in the community
User avatar
Redneckerz
Spotlight Team
Posts: 1109
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Redneckerz »

Kontra Kommando wrote: Mon Feb 10, 2025 3:21 pm The current limitations of LLMs are clear. However, I believe that once these models can produce viable scripts and dedicated tools emerge to leverage LLMs for modding, we could see a surge of vitality in the Doom modding community. This development may be years away, but I am confident it will happen.

What makes Doom popular, in my opinion, is the relative ease with which players can create maps and mods. That said, the process remains somewhat esoteric and demands significant time and effort. Streamlining and simplifying this aspect would likely boost both interest and productivity in the community
I'd love for this to never happen. Level generators get away with this because they use procedural generation and don't rely on AI (and the results are honestly pretty good these days). But no, i prefer any kind of code, whether it be DECORATE, ZScript, heck even ACS, to be hand-made.

Imagine the kind of insanity that would be required to replace the kind of ACS code ZDaemon modders employ. Disregarding its position in the community, the things they have produced with their ACS is incredibly impressive, such as ZDaemon City.
anthraxthanasimos
Posts: 20
Joined: Sat Oct 26, 2024 7:42 am
Preferred Pronouns: No Preference

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by anthraxthanasimos »

I am very interested in experimenting with AI models for ACS coding. I wonder if I can use the LLM to review and correct mistakes. What is your experience?
User avatar
Kontra Kommando
Posts: 968
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Re: ChatGPT o3 Mini-High (Can it code for DECORATE?)

Post by Kontra Kommando »

anthraxthanasimos wrote: Thu Feb 20, 2025 6:28 am I am very interested in experimenting with AI models for ACS coding. I wonder if I can use the LLM to review and correct mistakes. What is your experience?
I tried compiling a model for LLM that I posted on here a while that did custom ACS, and the results were abysmal, when using ChatGPT. This was about a year ago I believe.

Though i bet a more sophisticated AI would handle it better, or eventually.

Return to “Scripting”