Inspiration

Nowadays we are losing not only the diversity of life on our planet but also the very foundations of the ecosystems that sustain us. By increasing our knowledge of ecosystem sustainability, we can work towards predicting and preventing the extinction of countless species. This knowledge can help us develop more effective conservation strategies and make informed decisions about how we use and manage natural resources.

What it does

The program is a digital world generator that allows users to create and shape their own small ecosystem by setting initial conditions for Water, Temperature, Vegetation, Decomposers, Herbivores, and Predators. Once the initial conditions have been set, the program generates a map that represents the ecosystem based on the user's input. The program then simulates the ecosystem for the next year, showing the progression of the ecosystem over time. This simulation takes into account the initial values set by the user, as well as the interactions between the various living organisms, vegetation, and water. By using semi-real statistics and trends the program provides an output that shows how the ecosystem has evolved over the specified time period.

How we built it

We opted to use Python as our primary programming language because of its ability to connect with HTML, which allowed us to create visually-appealing graphics. To generate semi-realistic trends for our values, we conducted research on the dependencies within a closed ecosystem, with a particular focus on BIOS-2 and BIOS-3.

When designing the visuals, we aimed to keep them simple and straightforward to avoid any confusion for users. We wanted to ensure that the visuals could be easily interpreted to make them more user-friendly.

Coding aspect: we utilized procedural generation to create the structure of rivers and lakes, ensuring that they were well-connected. Additionally, we used 2D arrays to store the characteristics of each tile, including the amount of vegetation and the number of living organisms of each type present (the visual part of tiles also depends on those values). We incorporated three different biomes to choose from (Dessert, Forest, and Tundra), each with varying levels of starting nutrition.

The test version was adjusted to display a more stable ecosystem than reality. We also included a separate file with more realistic trends for testing purposes and to show the data collected.

Challenges we ran into

We encountered challenges in making the differential equation behave according to our expectations. Additionally, we faced obstacles in working with new to us HTML and unfamiliar libraries. Getting Python to communicate with HTML in a stable way was a struggle. Figuring out the procedure to connect the rivers together instead of having them as separated pieces. We also experienced communication difficulties in aligning our vision for the final project outcome.

Accomplishments that we're proud of

We created semi-realistic changes that could be used, while experimentally determining more stable trends that allow the creation of more stable ecosystems. The design of the visuals is appealing. Rivers connect, lakes connect, and vegetation is dependent on the distance from the water source.

What we learned

HTML and connecting the front end to the back end. We learned a lot about ecosystems and how they work. Learned procedural generation and how to fix a lot of different bugs in HTML to Python connection.

What's next for BIOS-4

First - fixing the Temperature impact, since now BIOS-4 autosets T=15C. Once researchers will be able to understand the trends in closed ecosystems better their findings can be used for BIOS-4 to predict the future of the populations. The possible complexity of this project and its usage is huge! More specifications on the vegetation types, living organisms classes, types and etc can be added with specific data on them, therefore making this project closer to reality.

Built With

Share this project:

Updates