November 13, 2014
Marooned is a survival game from the perspective of a pirate who has been marooned by their crew. The pirate has been left 1 round for their flintlock pistol and have to survive on a procedural generated island until another ship comes by.
Project took 3 months to develop.
I am writing this 1 year after the project, so I might have forgotten some things.
We started out brainstorming but rather quickly settled on the idea of making a pirate game. Specifically a pirate game about being marooned. We were really hooked on the idea of having 1 shot, and being able to use it to commit suicide at any point. This project was made in collaboration with 3D College, which meant that we had 3 dedicated 3D artists. Unfortunately it became (very) apparent that the programming team had a lot of entry-level programmers. And survival games with crafting tends to require a lot of work in the beginning, before the game gets fun to play. I personally wanted to do this project, so that I could do the procedural generation of an island.
This was the first project where I have used scrum. I elected not to be scrum master, as that would mean I would not have time to do the procedural generation. In the previous projects, I’ve been using Unified Process or Waterfall, or I’ve been supposed to do that, but it was never really executed correctly. But this time, with scrum, and a dedicated person to make sure that scrum is being done correctly, it turned out to be really useful. During the project one team member was not contributing at all, and was directly obstructing development, by promising and not following through, even the least. Unfortunately we waited too long with firing him, and it ended in drama. The supervisors at the time gave us the advised that “You should have written a contract”, which is not a good advice to give when it is too late.
I took a lot of screenshots of the procedural island generation. It uses Unity 4’s terrain which allows the use of a height map to set the height of the triangles of the terrain. Unity’s terrain has a lot of features such as LOD and billboarding trees. The generation uses a Perlin noise to generate the land of the island, everything under a certain height becomes sand and everything over a certain height fades to grass. The placement of trees are dependent of a splatter plot. A Splatter plot is where it randomly distributes a series of an item so that they are evenly apart. This was done by taking the sum of items in the series left to be placed and dividing it by the sum of possible spaces left to have a thing placed. Then comparing the result with a random number between 0 and 1. This means that over time the chance of a thing like a tree being placed increases, until a tree is actually placed, where the chance decreases again. Crocodiles are spawned with a spawner game object which a random number of, is placed on the item near water (coasts or puddles apply)
A lot of variables were exposed to the editor which resulted in a lot of weird iterations. One of which was, what happened when the seeded to a very high number. With that I created a 1:10000 chance to get one of the weird seeds.
As part of the project the game was showed at an exposition hosted by 3D College to showcase what the school made. Our game did not fare well, gathering almost no (unsolicited) interest from the crowd, with one exception. Kids liked our game, especially those who had played Minecraft and other procedural generated with crafting games.
Bonus: We thought it could be fun to have a pirate shanty in our game and decided to sing it ourselves. We invited other people from our school to join us for it. Unfortunately only a few showed up, but still enough to have a coir. We also got help from Grenaa Gymnasium (the local high school/secondary school) to record our song, which they did very professionally. Here is “The fish of the sea”:
Tags: Crafting, Pirate, Procedural generation, School, Survival, Unfinished, Unity