This roadmap outlines the planned features and milestones for the Evolution Simulation project. It is subject to change based on feedback and project requirements.
- Implement basic grid-based simulation environment.
- Integrate animal movement, consumption, and energy management.
- Add plant entities for energy replenishment.
- Implement basic DNA system for animals.
- Creating a DNA class to hold information about an organism.
- Adding new attributes to the DNA class.
- Implement effects of attributes on animals properties.
- Enable mutation of DNA during reproduction.
- Create a database with all organisms that have existed / exist in the simulation.
- Enable automatic saving of organisms to the database
- Track different statistics about the life of the organism like a movement heatmap, kills, etc.
- Enable querying of the database.
- Enable filtering of the database.
- Visualize gene distribution in the simulation.
- Implement a panel displaying graphs and visualizations of gene distribution.
- Analyze statistics such as lifespan and offspring production.
- Develop a user-friendly GUI for simulation settings adjustment.
- Enable users to view an animal's statistics and DNA attributes by clicking on them.
- Integrate neural networks for animal behavior.
- Enable NN mutatinos for offspring.
- Enable visualisation and comparision of NN's
- Implement speciation.
- Improve datatypes and structure to improve performance.
- Rethink usage of the grid and tile structure and if it can be improved.
- Implement an infinite world with a chunking system.
- Allow the traversing of the world.
- Add biome types.
- Implement day and night cycle influencing the organisms and world.
- Improve weather and environement simulation. (optional)
- Enable different types of sight. (for example color based)
- Enable pheromone expulsion and sensing.
- Enabling sound and hearing.
- Implement differten reproduction types such as sexual reproduction mechanics.
- Add incubation time for female animals, impacting offspring development.
- Implement reproductive urge and attraction mechanics.
- Expand possibilities of different types of plants.
- Expand plant dna attributes
- Enable plants to play a more active role in shaping the simulation
- Write unit tests for critical components.
- Create detailed documentation for the project.
- Refine README.md with setup instructions and project overview.
- Polish user interface and experience.
- Optimize code for performance.
- Conduct thorough testing and debugging.
- Choose a project + Project management [April 25]
- Milestone 1: Organism Database + GitHub [May 2]
- Milestone 2: Organism Database interaction + Classes + Refactoring [May 16]
- Milestone 3: Visualization and Genetic Analysis + Unittests + Issues [May 23]
- Virtual environment + In-person Presentation [May 30]