Impossible Creatures

Impossible Creatures

Not enough ratings
Re-texture a Creature
By Dephesmo
Guide / tutorial on how to create a new creature by re-texturing the existing one.
   
Award
Favorite
Favorited
Unfavorite
0 - Intro
- Hey there in this tutorial/guide I will demonstrate an alternative way to create new creatures for your Impossible Creatures (IC) mod.

- This method simply changes the texture of an already existing creature model, so it’s probably mostly useful for creating a new species from the existing creature models (or creature with a similar body shape). As an example, I will demonstrate how I made a new donkey creature by retexturing the existing zebra:

- Compared to my original creature tutorial, the main positives of this method is that all the modelling, animations and limbs are already set up for you. While It is more limited in its application, it is relatively easier to create a new creature if you want to avoid 3D modelling and animating the creature yourself.

- Also, this method is probably more suited to be applied to the original IC developers models, since from what I have seen their texturing process stays very consistent across their creature models.

- This method was actually taught to me by another user (I simply tried to demonstrate how to use it) so huge thanks to him!

- Now, I don’t 100% understand all the things I do , but I do 100% understand that they work… If I learn any new tricks to this method, I will try to update this guide from time to time. Hopefully you will find this helpful.

- P.S. Some sections are split into smaller parts, this is mostly due to steam 8000 character limit for each section.
1 - Preparation
- If you have read my previous tutorial on creating your own creature. Then the following two sections will seem very familiar and similar, you can check out my original guide here:
https://cs2bus.com/sharedfiles/filedetails/?id=3051026290

- Before we get started, I suggest you read through this guide made by another user on how to create your own working mod folder and access games archived files:
https://cs2bus.com/sharedfiles/filedetails/?id=735413158

- Here are the programs that we will be using to create our new creature:

1. gmax - a 3d modeling program, which we won’t actually use to 3d model at all. It will be used in a somewhat convoluted way to get our textures on to our target creature, generally all we want from the program is an ability to export a creature model. You used to be able to get it for free officially, however now it’s sadly not the case anymore. I suggest downloading it off some sort of archive/abandon ware site – I got mine off “Internet Archive”.


2. ImHex – a hex code editor, there are actually a lot of options to choose from when it comes to hex code editing, but I found some specific features of this program to be very convenient.


3. 3D RIPPER DX – a program that is capable of ripping/extracting 3D and 2D information from a 3D scene. It will be used to get the textures from the original creature for editing. There might be similar alternative tools, but this is the one I was introduced to.


4. Krita – or any other image editing program you prefer. I use it simply because its free photoshop alternative and gets the job done. We will use it to paint textures for our creature.


5. Irfanview – image viewer program with limited image editing capabilities. This will be used to achieve the correct color depth for our image. There might be other better programs that can achieve this, but I am just simply used to this program.


6. Resource Hacker – a program used to edit text in games localization “.sga” and files, this will be used to properly name and add description to your new creature (If you read the guide on creating your first mod folder this should be familiar to you).


7. Notepad – a simple text editing program, should come preinstalled with windows, this will be used to edit “txt” files that contain your creature’s stats.


8. IC RDN Tools – modding tools supplied by installed IC Steam version itself, and can be found in:
” \Impossible Creatures\RDNTools”

-For our creature creation purposes in this guide we will be using:
8.1 “ComboTest” - combine creatures outside the game and adjust limb scaling.


8.2 “ObjectEditor” – used to make a “.ebp” creature object that game will use and to set up a few of your creatures parameters.


8.3 ”ModPackager” – used to prepare “.sga” file, necessary to publish your mod on steam.


2 – Setting up gmax
- As I mentioned earlier, we won’t be using gmax for 3D modelling, but we still need to set it up correctly to perform a few actions in it and to have them work. ( I wont be setting up gmax as completely as I did in my original tutorial, since we don’t need all of the new features - just for your information)

- Once you have your gmax installed you need to add some additional functionality to it through the use of “gamepacks”. If you have IC steam version installed navigate to the folder named:
“\Impossible Creatures\RDNPlugins\RDNGmax”

-And copy these 2 files called "msvcp70.dll" and "msvcr70.dll" straight into your main gmax directory:
” C:\gmax”


-Then open the folder called “gamepacks” located in the same IC folder:
“\Impossible Creatures\RDNPlugins\RDNGmax\gamepacks”:


-And copy the whole folder “Rdn” over to your gmax directory folder named “gamepacks”:
“C:\gmax\gamepacks”


-Now open the “Rdn” folder you just copied into gmax folder “gamepacks”:
“C:\gmax\gamepacks\Rdn”

-From now on you will need to launch your gmax program through this icon, to be able to use the specific tools meant for IC creature creation:


-Once launched you should briefly see this splash screen:


-On first start up you might be greeted with this window, that offers you to choose “gmax Driver Setup”, now since I have no idea what this does, I just picked the first option and clicked “OK” (I guess this determines how your computer renders the 3D model real time in your viewports):


-you can change this anytime you want by navigating: “Customize-> Preferences -> Viewports” and there will be section called “Display Drivers”:


-This should be the programs title, once open, that means you have the correct version open:


-Ok, now gmax should be ready for our purposes, lets move on.

3 – What makes up a creature
- Before we tackle the task of re-texturing our creature, it might be useful to understand what makes up a mod creature.

-Generally, creature is made out of 5 separate files so our task is to get them all:


- .sgm – (sigma mesh) I consider this the “source file” for your creature, this is the very first file that will be made for your creature
- .ebp – (Entity Blueprint Files) This file is made from .sgm file, pretty much every object in the game has this file so it works in game. It is also used to tweak model’s animations, sounds and other miscellaneous parts.
-.lua – this file contains all the information about creature’s stats such as its hit points, damage and so on.
-.lsc – this file determines how your creature’s limb size will look when combined with other creatures.
-.bmp – this is simply a creatures torso texture, must accompany all the other creature files so the creature texture blending works in game.

