Files posted by DusanStrakl
Crazy Lander is another (mostly) BASIC game for Commander X16. We will introduce some new technologies not used before in our projects. It is a variation of Lander type games where we have to guide and land the space capsule to dedicated platforms using thrusters and navigating through natural and man-made obstacles. To make the game more challenging we have to be mindful of the fuel used and land gently. Few highlights:
Running in bitmap mode It is a game of precision so we have to assure pixel perfect collision control Animated obstacles unique to each level Music and sound effects Project Specs
Emulator Version R.38 Low resolution bitmap mode 320 x 240 in 16 colors on Layer 0 Use the menu system to choose difficulty, turn music on and off, display instructions, quit and of course start the game Animated sprites for displaying capsule as well as thruster exhaust and explosion animation Tile layer 1 is used for HUD and for messages and menus Assembly subroutine for pixel perfect collision detection 4 distinct levels with flexibility to add more Scoring is based on the landing platform multiplier times the remaining fuel Keyboard/Joystick controls Left Arrow / Joystick Left fire left thruster pushing lander right Right Arrow / Joystick Right fire right thruster pushing lander left Space / Fire button main thruster pushing lander up Music in the background using Music Library for BASIC programs Sound effects using direct programming PSG from BASIC using VPOKE 256 color splash screen
After three tutorials on how to use Sprites on Commander X16 using Assembly, I wrote a game to demonstrate all we learned there plus of course some necessary techniques like reading controls, using interrupts and utilizing Fixed Point Notation.
Full tutorial with source code walkthrough is available on my blog:
Because of its simplicity the library can be stored in a 1K space below basic programs, starting at $0400. Save the EFFECTS.PRG program in the directory where your BASIC program is stored, which would typically be in the same directory from where you are running the emulator. Load library with LOAD command: LOAD”EFFECTS.PRG”,8,1,$0400 Since this routine after the first run adds a new interrupt handler it is good practice to only load it once. It is therefore recommended to do a simple check: IF PEEK($400)=0 THEN LOAD”EFFECTS.PRG”,8,1,$0400 And that is it. Now you only need to call the needed sound effect from the BASIC program with a simple SYS command. We have four different effects so four different addresses can be called: SYS $400 PING Is designed for events like picking coins or rewards. SYS $403 SHOOT Effect that can be used for shooting the gun or other weapon. SYS $406 ZAP Electricity zapping or perhaps a laser gun sound. SYS $409 EXPLODE Long explosion for when we successfully blow something up Alternative binary named EFFECTSHI.PRG that loads into memory at $9000 can be downloaded. Of course calls are then $9000 for PING, $9003 for SHOOT, $9006 for ZAP and $9009 for EXPLODE. Full source code and walk through is available at my blog: https://www.8bitcoding.com/p/simplest-sound-effects-library-for.html Demo video:
I wrote a library to enable BASIC programs play music in the background.
It is compatible with Simplest Effects Sound library I released a while ago.
To demo the library I included two BASIC programs:
PLAY.BAS - Playing Twinkle Twinkle Little Star - it demonstrates the BASIC program doing other stuff including calling simple Effects
HOUSE.BAS - Playing House of the Rising Sun - it demonstrates a bit more complex music
Full Tutorial and source code is available from my blog:
Boulder Dash style game written in Commander X16 BASIC for learning purposes.
Link to detailed description and access to source code on my blog:
Tetris Clone written in BASIC.
Source code tutorial available at:
Simple snake game in Basic. Just testing the forum but game should still work in last few versions of Emulator. Have fun 😃
More details about the game and full walkthrough the source code can be found at: