Our main goals for our game was to create an infinite open world that the player could explore. A world that grows as the player moves around the map. We decided to use Perlin noise to generate our map as it is random but there is also a gradient between 1 (black) and 0 (white). This allows us to have islands and rivers in our world with different biomes. A cross section of Perlin noise can be seen to the left.
Our first big decision was weather to make a game engine from scratch in java to build our game on top of or use a pre-existing engine. Both options had pros and cons, however, we decided to use Unity which is a game development engine which uses C#. We did this as we decided it was not worth creating an engine when better options were available and making the game was our main concern.
It was obvious that we need a version control system for our project and we were initially going to use git. However, it became clear that unity and git did not work well. Hence we decided to use Unity built in version control system - Collaborate.