-The best place to work with these files is this folder:
“D:\SteamLibrary\steamapps\common\Impossible Creatures\Data\art\ebps\stock”

- There are a few nuances about this particular folder:
- You wont be able to open a creature “.ebp” file outside this folder.
- You wont be able to open a creature “.ebp” file if a “.lua” file is present in this folder (simply cut out the .lua file while you work with the .ebp file and return it after you are done)

- Now as I already mentioned I will be using zebra model as base for my new donkey model. So if you read this guide :
https://cs2bus.com/sharedfiles/filedetails/?id=735413158

- You should know how to extract IC archived game files. We can find our model in this folder from the extracted files:
“...\art\ebps\stock”

- Select the zebra “.ebp” file and copy it over to our special folder: “D:\SteamLibrary\steamapps\common\Impossible Creatures\Data\art\ebps\stock”
(as you can see zebra actually consists from only 4 files – this is normal, in fact all of the games original creatures have only 4 files):


- Ok now we can begin our process.
4 - 3D Ripper DX
- In the first step we will attempt to rip/extract all the original zebra textures form its 3D scene so we can modify them.

- Open up “3D Ripper DX”:



- In the window “Please select DirectX 6/8/9 application to analize” you have to pick a program where the creatures 3D model is visible and from which the textures will be extracted. I will pick the RND tools ObjectEditor application:


- Simply click on the “folder” icon on the right and find the ObjectEditor location and click “Open”:


- One other thing you need to do is to tick in this checkbox “Capture all textures”:


-Once everything is set up simply click “Launch”:


- Your chosen application should open – In my case the ObjectEditor and you should notice yellow text in the upper left corner “Ready to capture.”, that does not appear when launching the program normally:


-Now open your desired creature (in my case the lonely “zebra.ebp” file that we prepared earlier):




- And then hit “f12” on your keyboard (the text in upper left should briefly flash).

- That’s it, we just extracted the zebra textures, you can now close the ObjectEditor window.

- Now navigate to the folders that are displayed here in your “3D Ripper DX”. This is where all the material you extract from the 3D scenes will appear when you hit “f12”, and open the “Textures” folder:


- By opening the “Textures” folder you will see zebra textures:


-First you need to convert all of these images to “.bmp” file format using any program you wish I will use “Irfanwiev” and simply re-save the images in “.bmp” format:




- Now we can move on to painting the textures for our new creature.
5.1 - Painting the textures
- At this point we can modify the extracted textures of our creature using an image editing program.

- But first a few explanations and a few tips on how creatures are textured in IC.

- Generally each creature limb has its own separate texture. In zebras case we have textures for its:
- Head
- Torso
- Tail
- Frontal legs (applies to both frontal legs)
- Foot (the same texture is used for front and back feet)
- Back legs (applies to both back legs)
- Ears (applies to both ears)
- Mouth

- To have a better understanding of where each texture feature is located on the creatures limbs, you can open ComboTest program on the side, and pick your creature (to view creatures in ComboTest you must have at least 2 creatures in this folder to combine them “D:\SteamLibrary\steamapps\common\Impossible Creatures\Data\art\ebps\stock”, just copy any other creature from your extracted game files. I will explain what else the ComboTest is used for a bit later on, for now we just need to use it to understand how to paint our textures):



- If your creature has its limbs combined with another, just click these buttons to have it appear with its original limbs:


- Then go to “Options” and toggle these 2 options “LOD 0” and “Debug” to have a better understanding of where each limb begins and ends, and where the “seam” of the texture map might be located:


- With these options toggled the model will appear covered in some sort of a cyan colored wireframe:


- Each creatures limb is made out of rectangular segments called “patches” and these patches are sort of unfolded flat and laid out on top of the texture (this is originally set up in gmax), so the texture can be projected on to the model:


-For example, here you can see how the wolfs patches are laid out over its head texture and how it is projected on to the model (we can see this since we have the wolfs gmax source file):


- For most of the creatures IC developers followed a very similar design pattern when unfolding these patches. This is useful to know to have a better idea of how-to re-paint textures for your new creature.

- First of all for Head, Torso and Tail - the texture “seam” on the model runs along the center line under the creature (I added the red line to illustrate). And practically 100 % of the texture is used to be projected on to the model (you will see why I mention this when I talk about legs):


- And on the texture images themselves, for these 3 body parts, seams will always be located on the left and right side (notice the red markings):


- You can think of it as if a blanked was dropped from top on to the creature, wrapped around it and the blanket connected at its sides under the creature (the same for its head and tail):


- Now legs are a bit trickier, its harder to predict where the developers placed the patches on to the texture, for example in next images you can see how patches are placed for wolf on its leg texture. As you can see there is some dead space at the top, and 100% of the texture isn’t used.

- And in wolfs case these colored markers are the seams on wolfs leg:
- Yellow ones are connected amongst themselves at the top of the leg;
- Red ones are where the wolfs leg would connect to its torso at the top;
- Green is where the leg connects to the torso under the leg;
- Blue ones where the texture wraps around the wolfs leg;
- Pink ones where the leg connects to the foot (foot has a separate texture).
It’s a good idea to keep these seam connection spots in mind, to have as smooth texture transition as possible from one seam to another and from one limb to another:




- So you might need to take a look at your target creature in the ComboTest program and compare it to your extracted texture to have a better understanding of where these connecting seams might be located. Looking at my Zebra it looks like the top seam might run something like this:


- As you can see its actually pretty much the same layout as wolfs leg patch placement, again we can see that IC developers followed similar design patterns between similar creatures.

- Using this same method for modder made creatures might be a bit trickier, since those creatures might be made a bit more wildly (at least - I speak for myself), for example here is my dodos head texture and patch placement – wildly different approach - compared to IC developers:


- Now with those explanations out of the way, all that’s left to do is to actually paint the textures, and as I stated previously, I am using Krita for the job:


