Saturday, October 11, 2014

Hard Hat: an exercise in game design (part 3)

Hardhat part 3 - porting the game


Before we can update or improve the game, we must first recreate the basic functionality of the arcade game.
This would be a little easier if we had access to the game's source code, but without it, we need to carefully observe the game in action to figure out the proper timing and behavior of everything.
Fortunately, the game is relatively simple, but even so, I may miss some of the subtler aspects of the gameplay while porting it over.
One tool that we have to help with this port is Mame.  Pausing the emulation in Mame and using the "frame advance" function (Shift + P) allows us to accurately measure timing, this will help greatly to figure things out.

I'll spare you the details of the porting process, but in short, I started by replicating the player movement and screen scrolling functionality, then added in the letters and enemies.

My port isn't 100% accurate, but it's close enough.
A few differences between my version and the original:
  1. You can walk over the letters when they have been put in place.  I did this because in the original, the letters created a huge impassible wall that only added frustration to the game.
      
  2. The tornado is very close, but not exactly like the arcade version.  It's hard to figure out exactly how something works just by observing it, but I came close.  The arcade version seems to have a subtle amount of deviation from it's path that I didn't replicate, and also didn't get the tornado's starting point exactly like in the arcade version, but again, I'm pretty close.
      
  3.  My hammers are larger than in the arcade version, their starting point isn't exactly like in the arcade version, and they randomly travel 24 pixels instead of 8 pixels like in the original.  Overall though, they're close enough for our purposes, as we won't be using the original arcade movement when we're done.
Hard Hat's scoring is kind of interesting:
  • Removing a post = 50 points
  •  Destroying a hammer with a letter = 10 points + 10 points for every hammer previously destroyed
  •  Finishing the round = 8000 points (why not an even 10,000?)
  •  Pushing a letter into the correct spot = 900 points (why not an even 1000?)
Also, there seems to be a scoring bug in the arcade game, as putting a letter into the correct spot by scrolling the screen gives you no points at all.
 
Anyway, I programmed this port of the game with ClickTeam Fusion.
I use Fusion for all of my development, as it is an excellent tool that's really easy to use.
 
Clickteam Fusion is a tool for developing games and applications for PC, but it has optional exporter modules for a wide range of systems such as iOS, Android, Flash and html5 to name a few.
For this game, I used the Flash exporter so you could try my game in my blog post.
 
If you're interested in trying out Clickteam Fusion, they offer a free trial version Here

Anyway, here's my current work in progress version of Hard Hat that currently serves as a port of the arcade game.
It might have a bug or 2 that I haven't found yet, but it seems to work pretty well.  If you encounter a bug, hit the Esc. key on your keyboard to restart the game.

  
 
Next time, I'll share with you a version of the game with my improvements added.

To be continued...

No comments:

Post a Comment