Environment Experimentation


For the Capstone project, my team is making a life simulation game, where small organisms will grow and evolve while moving across different environments and interacting with other organisms. This project appealed to me after doing the simulation project in the Parallel Programming course, even though they are quite different. It’s fun to be able to come up with different ways that things in the simulation can interact and events that can cause an impact on the simulation.

So far, I have mainly been working on the environment portion of this project. The “board” that the simulation takes place on has many biomes that affect the organisms in different ways. One issue that I’ve run into is how to properly initialize the board at the beginning of the simulation. We want the board to have islands of biomes, so that many tiles of the same biome will be grouped together – we also want this to apply to organisms, so that at the beginning of the simulation, organisms of the same species might be in the same area.

This needs to be random so that the simulation board is different every time it is run and also just to make it more interesting. Currently, the board is initialized with a breadth-first search. This successfully places the biomes and species on the board in a different order each time and also groups them together, but it doesn’t really make islands so much as one island and then everything else in rings around it.

I’m thinking to fix this, instead of just doing one BFS from the first tile of the board, we can do many BFSs from random tiles on the board and limit the search to a randomized number of tiles. This would hopefully create the islands that we are looking for and also allows for them to be different sizes. When it comes to the shapes of the created islands, there still may not be much diversity, but that can be the next issue.

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *