Remake of the space shooter game Retaliate for the Commodore 64
Switch branches/tags
Clone or download

README.md

Retaliate for the Commodore 64

Project to remake, using 6502/6510 Assembly, the space shooter game Retaliate (available on Roku & Android)

Retaliate Screens

Introduction

After developing remakes of classic 8bit games (Prince of Persia, Lode Runner, Donkey Kong, Moon Patrol) to the Roku platform (streaming box/TV OS) I decided to work the other way around, this time, developing for the Commodore 64 computer a version of one of the most successful games for Roku, the arcade-style space shooter Retaliate.

Game Concept

Originally created by Romans I XVI Retaliate has a unique concept, unlike the classic shooters (Space Invaders, Galaxian, Galaga) where you have infinity ammunition, here you start with no bullets at all! However you have energy stored for a shield that, when is activated, not only can destroy the aliens but most importantly collect their bullets so you are able to RETALIATE!

About the Project

I started studying 6502 assembly to work on my port of Prince of Persia, but at that time, the focus was just to understand pieces of the logic. As I own a Commodore 64 since 2015, I wanted to start a project for it, but always found too complex to start from scratch.

This changed when I came across the book called "Retro Game Dev - C64 Edition" by Derek Morris, with his simple approach, I got the motivation and some code to start with, along with the right tools to simplify the work (a development IDE and ready made libraries).

The game code on this project is a learning exercise, that was implemented upon Derek's mini-shooter-game example from the book (shared with no licensing restrictions). So, be aware that this is my first attempt on creating a game for the Commodore 64, and still is an ongoing project, this way, as I learn more, new features will be implemented. If you found bugs or have any suggestions please go on and report those at the Issues Backlog, and If you also want to collaborate with the game, fork the project and send your pull requests!

I'm also adding techincal documentation (memory map etc.) on the Wiki page of the project.

Features

My main goal is to implement the functionality to reproduce (as much as possible) the original game mechanics and graphics. You can see below a comparison of the ship sprites I created, based on the original Roku game.

Player Ship Models

The current release (v0.3) is the last public Beta version and it brings a SID music during the game play, bug fixes, additional screen and settings.

Open the Changelog to check all the currently implemented features.

The next release will be the final 1.0 with support for multiplexed aliens, making the game playability closer to the original. As this feature requires me to study advanced topics, and refactoring the game code to use IRQ, it may take a little more time for me to release it, than I took for the first 3 beta versions. I'm not sure if I would be able to add an original SID music to the game, if someone would like to help please contact me. I got a musician engaged on the project, the C64 community is awesome!

Update: October/2018

As I predicted, it took me a few months (nights and weekends) to study and be able to implement the new features I planned for the game. I managed to incorporate a multiplex/sort routine that allowed increase the number of sprites on the screen, increasing the number of alien enemies and making the usability closer to the original game. I also added the destroyer alien (from the Android version) and a new concept of an Asteroid Field, as a tribute to the classic Arcade game, in order to explode an asteroid you need to hit it 3 times with a bullet (and it decreases in size) or hit with a missle collected from the destroyer.

The game is feature complete, and the release candidate is currently being beta tested by a small group and translated to other languages, the plan is to release around the 1 year anniversay of the project. Stay Tuned!

How to Play the Game

You can run the game on a real Commodore 64/128 or using an emulator, below the two methods:

Using a Commodore 64/128 with Floppy Disk or SD Card

  1. Download the latest D64 file from the release page
  2. Save it into the media you need (floppy disk or SD Card)
  3. Mount the media and turn on your computer
  4. Execute: LOAD "RETALIATE",8,1
  5. Execute: RUN

Using a Commodore 64 Emulator

  1. Download the latest D64 file from the release page
  2. Open VICE x64 emulator
  3. Click on menu option File->Autostart disk/tape image...
  4. Select the D64 file

Build and Test

  1. Download the repository
  2. Download and install VICE Emulator
  3. Download and install CBM .prg Studio (v3.12 or newer)
  4. Open CBM .prg Studio and configure VICE location
  5. Open project file retaliate.cbmprj
  6. Press CTRL+F5 (build project and execute)

Retaliate Gameplay

Resources Used

These are the books, music, tools and websites that are helping me to develop this project:

My Other Ports/Remakes

  • Prince of Persia for Roku: Video - Repo
  • Lode Runner for Roku: Video - Repo
  • Donkey Kong for Roku: Video - Repo was taken down by Nintendo
  • Moon Patrol for Roku: Video - Repo