Inspiration
In school, we were learning about Hardy Weinberg Equilibrium and how it describes entire populations through generations. We wanted to create software where people could test out this Darwinian evolution in an engaging, immersive, and friendly way.
What it does
Our project provides users with a clean way to see how changing population characteristics can have generational impacts on the population. Users can manipulate the amount of creatures in the ecosystem, amount of food per generation, speed of the creatures, the vision of the creatures, and the size of the creatures. Then, they can watch the population evolve over 10 generations. Furthermore, the user can watch a 3D graph, displaying the various characteristics of the entire population, evolve over the generations. The interactive and user-friendly UI is perfect for students and teachers who want to learn and teach about natural selection and Darwinian evolution.
How we built it
Challenges we ran into
Creating the random walking algorithm was a significant challenge. Randomness is simple to create with built in random functions but making the movements look organic and natural was a challenge. The final algorithm calculated a point that was accessible by a straight line and took a curved approach to get there. The algorithm also inverted the x and y velocities of an object appropriately to prevent the characters from leaving the boundary region.
Accomplishments that we're proud of
Personally we are proud of the assets we created for this project. Utilizing blender, a 3D modeling software, we were able to create adorable characters and an elegant scene. No asset from this project was taken from outside sources.
What we learned
Through this project we gained more confidence working with unity and Git. Because all of us were working virtually we had to figure out a way to collaborate with each other in unity. Utilizing git we were able to create to seamlessly work together.
What's next for EvoSquare: The Evolutionary Laboratory
We want to expand on this project by adding more complexity in the environment. For example, adding carnivorous populations and graphing the oscillations between the predator and prey populations would be interesting. Furthermore, we want to increase the game-like feel by not capping the generations at 10. We could extend the simulation by recording how many generations a certain starting population exists for.
Log in or sign up for Devpost to join the conversation.