Impossible Creatures

Impossible Creatures

Not enough ratings
Impossible Creatures Modding: Getting Started
By the2ndSign
This guide is intended to help aspiring IC modders get started with editing the game. It contains a brief overview of all of the RDN modding tools, instructions on extracting .SGA archives, and directions on getting your mod working in-game. This is merely to help new modders begin their endeavors. It is not a modding tutorial.

I'll be updating this periodically with relevant images and more details as necessary.
   
Award
Favorite
Favorited
Unfavorite
RDN Tools Overview
In your root Impossible Creatures directory, you'll find a folder entitled "RDNTools". Within it lie the most basic tools you will need to start editing IC. Inside, you'll find the following utilities:

ModPackager
This is perhaps the most important of all the RDN modding tools. Primarily, it is used to extract contents from the game's various .SGA archive files, which contain loads of game and mod data, such as editable .LUA scripts and entity blueprint files (.EBP), as well as textures, decals, et cetera. In addition, ModPackager is also capable of packing mods, addons, and map packs into easy-to-use installers without the use of third-party software.* Think of ModPackager as 7-Zip or WinRAR for IC's files.

ObjectEditor
ObjectEditor is used to create, open, and modify the attributes of .EBP files. For the most part, this tool is only used when creating your own models, which is beyond the scope of this guide, so we won't worry about it much.

ComboTest
This one is pretty self-explanatory. It's essentially just the creature combiner. It's used to see how user-created stock animals will mesh with other creatures before they're loaded into the game. Some mild editing, such as limb-scale adjustment, is also done from within ComboTest.

FXTool
Used to create effects (FX), such as ranged attacks or splashing water. There are many uses for this tool, and a tutorial can actually be found inside Impossible Creatures\Documents.

PatchEditor
Used for converting .MP3 or .WAV audio files into IC's .PAT format. Use this if you have any custom music or sound effects you'd like to add to the game. You'll be able to do some light editing of your audio file before you convert it as well, if you desire. Note: Custom audio unfortunately appears to be broken in the Steam edition.

GUILayout
Used for creating and editing custom menus and other UI screens for IC. This tool requires some additional setup to run properly and will likely be getting its own guide at a later date.

---

MissionEditor
While not technically part of the RDNTools package, it's still worth a mention here. The Mission Editor is IC's map editor, and is used to create custom maps and campaign missions for IC. The editor can be run either as a launch option when starting IC through Steam or directly from the executable (MissionEditor.exe) in the root IC directory. There is a good bit of documentation located in Impossible Creatures\Documents as well.

A detailed tutorial for the Mission Editor can be found here:
Impossible Creatures – In-Depth Multiplayer Map-making Guide and Advice
---

*With the advent of Steam Workshop support for IC, these functions have largely been rendered obsolete.
The First Step: ModPackager
Now that you've read about all of the modding tools, you're ready to actually begin. Open up ModPackager. You'll be greeted by a mostly gray window with a toolbar at the top. On the toolbar, click "File" and then "Open". Select "Engine.sga". You'll be taken to a white screen with a lot of files and folders. Navigate back up to the toolbar. Select 'Archive" and then "Extract Archive". Make sure you extract the contents to a new folder. It doesn't matter where it goes or what you name it, but I like to name it simply "Engine" and put it in my root IC directory. Wait for the extraction to finish and then close ModPackager. You can now open the folder you created and see all the contents of engine.sga. The various .LUA files you see can be opened and edited in Notepad or Notepad++.

Repeat the above process with ICData.sga and InsectData.sga.

I encourage you to poke around with these files on your own and see what you can find. Have fun!
Building Your Mod
Once you've extracted all of the .SGA files, you're ready to set up the framework for your mod. Every IC mod requires the following to run, without exception:
  • A mod folder
  • A mod folder in Impossible Creatures\Locale\English (or your desired language)
  • A .DLL file
  • A .MODULE file

    These items should be placed inside the main Impossible Creatures folder.

The Mod Folder
Create a new folder within your primary IC directory. Name it whatever you want the title of your mod to be. Inside it, create a folder named "data". This is where the meat of your mod will lie. Everything you extracted from the .SGA files corresponds to its location inside the data folder. For instance, if you've edited the file "tuning.lua" from the folder "sigma" inside ICData.sga, that file will go into Your Mod\Data\Sigma. This applies to every file and folder from the three .SGA files you extracted. In most cases, the only thing that needs to be inside your mod folder is the data folder. However, it's also a good place to put changelogs or credits.

Locale
Inside Impossible Creatures\Locale\English*, create another new folder, preferably with the same title as your mod folder. Inside this folder, you need to have the files "modtext.dll" and "modloc.sga". You can simply copy them over from another mod, such as Insect Invasion. Modtext.dll contains all the game text specific to your mod.

To edit it, you'll need to download a resource editor.
I recommend using Resource Hacker. You can download it here: http://www.angusj.com/resourcehacker/


Resource Hacker has since been found to break mods. Use it at your peril.
Please see see this guide for text editing:
Modifying Game Text With Visual Studio (No Resource Hacker)

You'll need to do a little bit of editing in order for your mod to appear in-game. Open your Visual Studio project. Press Ctrl+F and type in the name of the mod you copied the file from (for instance, Insect Invasion). Press enter and you'll be taken to the relevant string. Rename it to the title of your mod. Build the solution and copy your .DLL to IC. That's it for the locale.

