Build 1504 Available for Download
Genetics, part one. This is going to be a really short change log, but there actually is a lot that has changed behind the scenes. Strangely enough, simulating genetics, DNA, trait inheritance, and all the sub-processes that follow is actually not easy and takes quite a bit of work.
Unfortunately, a fair amount of that time was
wasted spent getting half-way into an implementation of something and realizing that it simply will not work, tearing it down, and starting over. This happened about three times that I can think of.
The system that I did eventually get in place works like so: the base unit is a gene; I’m not going to be simulating anything smaller than that. Genes confer a change to a single stat; currently only the basic stats such as strength, charisma, or vitality, but eventually this will expand to include things like attack damage or mana pool regeneration rate. Genes “fit” into a gene slot within a chromosome. Some gene slots have a preferred type of gene (intellect, perception, dexterity, etc), and some gene slots do not (these are known as “grey” slots). Furthermore, some gene slots will enforce their preferred type, meaning that you cannot place anything in that slot if it does not match the slot’s preferred type. If all the types in a given chromosome match (not counting the grey slots), that chromosome will confer an additional bonus to the player, such as +1 to all stats, or an additional +5% to that chromosome’s effect on overall stats. These bonuses are calculated, added up, and the end result is applied to the character.
If you’re interested in seeing the nitty-gritty, rather than just the visual menu (which you can bring up by pressing tab), you can try the new DumpStatsToConsole and DumpGenomeToConsole commands. Try making a note of your current genetic make up, and then stand on the pain-causing stone square until you spawn into one of your offspring, and note that they got half their chromosomes from you (with some slight mutations along the way, of course).
In other news, it’s SoVII:ST’s first birthday! Well, in UE4, anyway – I didn’t keep track of when I first started working on it. Anywho, to celebrate, I guess I’ve technically added the game’s first item of clothing, although it’s not really coded as such.
upgraded engine to UE 4.7.6.
added basic visualization for genetic code; press tab to see it.
added random mutation to genetic code between generations.
added DumpStatsToConsole and DumpGenomeToConsole commands to inspect the player’s genome or derived stats.
The ocean is solid, preventing you from swimming in it.
The [esc] menu is reluctant to give and take focus, requiring the user to click once to focus it upon opening and click once again to defocus it after closing the menu.
Turning headbob off will cause the player’s head to move through the camera while running or sprinting, temporarily obstructing your view.
Running out of living people to spawn into upon death will cause you to freeze in place and will display a debug message onscreen. To “fix” this, open the console and type RestartLevel, then press [enter].
During periods of high CPU use, ragdolls may occasionally fall through terrain.
There is a very small chance that everyone alive may die before the player has a chance to start playing.
You can download 1504 as a self-extracting archive (297mb, 676mb decompressed) directly from icannotfly.net.
If you find any bugs, please let me know.
To start the game, extract the contents of the archive and run PlayGame-1080p.bat. You can edit this file if you’d like to change the resolution to better match your screen.