Modding Guide
An exclusive modding guide by the lead programmer on Evil Genius, Alex Thomson

Previous page

Creating a New Character

A new character will need a new description file. For ease of use, we'll copy an existing one (733 - "an exceptional European soldier") and paste it into DynamicResources, under a NewAgent directory created just for this mod! You can either leave the description ID the same (733) or rename the file to a new, preferably unique, ID.

We can choose the graphics and the animation set to use in the "Filename" lines at the top of the file. Let's leave his geometry alone for now, but make the new agent move in a slightly more… sinister way. Change his current animation set AnimSet_Agent_Europe_1.as to AnimSet_GeniusDragon.as which is Shen Yu's. Now the agent will play some animations rather differently. Animation sets live in Resource.ERB under the Animations subdirectory and you can create new ones quite easily if you like - but there are plenty of existing ones to play around with too.

Next you might want to edit some of the character stats - make him tougher or easier as you like (hey, he moves like Shen Yu, he must be tougher!). You can give him a new name by editing the DesiredName field near the bottom of the file.

The new character can be tested in-game via "ADD 1 [new entity description ID]". He'll arrive via helicopter or whatever, like normal, unless you specify "DF_ADDINSTANT 1" to turn on instant agent additions.

If he has a new unique description ID, then the existing law agencies won't know about him. In this case, we'll want to take a copy of one of the law agencies (1550-1554) and place it in our DynamicResources\NewAgent directory for modding purposes.

All it will take is a new "AgentEntry" line. The format for the AgentEntry command is: AgentEntry [desc. ID] [heat level] [notoriety level] [op type] [min number] [extra per heat] [min extra] [max extra] [max total]. I won't go into detail on all these parameters here, but you can copy an existing entry to start with and twiddle the numbers to what you think are appropriate values.

File Formats (and Modding Textures or Skinning)

Our geometry is stored as .gr2 files - the file format used by RAD Game Tool's Granny animation system. Granny files can be exported from all major animation packages using specialist exporters - unfortunately I can't provide these as they're owned by RAD - bah! Textures are another story though; they're stored in a binary format in the game, but the actual source is just a standard TGA file. To override one therefore, you just need to play a source texture with the correct name into DynamicResources. Say you wanted to give the Barracks Bed a makeover. Then you would place your next texture file, called Barracks_Bed_A_01.tga, into a DynamicResources\NewBunkBed folder, and the next time you load up the game, your new bunk bed texture will be used.

Sounds are stored as WAV files in their source format so you can add your own sound effects to the game in a very similar way.

Good Luck

The above should give a brief grounding in the basics. I hope you enjoy tweaking Evil Genius, and I look forward to seeing what appears on the Web in the near future.

Alex Thomson
Lead Evil Programmer


Did you check out our wiki yet?
Yeah, I even added a thing or two.
Yeah, it's looking good so far!
Yeah, but I don't really see the point.
No, but I surely will!
No, and I don't suppose I will.
Huh? What IS a wiki?

Current Results