I've noticed that quite a few people keep development journals or blogs and I thought I'd try doing one to see if it helped keep me committed to my project. Rather than sign up for some site to make a dedicated page for this, I figured I'd just do it here.
So, my project...
I'm trying to recreate Miner 2049er a 1982 game for the Atari 800 that was also ported to several other systems available at the time. This was my favourite game as a child, and was the first computer game I completed.
The idea behind the game is that you are Bounty Bob, a Canadian Mountie who is searching for the notorious criminal Yukon Yohan in the radioactive Uranium mines belonging to a guy called Nuclear Ned.
To finish each level of the game, the player must step on every square in the level, which clears it, while avoiding contact with radioactive mutants who wander the mines. Along the way, you find items abandoned by previous miners, which when picked up give the player points and also make the mutants safe to walk into for a period of time (walking into them at this point destroys them). There is also a time limit for each level.
Progress so far:
I started with a C++ Allegro Template I created which takes care of timing, animation, Allegro initialization, and which also provides a Game class with a few common elements that can be extended for specific games.
I've also created a player class, which contains all the animations for Bounty Bob, plus functions for walking, falling and repositioning Bob, as well as floor and floor manager classes which take care of loading all the graphics for the various floor types (two types of regular tile, a cleared tile, and a un-clearable tile), and which also take care of checking if Bob is currently on (or in, since he moves at fractions of pixels) the floor and whether or not it therefore needs to be cleared.
Here's the latest screen-shot of the project:
Next, I'm going to implement jumping, since at the moment, I have to postion Bob on clearable floor to test that the floor, falling and movement functions work correctly.
Once jumping has been implemented, I'll add ladders and climbing functions, then the rest of the gameplay factors from the later levels - chutes, moving platforms, transporters, a lift, pulverizers and the cannon.
Then I can add the mutants and I'll also make Bob killable at this point. Adding scoring and the clock will come after that, at which point the game is essentially complete.
Challenges so far:
I'm working from a Windows based emulator that the original author wrote, and which runs in the original resolution of 320x240. I had to take several screenshots while playing in order to get each frame of the animations from the game, though luckily, there aren't many.
I considered keeping the graphics in the original size, and then resizing as I drew the buffer to the screen for the final resolution, but instead decided to resize all the graphics myself to double their size and go with a 640x48 resolution. For this, I copied the sprites from the screenshots using Graphics Gale and saved them to a directory and then wrote a small program to load every bitmap from a directory, double their size and then resave them.
I also wrote a small program which creates the level file and writes the positions of all the floor tiles, as doing this by hand was going to be too time consuming (I hope to eventually write a graphical editor to take care of doing this, but don't ant to get sidetracked).
Not having the original code to work from, I'm having to guess at how fast to move everything. I've made a rough estimate for now, and I'll tweak these values later on, once more of the gameplay elements are in place.
So that's where I am for now. Hopefully I'll be able to report on more progress soon.