Evolution 3.0 - This is a big update!
I‘m incredibly excited to announce that the update I have been working on (for more than a year now) is finally finished. A huge thank you to everybody who has supported this project over the years!
Let‘s take a look at some of the new features:
What's New
Import and Export Save Files
It's now possible to export both simulation saves and creature designs directly from within the app using native file dialogs and share popovers. This means that you can now easily share your creature designs with your friends e.g. using AirDrop. You can also use this feature to transfer files between your own devices and to manually back up your saves.
This feature is supported on macOS, Windows, iOS and Android, but not on Web or Linux.
It is also important to note that Unity's physics system is not fully deterministic, especially across different hardware. Therefore, you might see slight changes in behaviour (and with that fitness drops) when importing and loading a simulation save file, which was originally created on a different device.
UI Improvements
Evolution 3.0 comes with a new UI. You will probably first notice the redesigned editor screen, which not only comes with new features but is hopefully also easier to understand and navigate. You might notice that the zoom slider in the bottom right corner is gone. That's because you can now pinch to zoom on mobile and scroll to zoom on desktop. Here's a before and after comparison.
One of the most exciting UI improvements is the new file selection screen, which is now also used for creature design saves in addition to simulation saves. This new UI allows you to search and rename your save files. And I think it looks a lot better as well.
The settings screen now has tooltips, which explain what each setting does, which is especially helpful for the new selection/recombination/mutation algorithm options.
The help pages have been redesigned with tabs instead of being one very long block of text, which makes that screen much more memory efficient and allows it to open a lot faster than before.
New Editor Features
- Select Tool
With the "Select" tool you can select individual body parts or multiple parts at once by dragging out a selection rectangle. When you have one or more parts selected and you switch to the "Delete" tool, the whole selection gets deleted. Similarly, you can now move entire selections at once using the "Move" tool, instead of only one joint at a time.
- Muscle, Bone & Joint Settings
When you select a single muscle, bone or joint, you now get additional options which allow you to really fine-tune your creature design. You can control the weight of bones and joints, the strength of each muscle and whether or not each individual muscle can expand or not. Please keep in mind that the default settings have been chosen to work well with the physics engine, so if you for example make your creature very lightweight and at the same time max out all of the muscle strengths, you might see an increasing number of glitches.
- Clear Button
There is now a dedicated clear button, so you don't have to select "Creature" from the old creature designs dropdown anymore in order to delete your current design and start from scratch.
- Undo & Redo
I don't think this needs much of an explanation. This alone makes the editor so much easier to use.
Simulation
- Distance Markers
This has been one of the most common requests since the very beginning and it's finally here.
- Multiple Selection, Recombination and Mutation Algorithms
You can now decide which selection, recombination and mutation algorithm is used during the simulation. Experiment around with which settings lead to faster and better results.
- Zoom
Just like in the editor, you can now also pinch/scroll to zoom during the simulation.
- Hide Muscles
In addition to visualizing the muscle contraction, you can turn off muscle rendering completely if you like.
- Improved Visual Clarity
The camera is always locked onto a single creature (which you can change using the arrow keys on your keyboard or the arrow buttons in the top left). You previously had the option to either show all creatures at the same time or only render one at a time. With this new update, only the creature that the camera is currently focused on will render at full opacity. All other creatures are rendered behind this creature at a lower opacity, which makes it a lot easier to understand what's going on. You can customize the opacity of the "background" creatures in the visibility settings.
- Change Population Size during Simulation
It is now possible to change the population size during the simulation from the pause screen.
- Improved Physics Determinism
The simulation is now a lot more deterministic (at least on a per-device basis), which fixes many playback and unexpected fitness drop issues.
- Improved Physics Performance & Smaller Save Files
Some other features include more a more efficient physics simulation, which is especially important for mobile devices and smaller save file sizes.
Legacy Simulations
There is one unfortunate thing with this update that I have to point out though. Unity made some internal changes to its physics system (they upgraded to PhysX 3.4), which breaks the accurate playback of simulation that were saved with previous versions.
I visualized the effect of the physics changes on old simulation saves here:
https://twitter.com/keiwando/status/1122929085158707201?s=20
So unfortunately, you won't be able to accurately play back your old simulation saves with this new version and there is not really anything I can do about that (since Unity's physics implementation and changes to it are outside of my control). Sorry about that! I wrote about this in more detail here:
http://keiwando.com/evolution/legacy
However, I went ahead and created a special build of this app using an older version of Unity before they made the physics changes, which you can use to play back your old simulation saves in a browser (now that you can easily export them from the app as well):
https://keiwan.itch.io/evolution-legacy-playback
This won't necessarily be 100% accurate either, since Unity's physics system is not deterministic across different platforms, but it's the best I can do without any insane amount of overhead. Please also note that I won't be updating this special playback build if it ever happens to break in the future.
Source Code
It was never a secret but the entire source code of this project is in a public repository on my GitHub:
https://github.com/keiwando/evolution
Quite a few people have been asking me for it so I decided to include a link to it within the application itself so that everybody would at least be aware that it exists. Look into the README for information on how you can use this code.
Files
Get Evolution
Evolution
Create creatures and let them evolve to see how they master various tasks.
Status | Released |
Author | Keiwan |
Genre | Simulation |
Tags | artificial-intelligence, building, creatures, evolution, evolutionary-algorithm, genetic-algorithm, machine-learning, neural-network, Unity |
More posts
- 3.1 Update - WingsSep 18, 2022
Comments
Log in with itch.io to leave a comment.
please make it so you can make the simulation run faster
...
wow
I need a windows x86 port
Hi! Just tried your update but can't place a joint anywhere hehe! I have win 10 and my specs are: Intel Core i5-2400 3.10 ghz. I have 12 G RAM. I tried the game at default settings after downloading it.
Just tried the web version and it works fine. Only happening with the downloaded version.
Same problem here! Not able to draw creatures in the desktop app. Would be amazing if you could fix it! An amazing Program btw ;)