I learned a lot from developing this game. It can look like a small and easy game (clearly is not an AAA game :D), but it took me a month to finish it. That is one of the first things that I learned: making a videogame, always takes more time than we think. Even when is a small game, there are lots of things that need to be done.
And the best way to don’t get lost is having a well done and ordered GDD. For this project (as you could see in the index below) I took the time to make a diagram with all the scenes, their categories and their paths. Also, I took note of all the audio I thought I was going to need, the tracks that I wanted to compose for the different scenes and all the programming knowledge that I needed to learn. Having that, it helped me a lot to finish the game on time.
And that takes me to the third thing that I learned: have a deadline. Many people think that, if you are an indie developer like myself, have a deadline only gives unnecessary stress. Because, if you don’t have a deadline and something is not working, you can have all the time in the world to fix it. A privilege that if you are working in a company, you might not have. So, why is it important to have a deadline? For the same reason that maybe you don’t want to have it: if you don’t have a deadline, you will have all the time in the world. And that could mean, that you will not finish your project. Have a deadline will help you to work more efficiently. If something is not working, you will find a way to fix it on time, instead of adding more time to the development of the game. Does this mean that you cannot take more time if you need it for your game? Not necessarily. It just means that you will search for an efficient way to fix the problem. Maybe changing one of the mechanics. This maybe can look scary. You maybe will think, » I like my mechanics I don’t want to change it. I prefer to spend more time on the developing process». And it’s ok, but, you can see it in this other way: Do something simpler. End it on time. Feel proud of what you did. And start over. Now you will have double of experience and knowledge and that means that you will have double of time to experiment and play with new mechanics.
As I said, I learned a lot from developing this game. I learned more about how Unity works and C# programming. I learned how painted faster with watercolors (even when your room is a 40ºC :D ). I learned about audio software and soundtrack composing. I learned to manage better my developing time. And the most important thing, I had a lot of fun making this project.
So, summarizing, these are my advice:
1. If you think that your game is simple and that you can finish it in just a couple of hours. Think again and add another couple. Remember that a game has a lot of things combined and that the love that you put on the details of every single of those things (design, art, music, audio, programming…) will be reflected in the end. So, take enough time.
2. Have a well done and ordered GDD. Take the time to do it. Put colors and images and arrows… and every other thing that will help you don’t get lost in the middle of the project. Believe me, have a good GDD save a lot of time later.
3. Have a deadline. This will help you to be focused and work more efficiently. Don’t be scared to change a mechanics or to save for another project an idea that would slow down your current project.
4. Have fun. Learn new things. Don’t be afraid to show your work, even if is not perfect and be proud of it.