Basic Gameplay

The game is a simple space shooter. Dodge the attacks of the enemies from above while shooting at them yourself. While power-ups are not yet implemented, there are several levels of beam the player can use to attack.

Engine Design

Enemy and player attack interations are managed by a reliable collision detection system. Player, projectile and enemy data is stored in arrays within the zero page for improved performance. The state of these entities are tracked, including player power-up state, enemy type, animation progress, and HP. These can be altered at any time and the drawing routine will add or remove entities accordingly.

Randomness

Using a pseudo random number generator, some variety is added to the game experience. Enemies are initialised with random cooldowns on their attacks, as well as randomiser times between attacks. They also begin moving in random directions. Also, the stars in the scrolling background form a random pattern. The random numbers generated are tweaked to fit within a suitable range, to make sure the randomness is not to unpredictable.

Showcase

A short gameplay demo can be watched here.

Development Tools

Made using the 6502 assembly language, compiled by cc65. Code written using Visual Studio Code. Game tested using the Mesen emulator.

VSC, ASM, cc65.