Game Development

Part 2 of Results of June’s Game in a Day

Click below to track my June 2005 GID development progress:
Part 1
Part 2
Part 3

10:11 AM

Cans of Mountain Dew: 4
Subversion Revision: 20

AH! I slept for FOUR hours! Whoops! Well, it turns out that people tend to assume that breaks that last less than an hour count in the 24 hours, but breaks longer than an hour don’t. So if I continue to work through 7PM until 11PM, my project is still considered a GID.

12:24 PM

Cans of Mountain Dew: 5
Subversion Revision: 23

Just finished wrestling with a problem due to my lack of understanding of Kyra. It turns out that Kyra’s Vault, which holds all of the resources in the engine, only handles one data file at a time. I was seeing two player sprites when I should have seen one player sprite and one enemy sprite. Once I combined the two sprites into the same data file, similar to how the Kyra demos handle it, it was able to create both sprites.

12:55 PM

Cans of Mountain Dew: 5
Subversion Revision: 24

Added diagonal movement for player. I was already seeing that it would be frustrating to be restricted to moving in only four directions. I don’t think I want to spend time updating the graphics for four directions though as I only have hours left.

1:50 PM

Cans of Mountain Dew: 6
Subversion Revision: 28

Blast! B-)

It’s getting there!

3:07 PM

Cans of Mountain Dew: 6
Subversion Revision: 29

Now I have blasts freezing upon impact with other blasts and enemies. I had some complications because I wanted to kill off enemies by removing them from the C++ std::vector, but vectors aren’t great for it, and I wasn’t sure how to replace it with something else without causing headaches. I’ve decided to work around it by making use of the alive variable in Enemy.

I’ve also noticed that Player, Enemy, and Blast are so similar they probably could have been derived from a common base class, making it easier for me to add new objects. I suppose I could go ahead and refactor, but it is GID, and I’d rather try to get gameplay working.

3:48 PM

Cans of Mountain Dew: 6
Subversion Revision: 32

Now blasts and enemies disappear upon impact, and blasts will actually explode after a few seconds and the explosions disappear after a few more. They act more like bombs than gun shots, but I can see it being kind of like Bomberman in that sense. Sometimes games evolve that way. I just wish it was a conscious decision. It was more of an accident.

4:31 PM

Cans of Mountain Dew: 6
Subversion Revision: 34

Levels end when no more enemies are detected. I now need to make an elegant way to transition back to playing again. Right now, it just brings up the main menu, which is itself not very usable as it still only brings up three menu entries that are all the same, and you can’t choose between them. Priorities. B-)

Check it out so far: