A concept that many developers encounter is ‘cellular automaton‘. A famous example of a ‘cellular automaton’ is ‘Conway’s Game of Life‘. The idea behind the project is to understand that with very simple rules you can create very complex behaviour.
We got the assignment to create a ‘cellular automaton’, I chose ‘Conway’s Game of Life’. There were only a few rules, so it was not hard to create the initial application, however I wanted to make it a little more interesting than the examples I had seen.
I decided to make the ‘field’ where cells could ‘live’ infinite. When processing the cells from one frame to the next, you will have to loop over every cell and check its neighbours. Because of this a field would normally have to be finite, since you cannot compute an infinite amount of cells. My solution was to divide the field into chunks which could interact with each other and where cells could live. This made the field effectively infinite, since chunks could be removed when there were not used, and created when a cell might need them.
I leaned a lot about ‘cellular automaton’, and how to process them. Also it was fun to take on the challenge of creating an infinite field, and watch people their reactions when you let them play with it.
The source code of this project can be found on my GitHub page.