The .DLL and .MODULE
To get the .DLL and .MODULE, you'll need to copy them from another mod. We'll use Insect Invasion as the example again. In your root IC directory, find "InsectMod.dll" and "Insect.module". Make copies of them and change both of their names to the title of your mod. Then, open the .MODULE in Notepad. Edit the file so that it looks like the following (where "yourmod" is the title of your mod and "moddesc" is your mod's description. You can change the number for "ModVersion" to whatever you want, but don't leave it blank):
;; ////////////////////////////////////////////////////////////////// ;; File : yourmod.module ;; Desc : moddesc ;; ;; [global] Name = yourmod Description = moddesc DllName = yourmod LocaleFolder = yourmod ModFolder = yourmod ModVersion = 1.0 PatcherUrl = ;; ////////////////////////////////////////////////////////////////// ;; List of archives to load for this MOD order is important ;; The first Archives registered will be scanned for files first ArchiveFile_1= InsectData.sga ;; ////////////////////////////////////////////////////////////////// ;; List of MODs that have might have scenario packs that are ;; compatible with this MOD. Will only work if the scenarios are ;; In a scenario pack. CompatableMod_1 = IC

Optional: pipeline.ini
By default, IC searches for content in Impossible Creatures\Data. It only looks for anything inside of a mod folder when it is explicitly told the folder exists. This means that if, for instance, you want to open a creature's .EBP file in ObjectEditor, you will have to copy it to that main data folder first, then copy it back to your mod when you are done editing. However, you can tell IC to search inside your mod folder via the file pipeline.ini, found inside the root IC directory.

When you open the file, you should be greeted with this:

; pipeline.ini ; this file contains all pipeline settings ; NOTE: unless fully qualified, all paths are relative to this file [global] ToolsData = RDNTools\ToolsData WkDir = . Registry = Relic\RDNCompanion\v1.0 EngineLocale = Locale\English [objed] PatchEdPath = RDNTools ; there should be one entry for each project [project:icpc] DataSource = DataSrc\IC DataIntermediate = IntDataSrc\IC DataFinal = Data LocaleFolder = Locale\English\IC Global = 1 [project:rdn] DataSource = DataSrc\RDNMod DataIntermediate = IntDataSrc\RDNMod DataFinal = RDNMod\Data LocaleFolder = Locale\English\RDNMod Global = 0

You can simply append your project to the end of the file using the following format:

[project:yourmod] DataSource = DataSrc\YourMod DataIntermediate = IntDataSrc\YourMod DataFinal = YourMod\Data LocaleFolder = Locale\English\YourMod Global = 0

Now your mod's folder should be accessible from the RDN Tools (with the strange exception of ComboTest—you'll still need to copy files to the main data folder for that one, unfortunately). This step isn't required for your mod to work, but it cuts out a lot of headache.

...And that's it! You're done! If you've followed all of the steps correctly, you should now have a fully functional Impossible Creatures mod.

Have fun tinkering!

Note: To learn how to upload your mod to the Steam Workshop, run IC through your Steam client and select "Launch Impossible Creatures Workshop Manual".
22 Comments
the2ndSign  [author] 29 Jul @ 5:59am 
Gmax and 3DS Max 4/5 (all three are more or less identical for IC) are still the only options at the moment, unfortunately.
jamesfongle 28 Jul @ 9:14pm 
Actually, turns out ComboTest is working, I just assumed I wasn't seeing anything importing because nothing loaded onto the stage. Thanks for replying!

While I have you, is the best pipeline still gmax > .sgm > object editor > .ebp, etc etc or has someone developed any tools around blender? I think I have seen some github projects for sgm > obj conversion and smg importer tools for blender, but they seem built specifically for Dawn of War...
the2ndSign  [author] 28 Jul @ 6:42pm 
That particular error is usually harmless. What is actually happening in ComboTest? Does the log say anything else?
jamesfongle 28 Jul @ 6:30pm 
I am having massive issues with Comb oTest. I keep getting a "localizerimp.c requested string range doesn't exist #####" errors. Any ideas why this is happening?
jwtitus 28 Apr @ 8:39pm 
Sure! Thank you!!
the2ndSign  [author] 28 Apr @ 7:43pm 
None of that should matter. Can I add you? Issues like this are usually easier to resolve through messaging.
jwtitus 28 Apr @ 7:12pm 
Good to know, right now I just tried to make one using Insect Invasion as a base and then changing the data in the module and the locale with my own mod name. Would it be possible it doesn't have enough data in the folder to make a new mod? My data folder is empty for the moment because I haven't added anything new to it. Otherwise, the only other thing I can think of is that since I haven't actually changed any features of the mod that there's nothing to differentiate the mod from Insect Invasion that maybe the game won't show it as a mod because Insect Invasion is overwriting it somehow. Unless that's an issue exclusive to Tellurian, in which case I don't know what the problem could be. All I know is that the mod itself won't show up as an option in the mod selection and to my knowledge I followed the instructions best I knew how. Any suggestions on what could be the problem?
the2ndSign  [author] 28 Apr @ 5:35pm 
If the mod you're creating is based on Tellurian (i.e. uses Tellurian's .dll), then you'll need to change the mod's name by using a hex editor (such as ImHex or Hex Workshop) to modify Tellurian.dll. Otherwise, the game can't differentiate your mod from Tellurian and won't display it in the list. I wrote this guide prior to that change.

If the mod is not based on Tellurian, then more detailed information will be needed.

To answer the question, Steam Workshop is in no way required to build a new mod.
jwtitus 28 Apr @ 4:54pm 
Would any mods you make show up on you computer if you haven't uploaded them to the Steam Workshop yet? I've followed your directions twice and the mod still hasn't shown up in game yet. I haven't changed any way the game works yet like adding new creatures or features, I just wanted to create a template that I could edit later and see if a mod I create could show up in game before making anything new. Thank you!
Biggest ella fan 24 Jun, 2020 @ 2:53am 
you should change it so that it doesnt say the guilayout tool is useless