Doom ACS/DECORATE-AI (NLP Engineering Project) *Zip File!*

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
User avatar
Kontra Kommando
Posts: 959
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Re: Doom ACS/DECORATE-AI (NLP Engineering Project) *Zip File!*

Post by Kontra Kommando »

ramon.dexter wrote: Fri Aug 11, 2023 12:17 am Okay, why are you teaching the AI model deprecated decorate and not zscript?
I could do that the same way I did it with DECORATE.

Though I've moved on from Doom at the moment, and currently using AI for other endeavors that were previously esoteric.

I have to say, AI is amazing when it comes to getting the prompts you need for Powershell and Linux based software.
User avatar
Kontra Kommando
Posts: 959
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Re: Doom ACS/DECORATE-AI (NLP Engineering Project) *Zip File!*

Post by Kontra Kommando »

Code interpreter is pretty awesome, I've been using it everyday for other stuff, as I mentioned.

One could use it as a powerful tool to help facilitate the construction of a proprietary game off of the Unity engine, for example. You could even copy and paste outputs from terminals, and it will help you figure out errors, and find solutions in relatively short order.
User avatar
Caligari87
Admin
Posts: 6190
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him

Re: Doom ACS/DECORATE-AI (NLP Engineering Project) *Zip File!*

Post by Caligari87 »

it seems GPT4 can access the internet... I'd be interested to see what it could come up with for incrementally learning zscript based on the wiki, zscript basics and language reference, and gzdoom's own internal zscript (via github).

8-)
User avatar
Kontra Kommando
Posts: 959
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Re: Doom ACS/DECORATE-AI (NLP Engineering Project) *Zip File!*

Post by Kontra Kommando »

Now that they are releasing stuff like "ChatGPT enterprise" that allows you to build your own models, this method can really take off.

One could start an LLC, buy the service, upload all of the instructions to something like Unity, get that written off, and develop a proprietary game.

You could train the model to be an expert on the engine you are using, and easily create a video game.
terassda
Posts: 1
Joined: Tue May 28, 2024 8:12 pm
Graphics Processor: Intel (Modern GZDoom)
Location: https://geometrydashsubzero.net

Re: How I got Heretic to work in VR using gzdoomvr.4.6.1 including excellent visuals

Post by terassda »

Oh yeah, having an ACS-GPT or ZScript-GPT right in Doom Builder would have been awesome, perhaps?

Moved off-topic post here from an unrelated thread. ~~Caligari87
User avatar
Kontra Kommando
Posts: 959
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

Testing custom enemy creation in zdoom with new ChatGPT o1 model

Post by Kontra Kommando »

I have access to the preview model of ChatGPT o1, and I am very impressed with it! I am currently using it to work out some stuff in Linux, using some other software suites.

At any rate, I decided to test it out with a hypothetical zdoom custom enemy.

Prompt:

"Create a custom enemy in zdoom format that can jump attack, and teleport behind the player if reaching a low pain threshold at random. "

Response:

Thought for 31 seconds

Sure! Below is a custom enemy in DECORATE format for ZDoom that can perform a jump attack and has a chance to teleport behind the player when reaching a low health threshold.

plaintext

Copy code