- Now this is pretty much up to you and your ability of how you want to paint your textures. But my method is to first create a grayscale skin base and then add color to it by using some sort of a layer blending option, like “Overlay” for example:


- Usually, I find textures online or extract them using 3D Ripper DX from other creatures as we already did in previous steps. And use those. For donkey I actually used coyote textures and slightly edited and recolored them.

- When painting your own creature textures do keep in mind the originals feature placement for eyes nostrils and so on.

- Also, do not change the texture dimensions.

-Here are the final results:


- Now there is one last thing we need to do to our textures. We need to make sure that these new textures have the correct color depth. Essentially the total number of unique colors in the texture needs to be the equal to (or lower than) the original texture we are replacing.

- For this task I use Irfanview. There are other programs that can do this, I am just used to Irfanview:


-Here is the process you need to repeat for each texture pair – the original and the new.


- First, open the original (zebra) texture you wish to replace using “Irfanview”:

- Then click “Image - > Information” or this click “i” button:


- A new window should pop up, and look at this number “Number of unique colors”. An important note, Irfanview for some reason counts +1 color extra every time, in reality its 67 not 68 colors here, a bit annoying, but just keep that in mind going forward if you are using Irfanview:


- Do the same action with your new texture and compare the two numbers. If the new textures number is greater, we need to reduce the color count in our new texture (if its smaller no need for any changes). For example my new texture has way more colors than the original:
5.2 - Painting the textures
- To reduce the color count in the new texture using Irfanview click “Image -> Decrease Color Depth…”, a new window should pop out.

-In the available options pick “Custom” option and enter the number of colors that we saw in the original textures information window -1 ( minus the one extra color, so 67). Then click ok and save the image to keep our changes.


- This might slightly decrease quality of your texture, but there is no other way around it.

- Once you have compared each texture pair and reduced the color count where it was necessary, we can move on to the next step.
6 - Gmax
- This next step is a bit weird, but it’s the only way to bring our new textures over to the target creature model.

- Our plan is to apply our new textures to an existing source 3D model that we can open in gmax, and simply export it. It does not matter if its not our intended creature.


- Navigate to your installed IC game files and find folder named:
“D:\SteamLibrary\steamapps\common\Impossible Creatures\DataSrc\IC\Art\EBPs\Stock”

-It should contain 3 folders “Wolf”, “Lobster” and “Archerfish”, these are the only gmax “Source” creature files we have available.

-Copy the “wolfs” folder, and rename it anyway you please, I renamed mine to “Bridge”:


-Now open the folder and open a folder inside of it called “Reference”. This folder contains the wolfs “source” 3D model called “Ref.gmax” (the other file called “Ref.max” is meant for 3Ds Max modelling program, so we can safely ignore that file):


- Open the “Ref.gmax” file. If your “Ref.gmax” file does not open with special version of “RDN game pack” by simply double-clicking it. You can also open an empty “gMax - RDN” instance, and drag and drop the file you want to open into one of its viewports (this is the way I do it).

- Once you open the wolf model, you will be greeted with this window. “gmax” can’t find the wolfs texture location on your PC, so click “Browse”:


- Another window will pop up click “Add”:


-And navigate to our newly made folder “Bridge” and inside it, a folder called “Model”, this is where all of the wolfs textures are located
“D:\SteamLibrary\steamapps\common\Impossible Creatures\DataSrc\IC\Art\EBPs\Stock\Bridge\Model”

- Then click on any texture in the folder and click “Use Path”:


- A new “Bitmap Path” will appear on the list, have it selected and click “OK”:


- “Missing Map Files” window should now appear empty, click “Continue”:


-Now click on this icon in the “gamx” located at the top, called “gmax Material Navigator” a new window will pop up (you can ignore its contents). And then slightly rotate the 3D view of the wolf using the “Arc rotate” tool found at the bottom right corner (or simply close and reopen the “Ref.gmax” file):


-if the wolf was untextured moment ago, its textures now should appear on its model:


- Now don’t worry we wont be doing any 3D modelling, we will simply use wolf as our piggy-back or “bridge” to bring the changed textures back on to the desired creatures model (Zebra in my case). We have to do it this way because we do not have access to the Zebras “source” gmax model, like we have Wolfs.

-Now before we continue a crude and somewhat long explanation on how textures and materials are set up for IC creature models, not super important to understand but bear with me.

- In “gmax” when the IC developers made Materials (textures) for the creatures they followed a certain rule. It was always a “Multi-material” that consisted of max 10 “Sub-Materials” – meaning 10 separate texture images.

- Some of them will be left blank, depending on how complex the creature is and how many limbs or special features it possesses, but they will always follow a certain order. You can see this in the wolf gmax file when you either opened the “gmax Material Navigator” or better yet click the button next to it called “gmax Material Editor”:




-As you can see wolf model uses 9 textures for its limbs. (in most source models there are 10 texture slots even if some are left blank)
- And in all models there is a certain pattern:
Nr.1 – Creatures body/torso texture;
Nr.2 – Creatures head texture;
Nr.3 – Creatures tail texture;
Nr.4 – Creatures leg texture (if 4-leg creature its frontal leg);
Nr.5 – Creatures foot texture (if 4-leg creature its frontal foot);
Nr.6 – Creatures leg texture (if 4-leg creature its back leg);
Nr.7 – Creatures foot texture (if 4-leg creature its back foot);
Nr.8 – Creatures ear (if it has ears);
Nr.9 – Creatures mouth (the inside of it);
Nr.10 – for special features like Fins, pincers or wings if the creature has them.

- For example here is the lobsters texture setup:


-As you can see textures follow the same pattern, except
- it has 10th special feature texture for pincers
- it has no ear texture
- it has no foot texture
- And a single texture is used for all of its leg limbs (since they are exactly the same in their appearance)

