Keeping expectations in check

I have heard many aspiring game devs say “I’m not going to make a game I wouldn’t play” and even though I agree that you should work on games you like to play you need to keep your expectations in check. If you only play major AAA games like Fifa, Zelda, Uncharted or Halo you are probably not going to make a game like that as your personal project.

Start small and simple

I have heard many experienced game devs talks where their number one advice to aspiring devs is to start by doing small simple games which don’t take a lot of time to finish. This is not only to lower devs expectations, but to also make them understand that by completing personal projects you are gaining precious experience. The first game you complete probably won’t match your expectations but you need to keep in mind that these personal projects are stepping stones and that once you finish one the next one you create will be bigger and better than the previous one. Now just because you are doing a smaller game that doesn’t mean it can’t be a fun game, finding what makes a game “FUN” is great skill to have, and it can make want to play games you never thought before.

Sonic Maze - one of my first games circa 2009
Sonic Maze – one of my first games circa 2009

Surpassing expectations over time

Like I mention in my previous post about lack of motivation I do believe personal projects are very useful to get into the gaming industry but like everything in life it takes time to make it right. I would like mention a game dev youtube channel I follow called Sebastian Lague, on the 1st of January 2020 he posted a video called My First 10 Years of Game Development. In the video you can see the progression of his projects over time and with each project they grow in size and quality, probably always surpassed his initial expectations.

Sebastian Lague Youtube video – My First 10 Years of Game Development

What I’m expecting from my game

I know its not going to win any awards but I’m making to game to understand how far have my game dev skills developed in the last 5 years, my expectations are that the game I create now is better than the one that came before it, to make something from start to finish that I can say I did it all and to display on my portfolio. While I wouldn’t say the original game has fun to play I think I found something this time, what I believe the “FUN” part of the original game should have been.

Lack of Motivation

After sharing this blog on social media, I got some comments talking about the lack of motivation that some people felt while trying to do their own personal projects and I would like to address that from my experience with this project.

I immediately remembered a video I saw on youtube that tackles this issue from Toniko Pantoja called The Harsh Reality about Personal Projects in the Long Run , there is this misconception that creating games is easy and this couldn’t be farther from the truth, making a game requires a lot effort and specific skills, it is exactly like any other kind of project and when people find this out, that is usually when the motivation ends.

I have seen a lot of people talk about creating personal projects, how aspiring game devs should do them and how these projects can help you get a job in game dev and while I do think that it is true no one really talks about the enormous effort that it takes to do one of these projects outside of work, while still taking into account a healthy life style, having time for friends and family and also time for leisure and resting.

Toniko Pantoja – The Harsh Reality about Personal Projects in the Long Run

Decisions before starting

In the beginning of the project I had to think about that I would like to change in my process not to suffer from lack of motivation again, I have had multiple projects in the past where I start working on something and then quit after 1, 2 or 3 months due to lack of motivation.

One restriction that I had to keep in mind while creating this game was that I wouldn’t have much time to work on it, I’m currently working full time at a AAA studio and I have a family with the small child so usually I don’t have a lot of spare time, but I still wanted to create and finish a game. I started planning objectives I wanted to deliver first but I didn’t give them an end date because of the decision I took, I wanted to be flexible with myself and not feel pressured, I didn’t want to work on the game when I felt tired, I didn’t want to force myself to work on the game every day, I could just take a break without feeling about not reaching that weeks objectives.

One issue I now see with my decision is that because I don’t have end dates on my tasks (or official sprints) I don’t have information on how much time a task was overdue for delivery but I can get I rough idea from my GIT repository, of how many days I worked during a month, what did I work during that month and how many commits per day or per month I did in that time.

Tracking work tells a story

The development started on August last year and the first month had great promise, during the month of August I worked almost every day on the project. First interesting fact from the beginning of September till the 26th I didn’t do any work, I was on holidays and spent all my time with family, you may ask “why not keep working during that time to finish the game faster”, I didn’t want to feel pressured there is a time and place for everything, and it paid off, the next months October and November were great worked on the project almost every day, of course in December I noticed another drop in the amount of work but that was to be expected, as I was spending more time with family.

After New Year’s however I observed an interesting fact in January I didn’t work a lot on the game only 7 days and in February I didn’t do a single commit, I remember feeling tired at that time, I had to stop working on the project, instead I played a couple of games during that month I started and finished Moonlighter and Sparklite as homework for the game, I started feeling energetic again and in March I started working on the game again but I took it slowly only 9 days that month, and it worked yet again during April and May I worked almost every day during these two months.

No work done during February 2020 according to GIT

Conclusions

