“Powerless” – Project Update

As we near the i2 showcase, I’m realizing more and more how little time I have – and how much work I have left to put in.

To put it concisely- I’ve failed. That is, I have not made a playable game that I or anyone else is likely to enjoy. On the other side of the coin, however, I’ve learned a lot- not just about gamedev, but about planning out projects and coding as a whole. I haven’t made a successful game by any means, but I realized that I didn’t have a goal. I failed at step 0: having a concrete idea of my MVP- my minimum viable product. That is, I didn’t set myself a goal for what the game would look like, how the controls would work. I barely got past the premise and thought I was done with planning. I didn’t know what I’d need, nor did I have any clue how to get there. Being overeager to start actually writing code led me to write bad code that I ended up having to change later anyways. As it stands, if I were to continue the project, I would likely restart. Not because I have a better idea now about what the game should be, but because I don’t. Anything I do now will be trying to patch up shoddy code to just ‘make it work’ instead of actually doing something that I’m proud of.

Another mistake I made was trying to use this project to learn a new programming language – c# – rather than use an existing one that I’m better at. If I were to restart, I’d probably make the game in python. Sure, it’s slower, but I understand how to write python much better than I do c#. Yet there I was, learning how to make a game while learning a new language. It’s like writing a research paper when you’re taking Spanish 1,2. Sure, it’s technecally possible with the right know-how, but it’ll be so much easier if you just write it in English.

So, what have I learned?

I learned that I just need to plan more. I need to have an idea in my head of gameplay, of visuals, and of how I’ll need to get there. I don’t need it to be perfect, and I can change it later, but I need an idea. “A platformer with depleting energy” simply isn’t good enough. In the future, when I try this again (which I definitely will), I’ll spend more time planning before I jump to writing code.