Contact me | Login | Search | Sitemap | Site Notice

The Pudding Strikes Back

Introduction

This year's XMAS-project is not a demo like the years before but a game demonstrating the possibilities of the DOLORES double LORES library with its new software sprite engine.

Your mission is to defend Santa Claus and his friends against the evil Christmas pudding and other foes that are attacking Santa's home planet. So get into your X-Wing and engage your engines for Santa's rescue!

The following teaser video shows some of the gameplay action:



Key Features:

  • Apple ][ double LORES action shooter game with joystick and MockingBoard support
  • First person shooter with

    • Steerable crosshair for aiming and firing on objects
    • Five different objects to shoot at with varying flight trajectories and velocities
    • Points to earn depending on the difficulty to shoot an object
    • Pause key option (NSFW!) during timed gaming
    • Hi-Score management
    • Background scrolling
    • MockingBoard PT3-soundtrack (if MockingBoard is installed)
    • Lots of pseudo randomness for varying game action

Gameplay:

  • Objective: Shoot down the incoming enemy foes with your laser gun until the timer runs out!
  • Enemies: five different enemies at varying trajectories with different velocities yielding score points depending on the difficulty to shoot them down.

    • Candy cane: easiest to shoot down being the slowest enemy (3 or 5 points).
    • Christmas pudding: medium difficulty (4 or 6 points).
    • Gingerbread man: more difficult to shoot down (5 or 7 points).
    • Turkey: fastest enemy with a high difficulty (8 or 10 points).
    • Champagne bottle: hardest enemy to shoot down, accelerates horizontally in both directions with fast movement changes (20 points)

  • Pause function: if you need to pause the game for a while press key <T> but be careful this is not safe for work!
  • Restart function: press key <R> any time to reset the score and restart the timer. This also restarts the game when the GAME OVER message is displayed.
  • Quit game: press key<Q> to quit the game. The hi-score will be saved to disk then. In other words: if you quit the game other than pressing <Q> the hi-score WILL NOT BE SAVED!
  • CAUTION: each shot costs one point so be careful not wasting your ammo and to shoot only when your are definitely on target!
  • Strategy: There are different approaches trying to get the highest scores. Some people like to focus on champagne bottles and camp somewhere at the screen's left or right edges with the crosshair in order to get the fast moving bottles in time. However, you cannot predict which direction the next bottle will fly so this also depends large parts on personal luck. Some people like to camp in the screen center and wait for objects to come like passing by fast turkeys. However, another concept would be staying in the lower parts of the screen with the crosshair trying to catch the flying objects. Whatever you decide, we wish you good luck and good aiming!
Gingerbread man
Catch the Champagne bottle!
 

Download:

  • Download the DSK-image (Apple //e enhanced or better only!)!

Joystick:

  • PDL 0/1: Controls the aiming crosshair
  • PB 0: Fire button (each shot costs 1 point!)

Keyboard Commands:

  • <T>: Toggle pause function (Caution: NSFW!)
  • <R>: Restart game after timer has run out
  • <Q>: Quit the game

Credits:

  • Code: SingleMalt
  • Gfx: Dan Henderson
  • Music: unknown artist
  • Additional Advice: Dr. N. H. Cham

 System Requirements:

  • Apple //e enhanced or better

    • Apple IIgs: set alternate display mode on with the Apple IIgs but game experience might still be graphically restricted with that system.

  • 65C02 CPU
  • 128 kB RAM
  • MockingBoard (no soundtrack without MockingBoard - but the game is playable.)

Known Bugs & Limitations:

  • Restarting the game with MockingBoard installed needs a power cycle to make the game work properly. The reason for that is yet unknown. Without MockingBoard the game can be restarted without any cold or warm boot.
  • Keyboard control of the crosshair is not available and maybe will never be.
  • Some sprites flicker when transversing the screen. This is caused by limitations of the DOLORES sprite engine.

Acknowledgements:

This game would not have reached its current point of progress without the help and software of other great guys out there. Thank you for your great software and support!

I want to point out some major tools used by this game:

Some Technical Information:

  1. The DOLORES library and the PT3-player module reside directly below the DOS 3.3 area. DOLORES was adapted for this game by removing unused functions in order to make the code more compact and faster.
  2. Half of the zero page is used for DOLORES and PT3-player variables. The zero page is saved during the algorithm startup and restored when leaving the demo which keeps the Apple in "normal" working state afterwards. Maybe not necessarily needed - I like this feature of a clean quit from the game algorithm.
  3. The song data is loaded at $2000 occupying 2kB of space (PT3-file / Vortex-Tracker).
  4. AUX memory is used by the DOLORES library and the game: the machine code is copied to AUX RAM. When doing the background scrolling execution temporarily switches to AUX memory. 
  5. The interrupt handler controlling the sound file playback got an extra JSR to a user defined routine that will manage things that need timed action during the game action. However, the game will just run fine without a MockingBoard.
  6. The PT3 player uses about 15% of the cycles when playing music files.

I am happy to discuss the technical stuff in more detail if anybody is interested!