- But otherwise, the limb texture slots pretty much correspond with the wolfs Nr.1 for Body, Nr.2 For Head and so on, we can use this predictable pattern to our advantage.

- Now if you open the folder called “Model” in our copied “Bridge” folder:


-You will see the wolf textures and notice that they are numbered in a similar way we just saw in “gmax” “gmax Material Editor” (“awolf01.bmp” for body, “awolf02.bmp” for head and so on):


- Now this was a very longwinded way of saying – I want you to replace these textures with our new textures, but rename them to match the wolfs texture names. Like so:


- Now close gmax, and re-open the “Ref.gmax” file again, so all of the new textures are reloaded and applied to the model:


- Of course, the textures will look weird on a model they aren’t meant for, but that’s okay this is just a transitional step.

- Now we are ready to export our model, in gmax on the right side find this tab called “Utilities panel” and click it, and click this “MAXScript” button:


-And in its rollout from the Utilities list select “Export model (relic)” (select it again even if it appears to already be selected from the list):


- And in the “Export model (relic)” rollout simply click “Export” button:


- A dialog window will appear, click “yes”:


- Wait for a moment, and once it’s done your gmax might be open on a file called “Walk.gmax”, its normal it simply exported all of the wolfs animations as well, you can now close the gmax:


-The wolfs model with its new texture will be exported to IC games folder as a “Bridge.sgm” file here:
D:\SteamLibrary\steamapps\common\Impossible Creatures\Data\art\ebps\stock

-If you remember that’s the same folder where we put in our initial creatures to open with ObjectEditor and ComboTest:


-Also, I have noticed that sometimes after I made additional updates, and exported my creature again, my model did not update, until I deleted files found here:
D:\SteamLibrary\steamapps\common\Impossible Creatures\IntDataSrc\IC\Art\EBPs\Stock

- Ok now we are ready to create our new creature.
7 - Hex editor
- At this point we can create our donkey creatures “source” file, the “.sgm” one.

- Simply open the target creature “.ebp” file using ObjectEditor (in my case zebra) and click “Save”:



- A new window will pop up and we will get our “.sgm” file, now we can close the “ObjectEditor”:


- At this point we can remove all unnecessary files for the time being, except for the two new “.sgm” files:


- Now the idea is to open both of these files side by side using a hex editor program and copy the texture information held in the “Bridge.sgm” file over to “zebra.sgm” and overwrite it in specific spots. I will be using ImHex for this task:


- Once open you should see a lot of gibberish nonsense, the stuff on the left is called “hex code” the text on the right next to it is the representation of the hex code in “ASCII” characters:


- First lets take a look at “zebra.sgm” file. And look at the rows and columns where you can see the “ASCII” characters. Usually located on the right:


- The idea is to find 2 types of text strings in this sea of ASCII characters.

- First – we will want to find names of the textures originally used for zebra’s limbs, they should have similar naming convention to that of a wolf (awolf01.bmp, awolf02.bmp …). For example, at the very beginning we can see “zebra01.bmp”:


- So, we can assume the rest of the textures are named in a similar manner – zebra02.bmp, zebra03.bmp...

- Second - text string that we will be looking for will be letters “TXMP” (and “MTRL” at the very end):


- What we want to do is to replace all of the hex code in BETWEEN these two text strings “zebra01.bmp” and the next following “TXMP” text string, with hex code copied from our “Bridge.sgm” file, similarly located between “awolf01.bmp” and the next following “TXMP”.

- There are multiple “TXMP” text strings trough out the hex code so you need to pay attention and replace the correct interval of hex code for each limb.

- It is easier to find these text strings by using search command “Ctrl+F” (make sure “String” tab is selected for this task):


- The hex code blocks that we are interested in are usually located in the starting portion of the code and usually are pretty lengthy segments.

-Now it’s a bit hard to navigate these huge files filled with gibberish, that’s why I like “ImHex” feature to highlight the hex code and mark it as a bookmark using a color.

-Now what you have to do is you need to select the text right AFTER the letter “p” until the start of the following text string TXMP BEFORE the letter “T”:


- Select all the hex code sandwiched between these two strings using “shift” key, then right click and choose “Create bookmark”:


- Now all of the hex code between those two strings will be color marked.

- If you look on the right side, you will see there is a tab called “Bookmarks”, click it:


- You will see the new bookmark entry you just made, by clicking the little triangle next to it you will expand it and, you can toggle its “Lock” icon, to change its color and name, if you wish for easier navigation:

-Also, by clicking this small icon on the top right called “Jump to address” you will instantly be able to select all of the bookmarked hex code:


- Now I like to go through all of the target creatures hex code first and bookmark all of the hex code information between the texture name and the “TXMP” text string to get a neatly organized list of bookmarks.

- Its easier to find the TXMP text string first and then scroll up and select the hex code up until you hit your texture name. Next texture names usually are very close right after the previous ones ending TXMP text string (for example zebra02.bmp follows the first sections ending “TXMP”):


- Now the very last hex code segment (in my case the one that starts with “zebra09.bmp”) is going to be a bit different, it won’t end with “TXMP” instead it will end with “MTRL” text string. (I have no idea what these actually mean or why it is this way…)

- And here is the final list of bookmarks (as you can see textures might not always be in order in these files):


- So you don’t lose your work that’s done on bookmarking, have a copy of this file saved by using “Save Project As…” instead of using the simple “Save” option:


- Now we need repeat the same process for our donor file - “Bridge.sgm”:


- Now that we have both files bookmarks organized, we need to copy the appropriate hex code segments from our donor file “Bridge.sgm” into the “zebra.sgm” hex code replacing the corresponding texture information segments. For example the part that is between “zebra01 - TXMP” will be replaced with “awolf01 - TXMP” and so on.

- To do this, in your donor file “Bridge.sgm” select all of the bookmarked hex code using “Jump to address” button, then right click the code and pick “copy”:


