Ecosystem Simulation Game Overview

Concept:
The Ecosystem Simulation Game is an immersive, real-time simulation where players observe and interact with a dynamic ecosystem populated by various species. The game combines elements of procedural generation, evolutionary biology, and ecological interaction to create a living world that evolves over time.

Core Features:
Species Creation:

Procedural Generation: Species are generated randomly with a variety of attributes, including diet (herbivore, carnivore, omnivore), size, health, growth rate, and more. Each species has a unique set of abilities and characteristics.
Customization: Players can customize species by defining attributes such as reproduction rate, energy requirements, abilities, and physical traits.
Ecological Interaction:

Interactions: Species interact based on their diet and environmental conditions. For example, carnivores hunt herbivores, while herbivores graze and escape from predators.
Family Dynamics: Species can form families, with adults protecting their offspring. Family members tend to stay together, and reproductive behaviors are modeled in the game.
Environmental Factors:

Dynamic Environments: The game features different environmental types (e.g., forest, ocean, desert) that influence species' fitness and survival. Each environment provides unique challenges and opportunities for the species living there.
World Map: The game world is procedurally generated, offering a diverse range of habitats and landscapes for species to explore.
Gameplay Mechanics:

Real-time Simulation: The game runs in real-time, with species aging, reproducing, and interacting continuously.
Stats and Growth: Species have detailed statistics such as size, health, speed, stamina, attack damage, and hunger. These stats influence their behavior and survival.
Visualization and Statistics:

Visualization: Players can view the ecosystem through graphical representation, including species movement and interactions.
Statistics: The game provides detailed statistics and visualizations of species populations, sizes, and other attributes, allowing players to analyze and understand the dynamics of their ecosystem.
User Interaction:

Menu Options: Players can interact with the game using keyboard controls to spawn new species, customize existing ones, toggle fullscreen mode, and view statistics.
Fullscreen Mode: The game supports fullscreen mode for a more immersive experience, with adjustable resolution settings.
Objective:
The primary objective is to observe and manage the evolving ecosystem, making decisions to influence species interactions and survival. Players can focus on creating balanced ecosystems, studying evolutionary processes, or simply enjoying the simulation of life within a virtual world.

Overall, the Ecosystem Simulation Game offers a complex and engaging experience, blending science and gameplay to create a vibrant and interactive digital ecosystem.

game, made in python, is structured like this:
main.py,
species.py,
visualize.py,
procedural_generation.py,
ecosystem.py
customization.py
endgame.py
save_load.py


game should be able to:
fullscreen is not my resolution, make it 16:9.
TOO MANY SPECIES AT START.
I want the species to be able to see between them, as if they can actually see between them, and if they are in a family, be that the parents (or adults but inside the family) protect the children (if it doesn't exist, code a progression aging and breeding and family, where two adults bond, the female breed (so add also gender), give birth to children, children grow over time (also in size) and become adults.
give them stats! each species should have differents stats: size, health, max size, max age, growth rate, speed (don't exaggerate with this), stamina,  attack damage, attack speed, hunger and so on!
make the "carnivore", "herbivore" and "omnivore" useful! if a carnivore is hungry, they will hunt for herbivore with priority, if no herbivore are visible from them, hunt also carnivores. herbivores will never eat a carnivore, they will eat grass which is on the ground when they are hungry, if a carnivore is coming near to hunt them and the herbivore is smaller, herbivore escape. if a carnivore is coming near to hunt them and the herbivore is same size or bigger, make them escape first but if carnivore persists on hunting then that herbivore will turn and try to defend. if a carnivore is coming near to hunt them, but herbivore adult is in a "family" with children, adults defends and do not escape, except for one adult that follow the children (if possible, if its only 1 adult, children escape alone, if 2 adults, children escape with one adult) ALL children will escape if unknown adult comes near. families should stay together and not wander. if a species is very small, but member count is a lot, then they can try and attack bigger species.
 the blue balls should simulate the body parts (imagine first stage of spore, where you care a living cell and the body parts), the red ball (which I would make it tinier than blue balls) should simulate a "mouth" of the species attached to a blue ball, that serves as attacking, eating, defending and so on, everything made in a coherent way. (simmetrical and coherent)
 
 TOO MANY SPECIES AT START.
I want the species to be able to see between them, as if they can actually see between them, and if they are in a family, be that the parents (or adults but inside the family) protect the children (if it doesn't exist, code a progression aging and breeding and family, where two adults bond, the female breed (so add also gender), give birth to children, children grow over time (also in size) and become adults.
give them stats! each species should have differents stats: size, health, max size, max age, growth rate, speed (don't exaggerate with this), stamina,  attack damage, attack speed, hunger and so on!
make the "carnivore", "herbivore" and "omnivore" useful! if a carnivore is hungry, they will hunt for herbivore with priority, if no herbivore are visible from them, hunt also carnivores. herbivores will never eat a carnivore, they will eat grass which is on the ground when they are hungry, if a carnivore is coming near to hunt them and the herbivore is smaller, herbivore escape. if a carnivore is coming near to hunt them and the herbivore is same size or bigger, make them escape first but if carnivore persists on hunting then that herbivore will turn and try to defend. if a carnivore is coming near to hunt them, but herbivore adult is in a "family" with children, adults defends and do not escape, except for one adult that follow the children (if possible, if its only 1 adult, children escape alone, if 2 adults, children escape with one adult) ALL children will escape if unknown adult comes near. families should stay together and not wander. if a species is very small, but member count is a lot, then they can try and attack bigger species.

- the balls parts of specie are separated from each other. the blue balls should simulate the body parts (imagine first stage of spore, where you care a living cell and the body parts), the red ball (which I would make it tinier than blue balls) should simulate a "mouth" of the species attached to a blue ball, that serves as attacking, eating, defending and so on, everything made in a coherent way. (simmetrical and coherent)

Develop and build this ecosystem life sim (god sim) python game, add also more if you willing to.