Different kind of post for today (or this year). This one is about my own personal game development.
You wouldn't know it due to the complete lack of publicity I give to it, but I do actually attempt my own game designs and developments. I write down ideas or sketch out possible game features. I prototype using GameMaker Studio 2 and have spent an ungodly amount of time browsing forums and search results for solutions to some of the most trivial bugs. All that is to say that making a game is quite hard.
The fact that we have games at the scope and scale that we have today, more often than not as an actual comprehensive whole, is almost miraculous. Most people don't know what goes into making a game, and making it fun. Making it pleasurable to the senses and making enough of it to warrant its price tag. Some people think they know what goes into making a game. They think that it's enough to have an idea, to assign the button layout and describe how many enemy types there will be and roughly what the art style is.
Until you actually try taking an idea from conception to delivery, you will never know how difficult it truly is. There is doubt every step of the way. You have a cool idea but the moment you put the idea into code, hack together some art and put it all on screen for the first time, you realise your idea is trash. Or slightly more optimistically, it's not trash, but there are now a dozen problems that immediately surface, and your idea will need to change. It now needs to accommodate several changes to deal with a dozen problems. This takes time. You work through the dozen problems, implement your several solutions, and eventually, you have your updated prototype.
This process may go on for hours, days, weeks, months, etc. An idea can potentially be worked on for a significant amount of time before the person or persons realises it's no longer worth pursuing. That no matter how many changes are added, the idea itself simply isn't fun, or possible to make fun. Worse yet, some people or companies discover this and keep going anyways. Whether due to cynical or financial motivation, they simply keep going, aiming for that finish line and shipping off a thing that they know they don't like, in an attempt to make some kind of profit to offset all their spent time and resource.
I have found myself struggling with prototyping for a while now. Even before Corona was a thing (although that didn't help matters much), I had struggled to get my ideas onto a screen, and iterate on them in meaningful ways. My most recent attempt was the following:
These are screenshots of the same section of level from various different stages and builds
This was the most recent prototype of Mark II, a metroivania-esque game that I originally thought of nine years ago for my final year university project. For ages I wanted to make it "properly", and spent literal years thinking about different aspects of the game. However, when it came time to actually put something on-screen, I realised all that time thinking about the game had been essentially meaningless.
Ideas about the number of weapons and abilities there would be and how they'd all be connected swiftly went out the window the moment I tried playing with them. It turns out trying to use two different weapons at once using the left and right mouse buttons isn't that fun or intuitive. Who would've guessed. Over the months I would come to realise that a lot of the ideas I had about how parts of this game would work simply wouldn't be fun or intuitive. A lot of it would need re-thinking.
And there was the question of the development of the game itself. I was starting linearly and chronologically. The first thing I was developing was the very start of the game, and that's because I knew exactly how I wanted that to look, how those first crucial minutes should play out. Another mistake. Focusing so much on little details in this opening section meant I was pouring large amounts of time into things that would very likely change as I progressed onto other areas of the game.
It also meant I wasn't spending any time developing and playing more core aspects of the game. Yes the opening became exactly what I wanted it to be, and played out in the way that I had envisioned, but then I started looking at general gameplay. I hadn't thought about what kind of puzzles the player would need to solve, or how they would solve them. How would the enemies interact with the player, and with each other? What pickups would the player acquire, and how would the player make upgrades to themselves?
All of these were things that had been given very little thought outside of surface level ideas. And as I continued adding things to the game, it became apparent it wasn't getting any more fun. I was adding complexity and systems, but nothing that actually engaged the player. Nothing that added to the original core vision of the game. Everything was getting so complex to the point I began hesitating working on the game as I knew it would mean diving into ageing code that was barely holding together.
This is all to say that prototyping is extremely difficult. I wrapped up the most recent version of Mark II and began anew with a more streamlined vision. And a promise to myself that I would work on the start of the game last. For now, I'm focusing on one test room with walls and static enemies, and figuring out the core gameplay. What will the player use, how will they use it, and what will the environment have to be like to accommodate this gameplay.
Making games is difficult, as in prototyping. So, prototype early, prototype often, cut away the things that don't fit, don't start at the beginning, and don't think too much about it.