# Evolution algorithm development

**URL:** <https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981>\
**Category:** Meta\
**Created:** [December 22, 2024, 3:57pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981 "2024-12-22T15:57:25Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![handy](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/h/b5a626/32.png) [@handy](https://community.revolutionarygamesstudio.com/u/handy)\
**Post date:** [December 22, 2024, 3:57pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/1 "2024-12-22T15:57:26Z")

</div>

I am new to C# and game engines but I have some experience in python and quite the experience in evolution algorithm, so I attempted to understand the current code source but got Lost , so I want some guidance towards the right place to find the current code of EA(evolution algorithm)

---

<div class="post-metadata">

**Author:** ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)\
**Post date:** [December 22, 2024, 4:09pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/2 "2024-12-22T16:09:09Z")

</div>

The evolution algorithm of Thrive is called “autoevo” or “auto-evo” if that helps.

---

<div class="post-metadata">

**Author:** ![C009](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/c009/32/12168_2.png) [@C009](https://community.revolutionarygamesstudio.com/u/C009)\
**Post date:** [December 22, 2024, 4:24pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/3 "2024-12-22T16:24:31Z")

</div>

I can point you to line 703 of GameWorld, this is one place where auto-evo get’s called. [Thrive/src/general/base\_stage/EditorBase.cs at master · Revolutionary-Games/Thrive · GitHub](https://github.com/Revolutionary-Games/Thrive/blob/master/src/general/base_stage/EditorBase.cs#L703)  
I recommend exploring stuff with some IDE, because usually you can right click method call and you can then go to method implementation or _all_ method calls.

---

<div class="post-metadata">

**Author:** ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)\
**Post date:** [December 22, 2024, 4:39pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/4 "2024-12-22T16:39:02Z")

</div>

> [@C009](#):
>
> IDE

What does “IDE” stand for?

---

<div class="post-metadata">

**Author:** ![C009](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/c009/32/12168_2.png) [@C009](https://community.revolutionarygamesstudio.com/u/C009)\
**Post date:** [December 22, 2024, 5:25pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/5 "2024-12-22T17:25:17Z")

</div>

Integrated Development Environment.

---

<div class="post-metadata">

**Author:** ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Post date:** [December 22, 2024, 5:35pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/6 "2024-12-22T17:35:35Z")

</div>

@handy As a quick summary of all core concepts of auto-evo, this document is a must read:

> <https://github.com/Revolutionary-Games/Thrive/blob/master/doc/auto_evo.md>

> [@C009](#):
>
> I can point you to line 703 of GameWorld, this is one place where auto-evo get’s called.

While it’s possible to navigate from here to the code you need to see. I think a better starting point is looking specifically at the files in the auto-evo folder:

> **[Thrive/src/auto-evo at master · Revolutionary-Games/Thrive](https://github.com/Revolutionary-Games/Thrive/tree/master/src/auto-evo)**
>
> The main repository for the development of the evolution game Thrive. - Revolutionary-Games/Thrive

And while just randomly checking things starting from the top level will eventually work, I would also recommend using an IDE and starting here from the population number calculation part and jumping to the called methods to start to get into the parts of the auto-evo system:

> <https://github.com/Revolutionary-Games/Thrive/blob/master/src/auto-evo/simulation/MichePopulation.cs#L191>

The other key part is then the miche tree generation and the selection pressures that are on the miche tree nodes.

---

<div class="post-metadata">

**Author:** ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)\
**Post date:** [December 29, 2024, 1:24pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/7 "2024-12-29T13:24:00Z")

</div>

So, handy, have you managed to understand the auto-evo algorithm yet? You didn’t ask us for any more clues, so I’d guess you didn’t stumble upon any more major problems…

---

<div class="post-metadata">

**Author:** ![handy](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/h/b5a626/32.png) [@handy](https://community.revolutionarygamesstudio.com/u/handy)\
**Post date:** [December 29, 2024, 1:49pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/8 "2024-12-29T13:49:28Z")

</div>

Rather then not stumbling into any major problem , I would rather define my current stat as stumbling into thrive , I am at a critical year in my education (I have an international Exam at the end of the year), so I am obliged to focus on my studies, never the less, I am trying to read the documents mentioned in the doc repertory, I might as well try to understand game engines in the summer holidays, moreover I am a perfectionist guy so I might as well understand everything there is to understand about the game before attempting my first contribution, anyway since I am quite busy{studying:( }, I would be very happy if you always send me notification about the current discussion and issues of the thrive community. Because I really want to participate in some of the theoratical discussion about auto-evo and the realistic aspect of the game

---

<div class="post-metadata">

**Author:** ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)\
**Post date:** [December 29, 2024, 2:08pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/9 "2024-12-29T14:08:57Z")

</div>

You should focus on your Life before Thrive. If you can’t find time to contribute something in, there surely should be somebody else to do that. It’s just that it makes Thrive’s development take longer…

---

<div class="post-metadata">

**Author:** ![handy](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/h/b5a626/32.png) [@handy](https://community.revolutionarygamesstudio.com/u/handy)\
**Post date:** [December 29, 2024, 2:27pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/10 "2024-12-29T14:27:59Z")

</div>

Well taking long time is not a problem,I mean as long as the game is attracting more and more attention and as long as this attention is converted into a contribution things will go smoothly, that’s why I am into long term contribution, if I start learning game engines then Godot specifically, then honing my skills in C#, when I aquire the needed skills it will be easier to contribute actively rather than just talking and day dreaming

---

<div class="post-metadata">

**Author:** ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)\
**Post date:** [December 29, 2024, 4:14pm UTC](https://community.revolutionarygamesstudio.com/t/evolution-algorithm-development/7981/11 "2024-12-29T16:14:41Z")

</div>

Agreed. That is the type of developers we need.