I’m pretty happy with progress of the game so far and I think there are 2 main reasons why I’m not feeling the lack of motivation on this development like other projects I had in the past, the decision that I took in the beginning not to have set dates for deliveries really helped me out through the development, I never felt pressured to do something, if I didn’t have time and if I had to take time for family I would just do it and then come back to work on the game again with more energy. I also didn’t try to force myself to work a specific amount of time each day, I would only work the time that I felt comfortable with, it could be 5 minutes or an hour but that would be it, no more.

These 2 decisions might seem to be the same but to me one is working to achieve a goal and the other is planning my life to schedule time to work, from my point of view they achieve different things and these 2 changes are there the biggest difference from other projects that I have done in the past and never finished.

Initial setup

After deciding on the high level idea of what I wanted the game to be I started working on the setup that I would use to create the game, the original game was created using the unity engine and I knew I wanted to continue using Unity, I would also use GIT as my source control solution and created a repository for it and finally I would need a project management tool, I chose hacknplan for that and created the board for the new project.

I have been using GIT for years now and the initial set up was quite easy everything went without problems, the only thing I now regret is importing the original game files into the new project, I eventually removed all the files from the original game and it would have been much easier to start from an empty project and managed a separate project with the original files.

Initial work on the game according to git started 1 of August 2019

In terms of planning I set up a simple kanban board on hacknplan because of the way I’m going to work on the game, which is basically after hours when I have the time to work on it, might be an hour a day or 15 minutes I don’t know, I prefer to have a list of tasks that I need to achieve regardless of sprints since I can’t guaranty I will have time to work on it, I did eventually start using sprints so I could track work that I did, this and the git history allowed me to see periods of time I didn’t have time to work on the game.

Simple Kanban board setup on hacknplan

After getting all of this set up, I went to the Unity project made sure that the game worked, which it didn’t I had to fix some issues with deprecated methods and after the project was fixed, I started writing down the first set of objectives that I wanted to get done for the game.

Why and where to start

So why did I think that this idea would be so interesting and why did I choose this game? Well a lot changed in the last 5 years, I managed to finally start working in the gaming industry I wanted to see how much I learned during this time and I wanted to see if I had to do a similar game what would I have done differently.

I also wanted to learn more about what it takes to make a game from top to bottom. I have worked as a programmer for the last 10 years and my area of expertise is programming, but I wanted to force myself to learn other disciplines. Creating a video game requires multiple skills from art to sound, to design and narrative, and even though I luck enough to work with a lot of talented people that have been in game dev for more than 20 years, our skill set does not overlap and sometimes its hard to understand the needs of other teams, I wanted to take the opportunity to wear multiple hats and try and understand other peoples problems, while still needing to fix my own problems, what could go wrong.

Currently working at Cloud Imperium Games

That being said I started to look at the game and decided that I wanted to keep the look of it, I would keep the 2D top down look and I also wanted to keep the same combat style so it would still be an action game. Some things that I did want to change were how the dungeons looked I still want them to be procedurally generated but I didn’t want to have the traditional square or rectangle shape dungeons so I had to find a solution to create organic looking dungeons, I also didn’t want to have an infinite amount of dungeon like the original game I wanted to move more towards an RPG game, with a story line and maybe an inventory system, at this point I still wasn’t very sure what mechanics to add because it would make the game too much different from the original.

Art asset bundle for the new game

I also had to find a solution for the art assets as well as the sound assets since I couldn’t use the ones from the original game, luckily at the time there was a humble bundle that had both art and sound that I liked for the game, I knew that I could use them but I would also need to create many more assets if I wanted to have a good looking game.

Picking a new project

About a year ago I was looking for game ideas to try and work on a new game, I thought about creating a game based on past game that I made and see what the difference were and how much I changed in terms of game development and I thought it was a good idea and decided to see it through.

I had to pick a game or at least a playable prototype (I don’t finish many projects), and I choose a game I did 5 years ago, I participated in a game jam called banana jam sponsored by a studio in Portugal called Nerd Monkeys, I was part of the team that created a game called “Always pay the troll toll”, the game was a top down dungeon crawler, with procedurally generated dungeons and I was the programmer on it. I played the game recently to remember what I did and noticed it had a lot of issues but that makes sense, the team that I work with was made of people from other teams that didn’t finish the game jam, including my own team which I was trying to manage, so managing to release a playable game in a fragment of the time other teams had to do it is actually quite good.

Game logo

So I took the game we created for the game jam as the reference point of what I wanted to do and started thinking about how would I do it now, what would I change about it and if I could make it better (without changing it too much). I also did not want to use the art or the sound because they don’t belong to me but I could use the code files which I had created, spoiler alert I didn’t keep any of the existing code, all of them were deleted and replaced, I expected as much, a lot of things can change in 5 years and hopefully I’m better now than I was 5 years ago.

Final game screenshot

I will try and breakdown development in the following days… stay tuned…