- Then head over to your target creature hex code “zebra.sgm”, and now click the “Jump to address” to select the segment you want to overwrite, then right click and pick “Paste all”:


- New hex code will be colored red, do this until you have replaced the hex code texture information for all the limbs:


- One important thing to note is that the texture information of the new texture can’t exceed the texture information of the original – measured in bytes. This is why we performed the color count reduction with Irfanview during the final steps of our texture painting step.

- If you replace the old texture information with the new, and a few hex code entries of the old texture remain at the end of it - its okay, but if the new texture information is much larger – hex code spills over the barriers set by “texture name” and “TXMP” strings - its bad, and your model will be broken.

- For example by replacing “zebra01.bmp” texture information with “awolf01.bmp” texture information you can see the text that isn’t red are the leftovers from the zebras original texture – this is fine and the model will still work:


- You can double check and compare the texture information sizes in ImHex by selecting the hex code segment and looking at this number at the bottom measured in “bytes”


- Now once you have replaced all the hex code bookmarks with the new ones you can save it “File -> Save” to keep the changes inside the “.sgm” file.


-Ok our new textures are applied to the existing zebra model, we can now finish the rest.
8.1 - Setting up creatures .ebp; .bmp; .lsc files
-Again these next few sections are going to be very similar to my original creature creation guide.

- Here you can see all the files after my “ImHex” operations, you can copy and keep them somewhere just in case or delete them, but leave the edited “zebra.sgm” file and finally rename it to your intended creature, in my case “donkey.sgm”:


- If you remember at the beginning I mentioned that each IC creature consists of 5 separate files, we already got the “.sgm” file. Now its time to assemble the remaining 4 files.

- Let’s start with ”.ebp”, open “ObjectEditor”:


- And go to “File - > New EBP”, locate your creature “.sgm” file and open it:


-A new “.ebp” file will be added to the folder:


-And in the ObjectEditor you will finally see how your textures look once applied to the correct model:


- A small note – you can create this “.ebp” file before you start tampering with the hex code, by changing your creatures “.sgm” file hex code, changes will be automatically reflected in the creatures “.ebp” file. This is useful if you need to make multiple adjustments to the textures and check to see how they will look on the finished creature.

- ObjectEditor is used to set up and tweak the creatures animations, sounds and other miscellaneous information. You can delve deeper into the options it provides, but I will present you with the somewhat shortened version to have a nice looking and working creature in game.

-In the “Animation Editor” tab on the right side you can see the list of all of the creatures animations and motions (aren’t you glad you didn’t need to make those from scratch?). But when making a new “.ebp” for some reason motions can get duplicates, not to worry. Simply click “Delete All” and click “yes”:


-Then click “Generate” and click “yes” in the following dialog window and you have your Motion list back (Motions are generated from Animations, and motions are what will be used in game):


-At this point you can copy the original creatures “.ebp” file back and open it on the side, to use as an example, since it is pretty much the same creature only re-skinned we can steal a lot of stuff from it:



- Now in my experience there are usually two Motions that need to be slightly tweaked with every new “.ebp” file - “Run” and “Walk”:


- Select the motion you wish to tweak and click “Edit”:


-Now compare the information here with the original (zebra in my case) and simply mimic it, especially these 3 slots, these determine how fast the creatures animation will play. This is to prevent your creature looking like it is running on treadmill:


- Now head over to “Attribute Editor” tab:


- For now there are only two things you should change.

- Set its controller Type to 2 (every creature has this value at 2 – I think it means - if it is placed in the world map as a neutral creature it will have the neutral creature roaming AI):


- And give your creature a name under the “Blueprint Name” (this will later be slightly changed once we get to the localization file editing):


- We will return to finish setting up our “Attribute tab” a bit later on.

- For now head over to “Event Editor” tab:


- In here you can set up sound effects and various vfx for your creature like leap attack trails and such. For every freshly made “.ebp” this will be empty. The easiest way to set this up is by Importing events from the original creature.

- Look at your original creatures “Event Editor” tab and select all of the events, then simply click “Export events”:

- Create the event file where you will find it:


- Now return to your new creatures “Event Editor” tab and click “Import events” and find your “.events” file, and that’s it, you have your sounds for the creature:


- And for now we are done with the ObjectEditor and the “.ebp” file, remember to save your changes:


- Next we can add creatures torso texture “.bmp” file. I am not 100% sure about this, but I think this is necessary so the creature texture blending works correctly once they are being combined in game.

- Quite simply copy the torso texture you painted and color reduced and rename it so it contains the creatrues name and the name “torso”, like so:


- The next file we can get is “.lsc” file, it determines how our creature limbs will get scaled once combined with other animals. For this task you need to copy all of the creature files you extracted from IC archive files, and copy in this same folder:
“D:\SteamLibrary\steamapps\common\Impossible Creatures\Data\art\ebps\stock”

- Remember you can learn about extracting IC game assets form the archive in this guide:
https://cs2bus.com/sharedfiles/filedetails/?id=735413158

- Then launch the ComboTest program:


- Once open you can pick any 2 creatures you added to the folder and combine their limbs and play their animations to see how the swapped limbs interact with each other:


- In the Options menu, you can also turn up the level of detail (the texture blending however is not visible in this program, you will only see it once in game):


- But what we actually want to use this tool for is limb scaling.

-In the bottom right corner, you can see this panel, with this you can control how large or how small the limbs will appear once your creature is combined with the other creature’s torso and vice versa:


- For example, I combined my Donkey with Bull, and the head appears slightly too big for my liking:


- So, I select “Head” Limb from the list and click “Edit Scale” button, a dialog window will appear prompting you to enter a multiplier, I went with “0.7”:


