Here we are once again as I bumble onto my second game of my 10 Games challenge, Another Breakout. 

This time around the major learnings were less in the trenches of implementation but more in the command centre of management.

There is more to being a game developer than just making a game. There is overhead to take into account such as managing the project, managing your time, your motivation and tackling the invisible standards you set for yourself. These all take up valuable head space and are very important to bringing the project to completion. Sometimes the real struggle of the day is just looking at the plan.

My first learning was that a bad plan is like a bad map. Without exceptional skill to bridge the gap, you WILL get lost. This is to say that I noticed how terrible my initial plan and todo list was, I ended up scrapping the entire thing early in production. Sometimes the best thing to do is take a step back and take a look around. If you change your perspective, the problems you've been dealing with may come to light,

My second learning was the difference between the planning stage and production stage and by extension the clear difference between a software dev and a programmer. Now from my understanding, the former is responsible for the major planning of HOW to structure and HOW to implement the game and the latter is responsible for the implementation of said ideas. Implementation will crawl to a halt without a good plan. It was only after rewriting my plan and frontloading all the detailed planning that implementation became much smoother. This allowed me to work on my game in the short time periods after work. Just being able to come home, look at my checklist and tick boxes doing grunt work implementation without thinking about the overarching progress.

Thirdly, I learnt that there will always be someone out there doing exactly what you're doing but way better.
It was at this stage, the second 'game', where I was starting to lose motivation and become unhappy with what I was producing. All these hours and this is what I have to show? The feelings of self doubt start to creep forward. And so I do as any other would, I take to the internet and look for others in the same situation. This is where I come across other people doing the same challenge. I found one in particular, Alexander Jordan and his videos of the 20 games challenge on his youtube channel. He is just doing what I'm doing but way better. Why does his game look and feel so much better? Why does my game feel so terrible in comparison to his? It was hard to keep working on my game when I look around and see others way ahead of me. Do I see their years of experience behind them? No, of course not. I just see the final product and compare it to mine because monkey brain.

Out of spite I took a look through his code and it is better in every way. The code base is cleanly presented, well commented and the actual code is leagues above what I could have made. But then something strange happened. What initially was feelings of envy and contempt became curiosity. I saw how he structured his code and went 'I should structure my code like that'. I saw he was using methods and coding practices I never knew of because well, I have no experience with programming. I ended up taking notes and learning from what Alexander has done. It was with these notes that I rewrote the initial plan as mentioned previously. What could have been a major roadblock on my journey to becoming a game dev actually became a learning opportunity. However this was only the first of two roadblocks I experienced during this game.

Side note from playing my previous game Another Pong. Starting the game with the player needing to immediately react  or else they lose a point is not a good player experience.

After creating a mostly functional game, built with simple sound and particle effects. I realise that there is more to game dev than gameplay, sound and particles. If the gameplay was the candy, then there must be a wrapper to present the candy. Presentation is important after all. This external wrapper was the realm of menus, UI and the dreaded polishing phase. 

And so I begin the plan for the polishing stage of the game. What do I need to make this game 'complete'. It should have a start menu, a pause menu, it should save your high score with a 3 letter name and show your top 10 scores of all time. It should have a screen transition effect between those menus. It should definitely have a title screen with custom background, a flash icon and also a settings menu with sliders for sound and music, different resolution presets, rebindable hotkeys. Maybe options to change the colour of the background and the paddle and ball, also the ability to adjust the game settings like ball speed or paddle size to craft your own experience. I should also add more levels with different brick layouts, maybe a roguelike mode where the levels get randomised as you go through, you can get powerups as you progress that would make the paddle bigger or spawn more balls from other balls. Wouldn't that be cool? I could also add super powerups like passive effects that would make the balls pierce through bricks or split into two balls on contact. The ideas keep flowing. These things are what the game needs to be done. There are just so. Many. More. Things. To. Do.

If game development was a pareto distribution, then the core gameplay candy would be the 20% time/80% outcome portion. While the polish wrapper would be the remaining 80% time/20% outcome. I was immensely overwhelmed. How could I not be. I just found out that my game I thought would be releasing the next day was actually going to take me another week, maybe another month. It was at this point that I was beginning to doubt the challenge. If Pong took me 5 days to put in just over 5 hours of production, it will only take longer from there right? And I didn't even polish it! I won't be done for this challenge for at least a year and what will I have to show for it? If I endlessly polish a pile of poop, at the end of the day its still poop. So by the end of this challenge I'll have piles of poop everywhere!? And so production once again came to a halt and my second major hurdle has just come into view. Scope creep.

Now I know what you're thinking and I too have watched many game dev logs on youtube to know of the all too familiar and ubiquitous beast. Scope creep. The polishing plan I came up with above looks exactly like the traces of the beast. No doubt influenced by the clean and polished projects from the voices of the internet. So how did I battle this beast? Well, I didn't. I ran away.

I was beginning to doubt the purpose of the challenge. What was the purpose of the challenge anyway? To learn game dev? To make 10 games? To start my game dev journey with piles of poop? Will all I ever make be poop? I have so many game ideas  but when will I get to implement any of them? And so I take to the voices of the internet once more. To glean through their thoughts and experiences. To my surprise, what I found was perhaps the most important findings of all through this project.

I find the archives of discussion the voices of the internet had once had about these very same experiences. Everything I have gone through, they have already gone through before. They're right there sharing their experiences through struggle and how they overcame them or at least how they are dealing with them thus far. A bounty of information to learn and grow from. And learn I did.

Amongst the learnings, one that stands out is to understand that the realm of game dev is an artistic journey. You are here crafting an entire game with your own hands. An ambitious goal however, no one will care about you or your project until you make it into something worth caring about. If it looks like poop, no one will dare come closer to inspect the shine it has. It will be a long and difficult journey. It will be hard. But this is the journey you have chosen to take. Take ownership and be responsible for it. Know that many before you have taken this same path, some succeeded, some failed. It is for you to find out which one you are. With the archives from the voices of the internet in hand, it's time to pen MY journey.

Scouring through the archives, I found that much like there are many ways to skin a cat, there are many routes one can take on their journey. I found some criticise the 20 games challenge as being too rigid and devoid of creativity. Some like the simplicity of making clones. Others have found it a good starting point to then move onward to their own projects. Every one of these voices see this challenge as one of many possible stepping stones on their journey. It is up to the individual to choose which stones to use and none of them are a mandatory tutorial required to progress. There is no best path, their is only the path you choose to take.

So I returned to the beast called scope creep, with profound knowledge in hand. The solution I have come up with to defeat this beast is to...eat it. Not literally though. Much like how one would go about eating an elephant, one bite at a time, I have chosen to tackle scope creep in much the same way. Except I am a picky eater and do not want to eat the whole thing. I was picky and choosy on what elements I want to add and cut out the rest. What once was a ginormous beast was now a simple 3 course meal and I have cutlery. The plan was ready, now it is time to eat. 

After the scrumptious feast, here it is! I hope you enjoy my second game, Another Breakout. A major milestone on my journey

With the game 'polished' and complete to a level I am satisfied with. I look ahead, to the next project and those ahead of it. I know what path I want to take now and am here to share that path. I hope you look forward to my 4th game and those beyond.

Stats:
Goal: Make a more complex game with a twist.
Days from plan to finish: 9
Time spent in Godot - developing: 6hrs 48 minutes.
Time spent in Obsidian - planning: 2hrs 17 minutes.
Time spent writing this blog: 2hrs 33 minutes.

Leave a comment

Log in with itch.io to leave a comment.