Page 1 of 1

[Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Tue Sep 08, 2020 2:27 pm
by gerolf
With the introduction of Raze, I am sure many of you are wanting to mod Duke Nukem 3D. The following guide will explain the roles of each CON file that comes with Duke Nukem 3D and how to manipulate them, but this guide assumes a few things:
-you have little to no programming knowledge or experience.
-you have a copy of the Atomic Edition (though, other versions also work with these changes, but the tutorials are using this version specifically).
-while this will be aimed at Raze, these tutorials should work in any DN3D port that supports custom CON files

Please, understand that this is targeted towards beginners. Most tutorials I see are aimed at people that have at least some programming knowledge, which I find makes it hard on novices to get started. These will attempt to explain what the code means while also showing ways for you to edit the game. This will NOT cover editing art and level design (that's for a different thread).

For the record, I am not an expert. Nothing I'll cover is really anything "new", and there's more than likely documentation elsewhere covering the exact same stuff, but I figured why not try to see if I can help anyone out who finds other tutorials to be difficult to follow. This is not the definitive guide to editing DN3D, but it should be enough to get you started at the very least. I hope people will find this information to be useful. Anyways, with that said...

What you need:
-You will need Wordpad, Notepad, Notepad++, or any other similar app that you prefer.
-You will need to place the 3 CON files (USER.CON, GAME.CON, and DEFS.CON) in your Raze folder. When you run Raze, it will run these custom CON files.

Now, what does each CON file mean and represent?

The color yellow will be used for anything USER.CON specific, red for anything GAME.CON specific, and blue for DEFS.CON specific.

CON file info:

USER.CON (User Configuration File) –
Editing the User Configuration file (USER.CON) is a great way to modify DN3D, and this is the CON file we will be working with the most throughout this guide. Essentially, this file is used to control many parts of the game. For example: enemy hitpoints, weapon strength (including blast radius), text strings (messages, episode names, level names, etc), par times, and much more. While I can't go over EVERYTHING, I am going to go over enough to get you started! This file is the best for beginners to mess with because it shows direct change in the game. Many might find themselves fully satisfied with what can be done with USER.CON, and will not need to edit GAME.CON or DEFS.CON.

DEFS.CON (Definitions Configuration File) –
This file is essentially a list of numbers that are defined by phrases. The reason for this is so that a programmer doesn't have to remember the numbers; they just need to remember the phrases. So when adding to DEFS.CON you would write a phrase tied to a number so you'd be able to remember the phrase without needing to remember the number, but you can look at DEFS.CON to look up a number/phrase and when the game loads DEFS.CON, the phrases are converted back to their defined numbers for the machine to understand. Unless you intend on making major changes to the game, like rewriting actors or adding in new features that are not present currently, you more than likely will not need to mess with DEFS.CON. The more you edit GAME.CON, the more likely you'll need to edit DEFS.CON, though, and if all you are doing is USER.CON edits then you usually shouldn't have to mess with DEFS.CON. This guide won't have any DEFS.CON specific tutorials because it is generally the CON file you will not bother with until you have enough experience to do so, and it goes beyond the purpose of this guide.

GAME.CON (Game Configuration File)-
This file tells the game to load up DEFS.CON and USER.CON, as well as being home to a lot of actor code. This is the instructions that tell the game to do various things like making animation sequences. This file is not as straight forward as USER and DEFS. It can be very complicated to edit and takes time to learn and understand what all is in it and what can be changed. The purpose of this tutorial session is to familiarize you with the files, but going over everything in relation to GAME.CON goes beyond the scope of this guide. I will cover what I find to be the easiest things you can change, and give you some example tutorials that you can try out on your own that are specific to GAME.CON.

Now you should have a basic understanding of what each CON file is for. Now, let's get started with USER.CON. Open it up with your text editor of choice, and follow along.

USER CON TUTORIALS:
Getting started:
Spoiler:


Altering Game Messages:
Spoiler:


Changing Level, Episode, Difficulty Titles, and adjusting Par Times:
Spoiler:

Working with Sound and Music in USER.CON:
Spoiler:


Now, we are pretty much finished with the most basic changes you can make to USER.CON. Nothing too interesting so far is probably what some are thinking, but these are very useful edits to make your sets have a feel of their own. Now, let's get a little more involved with USER.CON.

-Altering Duke, His Guns, and Inventory:
Spoiler:


Altering Duke's Adversaries:
Spoiler:

Now you should understand the purpose and use of USER.CON. There's more that can be done with USER.CON, but I have covered the basics. Please note the following tutorials and info below are more challenging than what has been presented above. If you have trouble understanding it, it takes more patience to edit GAME.CON than editing USER.CON. If you are happy with USER.CON editing and feel the guides below are too tough or hard to follow, maybe you're better off just sticking with USER.CON editing for now. If you are ready for more, then let's move on, but first:

Commenting CON files:
Spoiler:


Now, we are finished with the USER.CON session of this guide. Let's move on to GAME.CON. GAME.CON is a much more complicated file than USER.CON. What I intend to do is show you how to do a few things with GAME.CON. Here's a couple routines to try:

GAME.CON TUTORIALS:
-Adjust the ammo the Pistol weapon pick-up gives Duke:
Spoiler:

-Enabling WACKPLAYER:
Spoiler:


Altering Enemies & Gore through GAME.CON:
Spoiler:


Obviously, there's much more to GAME.CON than just these tutorials, but I think these are some easy changes you can make that can help you make further changes elsewhere in GAME.CON with the knowledge you now have. Just be aware that you need to be very careful messing with GAME.CON. There's less room for user error here, so make sure to save often and be able to backtrack if you make a mistake.

The End (For Now):

That's it for now. I feel that I have written quite a bit of info that should help someone who knew nothing know a lot more than nothing about modding DN3D now that you've read from the start to the finish of this tutorial. You've learned all about USER.CON. You've learned what's inside of DEFS.CON (though currently we've had no reason to change anything in there). You've learned what GAME.CON is all about and have even learned a few things you can do inside of GAME.CON. With this knowledge, you should have the ability to look around these CON files and make changes to them, testing them out along the way and seeing what works and what doesn't.

Bottom line: You can say you know how to modify DN3D. There's still more to modding Duke than just CON files. Level design, art design, etc. have not really been covered here because they aren't really specific to CON editing.

I hope someone finds this information useful.

Re: [Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Wed Sep 09, 2020 3:48 am
by Dynamo
Excellent work, this will be very useful for many I'm sure!

Re: [Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Wed Sep 09, 2020 4:06 am
by Rachael
Thank you for posting this!

Re: [Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Thu Sep 17, 2020 12:12 am
by Kinsie

Re: [Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Thu Sep 17, 2020 12:46 am
by gerolf


The post has now been updated!

Re: [Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Thu Sep 17, 2020 12:57 am
by Graf Zahl
Regarding the tutorials that no longer work, before removing them, please post a copy in the Feature Suggestions forum. Having these still available would make it a lot easier to prioritize which features will get re-added.

Re: [Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Thu Sep 17, 2020 2:21 am
by Gammli
All commands on this page will still work: https://wiki.eduke32.com/wiki/Category: ... 5_commands

Re: [Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Thu Sep 17, 2020 2:33 am
by Graf Zahl
Yes, those all still work, of course, plus several gamevar instructions. I'll see to add the remaining gamevar instructions ASAP so that this feature is complete.

Re: [Tutorials] Intro to Duke Nukem 3D CON Editing

PostPosted: Thu Sep 17, 2020 2:34 am
by gerolf
I edited the post to no longer show the Gamevar tutorials (as they were not on that list), but I did post them over at the "Feature Suggestion" section like you suggested :)

edit: here's the gamevar portion:
viewtopic.php?f=343&t=69884