Tuesday, 14 February 2017
Fort Django v1.1
I made a small update to my Commodore 64 game Fort Django. The most important changes are:
-A choice of a whole new map with new background graphics
-New enemy behavior (in the new map)
-Music and Sound FX and a choice between them
The old game mode (map1) should play almost identically as before.
Use joystick in port 2. Turn up and down in the title screen to select the map. Turn left and right to switch between sound fx and music. Fire starts the game.
As before, you shoot enemies and try to find the exit. Collecting bags gives extra bonus depending on how quickly you have moved from the last bag. (The bonus keeps decreasing from $900)
Internally, I changed a few things to make the new map fit. The memory use was extremely lazy in the old version. Many c variables and arrays are now changed to direct memory read/writes. I relocated these higher up, so the compiled code and data area have more room to breath.
I added a scanline interrupt for the music routine, which plays out the in-game music I created with Goattracker 2, using subtunes for different program sections. The main game tune can be turned off. The sound effects make use of the Goattracker sound fx routines which are simple but suitable for this type of game. If the music is off, there are more sounds, but one channel is always reserved for sound fx. I'd say overall the sounds are better than the old ones, even though I sort of miss the sharp gunshot sound. The tunes try hard to sound something between Rambo/Platoon but a Galway or Dunn I ain't.
The sprite updates are more rigorously done during the vblank so I have more time during the frame for doing other calculations, should they be needed. However the game pretty much runs during the vblank anyway.
The new map takes the player to a vaguely central american temple, giving the game some more of that Pitfall/Rick Dangerous vibe. The new map has a bit different play style too. The rooms are more open and there's more opportunities for platform game elements.
There's new enemy behavior in this new map. For example, the enemies only shoot when facing the player. The enemies can also crouch like the player, so the player can't use always the same trick when entering the screen. Some of the enemy behavior and timing is adjusted on a room-by-room basis, so the rooms can contain a small pre-defined "action puzzle".
Internally, the two enemies are switched occasionally. Inside the program logic only one of them does the shooting and crouching. But the switching gives an impression of both having the same freedom. This is not especially elegant but given how the two enemies have been programmed it's a nice fix.
The splash screen and ending have been adjusted, but I felt a weird respect toward the old map and did not alter the graphics there at all.
It was nice to revisit the program, but in the future, I'd probably prefer making something new than try to continue adding to Fort Django.
About the first version
Fort Django v1.1 at CSDb