-Now it looks a bit more… uhh, natural, coming out of that torso. Your changes are Automatically saved in limb scaling files “.lsc” that accompany the creatures “.ebp” files. Also, one automatically will be made for your creature once you start adjusting limb scaling beyond the default “1.000” (so in theory you can do without this file if you think all the limbs look good at their original 1.000 scale):
8.2 - Setting up creatures .ebp; .bmp; .lsc files
- So, the idea would be to go through all the current creature list, and combine your new creature model with other existing ones. You should swap between both torsos and apply all the limbs from the other creature, and then do the same other way around and inspect the combination - if the limbs need to be adjusted for leg clipping or ugly looking connections at tail and neck:


-Once you have done this the “.lsc” will be automatically made and updated with your changes.

-The final file to add is the creatures “.lua” file – that will contain all of the creatures stats like its attack and health. Simply copy another creatures “.lua” file and rename it to yours (since I used zebra as my base, I will also copy its “.lua” file):


- Reminder you wont be able to open the creatures “.ebp” file with the creatures “.lua” file present in the same folder.

- The “.lua” file should be edited to better suit your creature side by side with your mods “localization” file open, so will explain these two concepts in the next part.
9.1 – Setting up .lua and localization files
- Open your “.lua” file, it can be opened with the Notepad:


-As I already mentioned previously this file contains and determines all the gameplay information for the creature, like its attack and health values.

- Once you open it you will see that it is filled with a bunch of text, what I will try to do is I will try to break up the text in blocks and explain what it means from top to botom:


-The lines that start with “--” are comments – meaning they don’t affect the “code” of the file, however do change the creature’s name to yours just to be neat and tidy. The next 2 lines following the name, as far I know don’t do anything, so you don’t need to touch them at all:



-“endurance_bonus” – by entering a value in the second slot, like 0.15, you automatically give your creature “High endurance” ability, if you don’t want your creature to have “High endurance” leave it as a “0”. I think the number also determines how much more energy the creature will have for its special abilities.

-“size”- gives creature one of the 10 standard in game sizes, type in a number from 1-10 in the second value slot and leave the first “1” value as it is.

-“sight_radius1” – the first number should remain 4, and the second is the vision radius of your creature.

“night_sight_radius” – a leftover from the game development of IC. I guess they had planned a day-night cycle at one point, this does nothing and we can ignore it;

- “stocktype” – determines how the combination buttons will look like for your creature in the army builder, meaning these limb buttons:

The list of values is:
0 – Bird-like;
1 – Land animal with 4 limbs;
2 – Land-insect;
3 – Sanke-like;
4 – Flying-insect;;
5 – Fish-like
The first value should just remain “1”, and I will leave my second value also as “1”, since it’s a 4-legged land creature.

-A bit of information going forward, you should also know that in the context of this file every type of limb has a number assigned to it:
1 – I think this means body as a whole, like “pack hunter” applies even if no parts of the creature are used in the final combination;
2–Front legs;
3–Back legs;
4–Head;
5–Tail;
6–Troso;
7–Wings;
8–Arms.


-This next block as you might have guessed, gives creature its “defense”. Value “exp-armour” is a multiplier, if your creatures size increases by combining it, for each size increase armor value will grow by this multiplier, but this value is left as 0 across all original creatures, and so will I.

- What “exp_dodge” means, I have no Idea, but this value is equal across all creatures, I just ignore it.

-As you can see the limb numbers are written as the first number value and the defense values are written as the second value (for some reason the defense values are multiplied by 0.01 here, so just look at these armor values as if you would multiply them by 100 and that’s the value that will appear in game).


-This next block as you might have also guessed, gives creature its “health” values. As before the first value points to the limb, and the second to its health value. This “exp_hitpoints” value determines by how much your creature’s health will increase if its size increases. Among the original IC creatures, this number is the same, so I will also keep it at the same value.


-This next block determines the creature’s speed on land. I don’t know what “speed_mid” values are for, so I simply ignore these 4 lines, maybe this is also something developers eventually dropped.

-The “speed_max” values on the other hand are the ones that determine your creatures in game land speed, so adjust these ones. As before, the first value is its limb, the second the speed value. As before the speed values will adjust according to your creature’s size once combined with larger creature, this time the “exp_speed_max” value will decrease your creatures speed with each size increase since it has negative value.


-Next few values are for “airspeed” and “waterspeed”, once you add a value to these, your creature becomes either flying or amphibious, if you want your creature to be purely swimming just make all your land speed values “0” and give it “waterspeed” values.


-Next block concerns our creature’s melee damage, you can put your melee damage on any body part you want, for example if you want to have damage on your creature’s torso use the value “6” and write similarly structured lines as you can see for “melee2” – front legs, and “melee4” – head.

-Now there is a bit more to uncover here so let’s go line by line for “melee2” as an example.

-“melee2_number” – simply shows in what order this value will be displayed in army builder, first value shows the limb, the second value it’s order, in melee2 case its Nr.1:

-“melee2_dmgtype” – as before the first value simply points to the limb (last time I mention this I swear) the second determines the damage type:
-here is the list of known melee damage types:
0 - Normal;
1 - Poison;
2 - Horns;
3 - Poison + Horns;
4 - Barrier destroy;
5 - Barrier destroy + poison;
6 - Barrier + horns;
7 - Poison + horns + barrier destroy.

-I don’t know for sure if all 3 or 2 attack types can actually be applied at the same time and work, but they show up in army builder. Also, apparently there are more values to this, some of which give the same attack types, but others are weirder, like plague attack. I haven’t really tested that stuff out so for now I won’t try to describe it.

-“melee2_damage” – simply determines the damage value of your creature.

-“melee2_rate” – its attack speed.

-“melee2_contact” – I don’t know what this value does, but as before it seems to be the same across all IC original creatures.

-Now, with the next 3 lines things become a bit more “complex”, as for these we will need to use program called “Resource Hacker”, if you remember I told you should have made a mod folder and other associated files, following this guide:
https://cs2bus.com/sharedfiles/filedetails/?id=735413158

-I am going to assume that you did, so we will navigate to the localization files for your mod. I will use my “Dino Dawn” mod as an example, for my mod its:
“\Impossible Creatures\Locale\English\dinodawn”

