Anyma Engine DevLog #2: Simple Origins, Complex Evolutions.


Welcome to the second installment of my devlog for the Anyma Engine, named after my cat. This custom game engine specializes in high-performance evolution simulations, with a goal to create the largest and most impressive evolution simulations ever seen.

Massive Progress

Over the past two weeks, I've made significant progress, exceeding my expectations. After implementing raycasting and efficient collision detection, I developed simple eye sensors. I then created a basic linear algebra "library" for matrix and vector multiplications, which I used to build a neural network. This network directly links input from the eye sensors to outputs—moving left, right, or forward. Thus, the presence of another agent leads to immediate movement, without complex behaviors.

Carnivore being bullied

Herbivores evading a carnivore by moving backwards. Looking them straight in the eye, taunting them.

So far I only implemented the simplest possible brain, directly mapping inputs to outputs, and the simplest gene, mutating all network weights with each reproduction. This simplistic approach lead to astonishing behaviors, including herbivore herds, pack-hunting predators, and herbivores moving backward to keep an eye on predators, among other fascinating behaviors.

These results are surprisingly complex for such a simple configuration. I cannot wait to see what my next features will lead to. 

Typical Evolution

In most simulations, I observe three stages of evolution:

  1. Herbivores move backward to evade predators.
  2. Herbivores form tight flocks for collective defense.
  3. Herbivores create low-density flocks, staying slightly apart to increase the distance predators must cover. Additionally, they constantly rotate to monitor and evade predators.

Again, only using a brain of around 27 parameters. That's crazy to me. 

Next Steps

I plan to focus on several areas:

- Feedback: I aim to incorporate graphs, stats, and visualizations to introspect into agents' brains, genetics, and relationships to other agents. Imagine a color overlay that shows genetic distance.

- Scaling Up: Implementing multithreading is crucial for larger-scale simulations.

- Visualization: I intend to improve the graphics and add entertaining effects, such as extra particles during predator attacks. These should be more fun to look at as well as more informative to what is going on. 

- Simulation Rules: I will define rules regarding the number of eyes an agent can have, the potential for herbivore and carnivore overlap, and the specifics of predator attacks.

With a focus on performance, I'm particularly excited to introduce multithreading, which represents a significant step towards scaling up the simulations.

Lets see where this goes.

Files

anyma-engine-win64-release.zip 1 MB
Version 7 46 days ago

Get Anyma Engine

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.