Not sure if you said this but how straining was this autoevo of yours on your PC? How long did it take for the equivalent to one autoevo session in Thrive to complete?
I ran what is equivalent to one auto-evo session 100 times each with the same starting conditions. The impact on the ever increasing number of species and populations can definitely become measurable over time and until I make it so dynamic start states can be loaded from files I wonβt know that impact yet. The average is about 16 ms. All runs were between 10 to 43 ms. Again how the ever increasing number of populations and species that Thrive spawns will impact it much more than Thriveβs own auto-evo system does is currently unknown to me.
as an FYI these are my specs:
Intel Core i7-10850H
16 GB of ram
integrated graphics and Nvidia Quadro T2000
This is why we should test it in the same environment thriveβs autoevo operates in so we get a fair measure of how well it does
That is what Iβm trying to reach atm
Btw, do not post two posts in a row, edit stuff into your post if itβs the latest post of a thread
If it already happened, copy and then remove the later post and paste the later post into the former post
What was the mode and median of run times? Those stats can also give important information for improvement.
I do not have that data nor will I be able to get that data for now. My current interest is to be able to use auto-evo exports from thrive to have bigger and procedurally generated worlds. Makes the performance hit a little more measurable and comparable.
And after that youβll move on to an in-game implementation of your system?
Do you already have ideas on how you could further optimize your algorithm, based on what you have observed so far from your data?
Probably will. The version in C was made as a proof of concept and also because thatβs the language Iβm more comfortable. Now that I have a more concrete idea of what exactly I am doing through an already existing implementation the next logical step is to do the full thing.
How long do you think itβd take you to make the port of this improved autoevo in the game?
Algorithm optimisations is more about reducing the workload. Caching values so the program doesnβt spend time doing unnecessary operations.
Do you think your algorithm would be easily applied to Multicellular and Macroscopic without major changes, or would there be additional major changes needed for those particular stages?
I think this could be of need once we get to the later stages anyhow, no matter which autoevo gets through
It shouldnβt be too difficult. The main hurdle is the representation of what an individual is. Changing it from that means a single cell to something that can represent either single cells or multicellular organisms. The rest is already existent. But macroscopic is a little unknown. It depends on the direction the editor goes so by far the biggest modifications would be systems to handle macroscopic. Again how much depends on how it will work.
Macroscopic, aware and awakening will base on doing stuff with metaballs so they would be the base unit, with some other stuff serving as modifications to those
Wellβ¦ no more than a few months to get everything that I have in the proof of concept in the game. Iβm not entirely sure for the complete compatibility but within that timescale at the least
Iβll be looking forward to this implementation then, I presume you will stay at 1.1.0 with it?
I donβt think I will have much of a choice for the time being. It depends on the underlying changes. If all the information given to auto-evo doesnβt change nor the output expected from it then it shouldnβt be a problem. If there are changes that conflict then Iβll have to stay within specific versions
To begin with, practically everything surrounding auto-evo is in: Thrive/src/auto-evo at master Β· Revolutionary-Games/Thrive Β· GitHub
And some external documentation is in: Thrive/doc/auto_evo.md at master Β· Revolutionary-Games/Thrive Β· GitHub