-Open the “modtext.dll” file with “Resource Hacker”:


-Expand the “String Table”:


-Next click this button “Create resources from Blank Script”:


-It will add another “blank script” where you can add your new text strings, seems like each “script” has a limit of how many lines can be added (I call the things on the left with a star next to them a “script”).
9.2 – Setting up .lua and localization files
-Sometimes by compiling a new “blank script” the previous page can get messed up, so I like to start the next text string with an “ID” number of “59001” to make sure I don’t mess up games original text strings. In the original ".dll" file the "58001" is the final string.

STRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US { }

-The text you wish to add to the game will go in between the brackets.

-We will add the following text strings to the game, and I will refer to these numbers in my “.lua” file going forward. I describe the text I added a bit further down the line (strings 59001-59306 I used for my previous creations so to make sure I don’t mess up the previous scrips I started the script for my donkey at 59350):


-Once you added the necessary text strings click the “Compile Script button”:


-And a new “script” should be created at the very end of the list indicated by the red star:


-Before saving, check the previous script, to make sure text isn’t all messed up. Not sure why, but sometimes it rewrites the previous script with a few strings from the new script.

-String ID’s don’t have to be consecutive if you skip a few this actually sometimes avoids the issue of rewriting the previous script.

-If everything seems fine save your localization ".dll" file to keep the changes.

-The values written in our “.lua” file for “melee2_name”, “melee2_shortdesc” and “melee2_longdesc” refer to these strings in this “ModText.dll” localization file.

-While you are at it, type out the rest of the text strings in your localization file that will be used by your new creature as seen in the example:
1. Your creature’s name.
2. Its description, that will appear once you press the “information” button in army builder:

3-4. The next two strings will determine how your combined creature will be named “Komodo Dragon with the Skunk and you get…”
5. This value will appear in the army builder, and the number in brackets will be taken from your “.lua” “melee2_damage” value and replace “%1DAMAGEVAL%”:

6. This text string will display once you mouse over the attack:

7. Not sure what these “XXX” are for, but every other creature had them at the end of their attack description and also “melee2_longdesc” refers to this value.

-We will keep the localization file open on the side in our “Resource hacker” as we continue editing our “.lua” file, so we can remember the numbers we need to reference.

-And now back to where we left off, here I changed the reference numbers from zebras to match my donkeys text string that we just filled out in the localization file (for both attacks):


-For some reason you also need to have its whole attack sum value defined in the “melee_damage”.

-The “exp_melee2_damage” as before shows by how much creatures damage will increase if creatures size increases. Since this is the same value across all the original creatures, I will leave it as is as well.


-The next block is simply the various abilities your creature can possess, if you wish to give your creature an ability, then pick the first value on which body part the ability should be placed, and type in “1” as the second value, to enable the ability. I am leaving my creature with the same abilities as the zebra, so all of these will remain as “0” for me except for end bonus at the very end.


-On to the next block. “front_foot_type” and “rear_foot_type” will determine how your creatures footprints will sound like once it walks in game, here is the list of sounds:
0 – none;
1 – paw;
2 – hoof;
3 – claw/piston like? (this is on elephant and crocodile);
4 – insect like.

-“vocal_type” – will determine what response sounds your creature will make once you select it in game. As far as I can tell - you can only use what other creatures have, for example number “62” will make it sound like a zebra.

“Hide_type” – determines the sounds that will go off if creature is being damaged:
1 – cloth (for human characters);
2 – carapace;
3 – fur/feathers;
4 – scales/hard skin (lizards/fish/elephant);
5 - Smooth (dolphin and whales);
6 – Steel (yes buildings also have hide type).


- The next block is the same across all original IC creatures, except for “selection_sloppyness” it seems like this value is bigger on smaller creatures, not sure what its purpose is though, so I am going to leave it the same as zebra, and simply leave the rest as is you can experiment at your own leisure.

- And finally the last 3 lines, fill these with the values from the localization file you still have open in “Resource hacker”:

- One last thing I can suggest is that you add this extra line to the “.lua”:


-Normally you wont find this line in any other original creatures “.lua” file, but in a very similar way this line can be found in human characters “.lua” files. This line prevents your creature from looking weird and angular once you zoom out to much, you might have noticed this effect with other IC creatures -especially snakes. I guess this was used as a method to conserve your PC resources when playing the game in the good old days. Here you can see the comparison without the line added and with it:

-If you want to give your creature other specific abilities I suggest you poke around in the existing creature “.lua” files and see how they work.

-Now save your “.lua” file and close it, we are done with it.

-Now we have all 5 files necessary for our creature to be put in game:

10 - Finishing up
-To see our creature in-game, navigate to this folder in your mod, if you don’t have this kind of folder structure in your mod, create one:
“Impossible Creatures\YOURMODFOLDER\data\art\ebps\stock”

-And copy in your 5-file collection that we just made.

-Next you want to navigate to this folder in your mod, (again if you don’t have this folder structure in your mod folder, create it):
“Impossible Creatures\YOURMODFOLDER\data\combiner”

-In this folder you should copy and paste a file called “stock.lua” that you can find in the extracted game files, in folder under the same name – “combiner”.

-Once you have copied it into your mod’s folder, open it.

-Here you need to add your creatures name, so it will appear in-game, to keep it organized you can also add your mods name on top of it (if you wish to remove original creatures form the game, delete its name here, or “comment it out” using the two dashes “--” just like it’s done with “KONG”):


-Now we can open IC and see our creation in-game (remember to select your mod from the mod list in-game).

-First thing you can do is, while in army combiner take a screenshot of your creature that you will use for its icon (for now it will be a white square):


- Now we can close our game and return to its “.ebp” to finish two things: “D:\SteamLibrary\steamapps\common\Impossible Creatures\Data\art\ebps\stock”

