Inspiration
For the decision of what the project was going to be, we took inspiration from the "Growth" theme, and for the automata, inspiration from Conway's Game of Life.
What it does
Forestry Automata is a cellular automata but with trees. You can plant seeds that will grow into trees. This cycle is advanced when the user clicks the "Next Step" button. If trees are mature or close to mature, you can click a tree to chop it down, leaving an empty cell behind. Mature trees will naturally plant their own seeds. Mature trees also cast shade on adjacent trees - too much shade and these trees will either stop growing or die. Dead trees will completely remove adjacent living trees but subsequently revive as saplings. The user can also rescale the cell grid (the grid is 10x10 by default).
How we built it
We started out with a google doc, brainstorming different concepts for projects we could create. We started to think about simulations, and then settled on the idea of a tree growth simulation grid. Because of our experience with C#, we ended up using a web framework called Blazor that allowed us to write and execute C# code in the web browser, rather than using JavaScript.
Challenges we ran into
We haven't used Blazor before, so a lot of the work on the frontend required a lot of research into Blazor documentation. Collaboration and delegation of work was also an obstacle, as two team members took on most of the frontend and backend work, given that they had more experience with C#, and web development.
Accomplishments that we're proud of
The cool-looking sprites for the trees, made by Am. Our main accomplishment is that we have a project to submit with full functionality!
What we learned
We learnt about how to use the C# WebAssembly framework Blazor for the first time. We also learnt more about GitHub collaboration, and source control.
What's next for Forestry Automata
If we were to continue future development, we plan to create different tree variants and a state preservation system. This basic tree growth simulation could be extended to become a game.
Log in or sign up for Devpost to join the conversation.