Eat-Sleep-Hunt-Gather-Dig Post Mortem


What went well?

First, I want to say that I really enjoyed making this game, despite the amount of fatigue and stress it caused in the end. The game is promising and something I will potentially come back to in the future and see if I can polish into something fun to play.

My idea was to create a retro stylized, hardcore survival game inspired by my want to build something using Perlin noise.

Creating a procedural generated Island using Perlin Noise was something I had never tried before and it actually went much smoother than I anticipated. I’m not 100% sure that I did it properly in regards to performance, but a 50 by 50 grid of instantiated prefabs would put itself into a cool looking island in just a few seconds. My initial island creation of 100 by 100 and 250 by 250, created impressive islands, but the load time was insane. In hindsight I wish I would have done some kind of object pooling to see if this would have improved things. A smaller island was ultimately what was needed for the game anyway.

Continuing with the island creation, I added “high points” that acted as peaks on the island, and each zone was assigned a gradient value based on it’s distance from the closest peak. The higher the value, the further the distance to the closest peak. This gradient value was subtracted from the zone’s Perlin value, and the zone was colored based on this number to give the island water zones, beach zones, clear zones and forest zones. Each zone was assigned items and features based on the type of terrain it had. They each also had energy costs that the player would need to pay for doing activities in the zone. There were animal tracks randomly placed in zones where players could hunt, various bodies of water that could be in a zone for players to fish. Plants, seeds, wood, rocks, etc that players could gather in order to build. Each zone reacted differently to the weather based on it’s elevation. Yes, there was a weather system, a night and day cycle and zones would replenish their items based on a time limit. This leads into what went wrong...

What went wrong?

My planning and scope. On the first day at the week, I sat down with my pen and notebook, and started to sketch the game out. I knew I wanted a survival game, set on a procedural generated island... with a weather system, day/night cycle, building, crafting, cooking,  gathering, exploring, hunting, fishing, upgrades, random events, an energy system... unfortunately, the list goes on. I should have put the idea on the back burner to do as a project where I had more time, but I didn’t. Instead, I kept making notes, and yet, still not really creating a solid plan for how to tackle this. It was a list of directionless ideas. I sat down and started working. Having never used Perlin noise to create anything procedural, I started there assuming it would take the bulk of my time, but by the end of the day I had a fully functioning island generator, which only led me to believe I was on track to finish this in a few days, tops.

The next day went fine. I created a Camera Controller that allowed the player to zoom in and out, as well as move the camera around to view the island. I also created the Game Manager to track the weather system, day/night cycle, time and a few other necessary things. While the weather system and day/night cycle are in the game, they do absolutely nothing for the game/player. Also, midweek, I decided that the player should have limited vision, so I dropped the option to zoom and move the camera. Building these unused systems was a colossal waste of time (not including the time I wasted trying to create fog of war) that I could have worked out if I planned better and reigned in my scope.

The next few days kind of blurred together. My code started to spiral out of control without any real direction. I was jumping from feature to feature, racing to get it into the game, because I knew I was running out of time. Things were not as clean as I would like them to be, which increased the amount of time I worked on the game overall. I allowed myself 7 days to finish, and used the majority of everyone of them.

In the end, I think the only reason I was actually able to complete something that was playable, was because the 6th night, as I was getting ready for bed, I had the idea to have the player search for lost relics on the island. The game in its current state was so dull to play. With most of the survival elements way out of scope for the project and left incomplete, or not even started, there was just no point in moving around and searching for items that had no value. On the final day I managed to finish out hunting and finishing (along with crafting basic tools that unlock the option to do so), scraped the need to explore zones, opting to allow it to happen automatically when the player walks into the zone and finalized things with a relic hunting system. Outside of the first day, the final day was the most productive, simply because I had a goal, something I didn’t add until the night before.

I have always had a problem with keeping things in scope, as well as pre-planning things instead of planning on the fly, but I’m an artist, and an impatient one at that. Unfortunately the fatigue and stress that this week’s game caused, really beat me up, but I will learn from these mistakes. I cheated a little bit by using and extra day to tweak the game. I only fixed some minor bugs and adjusted some energy value so that the game was actually playable (it was so brutal and unwinnable at the start). I wanted a few of my friends to actually be able to play it and kill some time at work.

I’m exhausted, but this week means a new game. The goal for week two is to work on planning better, coming up with a goal to work toward, reducing the scope of the game, and allowing myself time to play test. Also, it will be nice to add some music.

Files

WebBuild.zip Play in browser
Apr 01, 2019

Leave a comment

Log in with itch.io to leave a comment.