- Open your “.ebp” file (remember it wont open as long as there is a “.lua” file present) and open the “Attrbute Editor” tab, if you remember we left a few things unfinished here:


- First we can add our icon, the icon needs to be 64x64 pixels large “.bmp” image file, so crop the screenshot you just took and resize it:


-Then in the “Attribute Editor” tab, tick in the “Has Icon” box and click on the “Load Icon” button and locate your image, if it does not load right away switch between the tabs and it should appear:


- And finally we can add the creatures name properly, use the text string number from your localization file and add “$” symbol in front of it (While simply leving the creatures name here works, this is more “correct” way of doing it):


- Remember to save your “.ebp” file return your “.lua” file and finally replace all the creature files with the new changes in your mods folder.

- And now we have our creature in game and ready to be used:


11 - Epilogue, preparing and publishing your mod for Steam Workshop
11 – Epilogue, preparing and publishing your mod for Steam Workshop

-To publish your mod on Steam workshop, follow the instructions in file called “IC_Wokshop_Manual_v1.0.pdf” which you can find in this folder:
“\Impossible Creatures\WorkshopTool”

-You can launch the ”workshop tool” mentioned in the file, trough steam IC, by opening its “properties”, and changing its launch options:


-One thing that’s somewhat tricky to get is the “.sga” file. So I will slightly expand on this guide I have been nagging you all along this time:
https://cs2bus.com/sharedfiles/filedetails/?id=735413158

-Open your mods “.module” file with notepad again, and add additional lines according to your mods name, by adding a reference to an “.sga” file, which we will create right after:


-Now let’s create the “.sga” file for your mod, that is required in the instructions. To do this open “ModPackager”, found in IC RDN Tools folder:
“\Impossible Creatures\RDNTools”




-A window should pop up, select “Create Archive” and click “OK”:


-It will prompt you for a name, simply call it your mods name and click “OK”:


-Next another window will pop up, fill it out accordingly, the Root folder it points to needs to be the "data" folder that contains all your mods files:


-Next you should see something similar to this:


-Right-click your mods name and pick “Add folder” or “Add Files”:


-Find your mods “data” folder, and add its contents one by one.

-Now by expanding this directory, you should see files that your mod folder contains, so it has a structure like this:


-Click “Archive->Build Archive”:


-Name it your mods name + data at the end and save it:


-Now wait for a moment, while it does its thing, and a window should pop up once its done, click “OK”:


-You can close the “ModPackager” now.

-Now locate your new “.sga” file, and add it to the files you will publish to steam workshop, we should now have a full set of files required by the instructions manual:


-Now follow the instruction manual's steps, and that’s it your beautiful creation should be in game.

-Good luck in your endeavors. Hope this helped!
15 Comments
jwtitus 23 May @ 7:00pm 
It worked, thanks!! When I finished editing my model, everything that wasn't part of the model that I wanted would have this pure black background, sort of like how everything the archerfish doesn't use is in pink. Changing that black to the specific pink color got rid of it, which was exactly what I wanted! Now I can get to working on that barn owl ;)
Dephesmo  [author] 22 May @ 10:32pm 
Not entirely sure what you mean by background. But in IC you can make certain parts of the model invisible by using a specific pink color in your textures. This is done for pretty much all of the bird wings to make them look more detailed along their edge. In a very similar way this is done to the Archerfish model, you can inspect its textures to get the exact color you need. (it will appear invisible only in the Object editor and the game itself, in gmax it will simply be a pink color)
jwtitus 22 May @ 6:17pm 
Got it to work, thank you so much! Also, how did you get bird wing textures working? I noticed it only accepts it on the model if there's a background on the texture, and most bird wings have no background. Adding a background allows it to be added to the model, but then the background gets added as part of the wing, filling in the extra space between feathers. This makes the wing kind of sharp-looking, going down in a diagonal line like your pteranodon's wings. That works really well for something with more geometrical wings, like the pteranodon or dragonfly, but doesn't work well for the birds. Any advice? Thank you again for all your help so far, it really means a lot!
Dephesmo  [author] 22 May @ 4:54am 
You can try to add the 10th material to the wolfs Multi-material, then make a ".bmp" image in its "Model" folder that will be used as the 10th texture, name it "awofl10" for example. And then you need to load it as the 10th material's "Diffuse Color" Map trough the "Material Editor".
jwtitus 20 May @ 6:57pm 
How would this work for a creature with a texture #10? I tried exporting the wolf/bridge model and texture 10 didn't show up in ImHex. I tried duplicating the lobster model as my bridge since it has a texture 10, and putting my textures over the lobster's before exporting the model didn't seem to work properly as the resulting bridge model still had textures marked "awolf01" etc. instead of "lobster01"... and the texture #10 still didn't show up in ImHex. Did I do something wrong with any of this?
jwtitus 9 May @ 8:29pm 
That seemed to be the problem! I tried opening up gmax-RDN and dragging the file there and it worked as the guide described. Thank you so much!!
Dephesmo  [author] 7 May @ 10:01pm 
Most likely the issue is with the gmax program;
- either you opened the model with the regular "gmax" not the "gmax-RDN" version meant for IC modding.
- or it wasn't properly set up at the "2 - Setting up gmax" step.

If you are using the proper version to open it, I suggest you check if you copied all the right files in the right places to add the extra functionality to gmax.
jwtitus 7 May @ 4:23pm 
I've made it all the way down to the gmax step, but nothing is showing up in the utilities tab after clicking on MAXScript, it shows a drop down menu but every option in it is empty. Does that mean something is wrong with the model or textures?
the2ndSign 6 May @ 8:04pm 
@Dephesmo: A .SGA archive is not actually needed for mods to work, although it's good practice for large projects like Tellurian.
jwtitus 28 Apr @ 4:55pm 
That seemed to be the problem, when I used a new number I used one in the 60000s and the data showed up in game. Good to know for the future though! I'll keep that number in mind.