ACTOR JumpingTeleporterDemon : DoomImp 30000 { Health 200 Speed 10 Radius 20 Height 56 Mass 100 PainChance 100 SeeSound "grunt/sight" PainSound "grunt/pain" DeathSound "grunt/death" ActiveSound "grunt/active" Obituary "%o was outmaneuvered by a JumpingTeleporterDemon." States { Spawn: TROO A 10 A_Look Loop See: TROO AABBCCDD 3 A_Chase Loop Melee: TROO E 6 A_FaceTarget TROO F 6 A_JumpIfCloser(64, "JumpAttack") TROO G 6 A_CustomMeleeAttack Goto See JumpAttack: TROO H 0 A_FaceTarget TROO H 0 A_ChangeVelocity(10, 0, 5, CVF_RELATIVE|CVF_REPLACE) TROO H 6 A_PlaySound("grunt/attack") TROO H 6 TROO H 6 TROO H 6 A_CustomComboAttack Goto See Pain: TROO I 3 TROO I 3 A_Pain TROO I 0 A_JumpIfHealthLower(50, "CheckTeleport") Goto See CheckTeleport: TROO I 0 A_Jump(128, "NoTeleport") // 50% chance to not teleport TROO I 0 A_Warp(AAPTR_TARGET, -64, 0, 0, WARPF_TOFLOOR|WARPF_NOCHECKPOSITION|WARPF_WARPANGLE) TROO I 0 A_PlaySound("grunt/teleport") TROO I 0 A_FaceTarget Goto See NoTeleport: Goto See Death: TROO J 8 TROO K 8 A_Scream TROO L 8 TROO M 8 A_NoBlocking TROO N -1 Stop XDeath: TROO O 5 TROO P 5 A_XScream TROO Q 5 A_NoBlocking TROO RST 5 TROO U -1 Stop } }

Explanation:

Jump Attack:

In the Melee state, the monster checks if the player is within a certain distance using A_JumpIfCloser.
If the player is close, it transitions to the JumpAttack state.
In JumpAttack, A_ChangeVelocity propels the monster forward and upward, simulating a jump.
A_CustomComboAttack is used to perform the attack during the jump.
Teleportation Behind the Player:

In the Pain state, the monster checks if its health is below a threshold (e.g., 50) using A_JumpIfHealthLower.
If the health is low, it goes to CheckTeleport, where there's a random chance (using A_Jump) to teleport.
A_Warp is used to teleport the monster behind the player (AAPTR_TARGET with a negative offset).
The monster then faces the player with A_FaceTarget and resumes chasing.
Note: Ensure that the sound effects like "grunt/attack" and "grunt/teleport" are defined in your sound definitions, or replace them with existing sounds.

Usage:

Copy the code into a text file with a .txt or .dec extension.
Include it in your ZDoom mod by adding it to your DECORATE lump or loading it as a separate file.
Place the monster in your map using its class name JumpingTeleporterDemon.
Test the monster thoroughly to make sure the behaviors work as expected in your specific setup.
User avatar
Kontra Kommando
Posts: 959
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

ChatGPT 4o Analyses PK3/WAD for errors

Post by Kontra Kommando »

Another interesting application of ChatGPT. This is the regular 4o model however, because I already reached the limit on o1 and it doesn't have an upload function yet.

At any rate, asked to look for duplicate entries in my old Aliens: the Ultimate Doom mod PK3, which I've neglected for a while.
pic.png
You do not have the required permissions to view the files attached to this post.
User avatar
Kontra Kommando
Posts: 959
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

ChatGPT 4o Analyses PK3/WAD for errors

Post by Kontra Kommando »

Further analysis for errors:

To identify potential errors beyond duplicate files in a `.PK3`, we can analyze common sources of issues such as:

1. **Incorrect File Paths or Directories**: Some Doom engines are sensitive to file paths and folder structures. If assets are not stored in the correct directories, it might prevent them from being loaded properly.

2. **Missing or Broken Assets**: Files referenced in scripts or maps might be missing or corrupted, leading to errors in gameplay.

3. **Malformed Metadata**: Issues with the `MAPINFO`, `DECORATE`, `SNDINFO`, or other metadata files can lead to errors in how assets are interpreted or referenced in the game.

I’ll perform a general analysis of the `.PK3` contents, including these common areas, to detect potential issues. Let me start by inspecting key metadata and folder structures for irregularities.

The `.PK3` file contains key metadata files such as `TEXTURE1`, `TEXTURE2`, and several `DECORATE` and `SNDINFO` files. These files are critical for defining textures, enemy behaviors, sound effects, and other in-game elements.

Here are some areas that might cause problems:

1. **Multiple DECORATE files**: The `.PK3` contains a lot of `DECORATE` files (e.g., `DECORATE.Smartgunner`, `DECORATE.XenomorphQueen`). If these files conflict in defining actors (e.g., enemies, projectiles), it can cause errors during gameplay. Make sure there are no redundant or contradictory actor definitions.

2. **SNDINFO files**: Multiple `SNDINFO` files (e.g., `SNDINFO.Weapons`, `SNDINFO.Enemies`) might cause sound issues if they reference the same sounds with different identifiers. Ensure sound definitions are consistent across all files.

3. **TEXTURE files**: The presence of both `TEXTURE1` and `TEXTURE2` can cause issues if there are conflicts in texture definitions. Ensure that all textures are properly referenced and don't overlap between these files.

To verify, I can further examine any of these files for possible conflicts or syntax issues. Would you like me to check any specific file in detail, or perform an automated scan for missing or malformed references?
User avatar
Kontra Kommando
Posts: 959
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

ChatGPT 4o can fix PK3/WAD errors?!

Post by Kontra Kommando »

Oh my god...

I haven't tested yet, but this is extraordinary...
pic3.png
You do not have the required permissions to view the files attached to this post.
User avatar
Kontra Kommando
Posts: 959
Joined: Mon Jan 20, 2014 6:46 pm
Location: LV-426

ChatGPT 4o PK3 optimization!

Post by Kontra Kommando »

I can confirm that not only can 4o can identify errors, it can fix it and it actually works!

Even better is that I was able to optimize my DECORATE file from having over 17,500 lines of code down to just 3450+ !

The file runs just fine, and you are able to circumvent the inability to save due to other errors via Slade, by just having the AI produce the file for you to download.

This seems like a very convenient way to clean up old mods, produce clean new ones, and ensure optimal performance.

Having to clean up the mod was a hurdle that would demotivate me from updating my old work. But now that I have discovered this function, I think I am going to make new versions in the near future.

Return to “General”