Week of Awesome V, Part 8: Post mortem

Published August 18, 2017
Advertisement

It's been five days since the end of the competition and I've thought about how things went and what kind of mistakes I made. So I want to talk about those things for a minute.

Let's start with the mistakes and bugs first.

During the introduction sequence of the game a text box pops up which eventually tells the player that the controls are the arrow keys and the X, C and V keys. Problem is, to get to that text box the player would've needed to press either the V or the C button. This is just a little oversight caused by me adding this text pretty late into the game when other things were on my mind.

Also some players didn't realize that they had to go to the northern area first. Although there is a mushroom before the cliffs area that tells you that you need to go north first I originally planned for this path to be blocked at first. That way the player couldn't enter that area under-prepared. Unfortunately I didn't have enough time to implement such a thing.

Another thing I noticed is that the random number generator can really screw the player over. During the UFO fight the UFO is supposed to resurrect the other aliens so that the player can create shockwaves again to damage the UFO. However sometimes this resurrection wouldn't occur for a long time, causing the player to burn through their supply of food items while unable to do any damage. The stupid thing is, I did write a RNG a while ago to deal with this problem. I just plainly forgot about it.

Lastly there was a small graphical glitch on the Intel HD 4600. Apparently it doesn't support a 32 bits depth buffer so some trees appeared in the wrong order.

And on to the things that went well.

I started off with a pixel-art pack that ended up saving me a lot of time. Although I did ended up needing to draw some extra tiles it definitely helped.

Also the original art I made, especially the sprites in the battle, did end up looking pretty okay. Although I will admit that that for the last two enemies, the cube and the recon droid, I intentionally choose easy shapes so I could get them done quickly. It was also necessary at that point because I made them on the last day.

Using Python generators for animations proved to greatly simplify my code. Especially regarding the battle code, where generators are used for pretty much everything that happens over time: the narration, damage flash, text box shaking, fading in/out, just waiting, etc. Although it's hard to say for certain I think that writing code in this way prevented lots of bugs and allowed me to quickly write sequential animations in a single function that would otherwise need a whole lot of state-management.

Lastly I'm glad that I didn't run into any major problems with my engine snowy. The only things I added where some convenience functions to existing classes. So no major technical problems like needing to implement a minimal sound mixer like I needed to do two years ago. Also investing some time to be able to load Tiled maps proved to be worth it. Tiled has greatly improved in the last couple of versions, especially the ability to define your own types is an important one for most games.

Well I think that's about it. If you have any questions let me know in the comments.

4 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement