Skip to content

Commit caaf7c0

Browse files
committed
Version 1.00 (Community Edition)
1 parent 71bbe3a commit caaf7c0

33 files changed

+679
-505
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ out/
55

66
bak/
77

8-
disk/
8+
release/
99

1010
*.dmp
1111

CHANGELOG.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
## Retaliate 64 - Changelog
22

3+
##### v1.00 - Dec-2021 - Community Edition Release
4+
5+
- Mines starts to appear later in the game, however on each level it shows one stage earlier
6+
- Reduced # of Mines per wave and on the stages with Mines these will appear only 25% of the time
7+
- Increased the number of Full Ammo Waves on some Ship models
8+
- Reduced the speed of Ruthless Retaliator
9+
- Balanced the Number of times each bomb type shows up
10+
- Reduced the number of waves per stage going from 4(Easy) to 7(Extreme)
11+
- Reduced the speed of each stage
12+
- Reduced overall Shield Speed on consumption and made recovery constant
13+
- Improved Orbs boucing array to make it swing around the start position
14+
- Shield speed changed to be based on ship model
15+
- Renamed Bullets to Phasers on screen and made each bomb type a different color
16+
- Changed M key to only turn the music on/off during the game not the SFX
17+
- Final Stage now shows on Mission Stats screen and on Menu High Score Panel
18+
- Final Stage now saved with High Score to the data file
19+
- Fixed: Asteroids wave was randomly not moving on the X axis
20+
- Fixed: Disabling Shift+C= keys code
21+
- Fixed: UNLOCKALL debug switch now works when RETDATA does not exist and only unlock ships
22+
- Fixed: Full Bullets debug switch to not be disabled when Full Ammo bomb is collected
23+
- Updated credits screen with 2021 as release year
24+
- Moved music and splash files to assets folder
25+
- Several small code optimizations
26+
327
##### v0.99 - Feb-2020 - New Loader DX screen
428

529
- Update version text on credits screen
@@ -137,4 +161,4 @@ The main additions/changes to the code from the book were:
137161

138162
---
139163
Original repository <https://github.com/lvcabral/retaliate64>
140-
Copyright (C) 2017,2018 Marcelo Lv Cabral - <https://lvcabral.com>
164+
Copyright (C) 2017-2022 Marcelo Lv Cabral - <https://lvcabral.com>

README.md

Lines changed: 61 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,104 +1,104 @@
1-
# Retaliate for the Commodore 64
1+
# Retaliate for the Commodore 64 (Community Edition)
22
Project to remake, using 6502 Assembly, the space shooter game Retaliate (Roku & Android) for the Commodore 64
33

4-
### Spring Update: 28-May-2019
5-
I's official! [RGCD](http://www.rgcd.co.uk) announced, a couple of weeks ago, the physical release of **Retaliate DX** in cartridge, that will be available soon! Stay tuned because as soon as the DX version is availale, I will upload to this repository the CE (Community Edition) that will have the same code, but with my original sprites and SFX. To know more about the DX release click on the amazing opening screen, made by Jon Eggelton!
6-
7-
[![Retaliate DX](https://4.bp.blogspot.com/-iy5HdunYrIY/XN223l6rTnI/AAAAAAAANVM/r6uqa9rPjUUV6snKgu9eWMAPw7vZkhgIACLcBGAs/s480/retal1.png)](https://www.rgcd.co.uk/2019/05/retaliate-dx-commodore-64.html)
8-
94
## Introduction
10-
After developing remakes of classic 8bit games (Prince of Persia, Lode Runner, Donkey Kong, Moon Patrol) to the Roku platform (streaming box/TV OS)
11-
I decided to work the other way around, this time, developing for the [Commodore 64 computer](https://en.wikipedia.org/wiki/Commodore_64) a version of one of the most successful games for Roku, the arcade-style
12-
space shooter [Retaliate](https://channelstore.roku.com/details/53540/retaliate).
13-
14-
![Retaliate Screens](http://lvcabral.com/images/C64/retaliate03-500x420.gif)
15-
16-
### Game Concept
17-
Originally created by [Romans I XVI](https://www.romansixvigaming.com/) Retaliate has a unique concept, unlike the classic shooters (Space Invaders, Galaxian, Galaga)
18-
where you have infinity ammunition, here you start with no bullets at all! However you have energy stored for a shield that,
19-
when is activated, not only can destroy the aliens but most importantly collect their bullets so you are able to RETALIATE!
20-
21-
### About the Project
22-
I started studying 6502 assembly to work on [my port of Prince of Persia](https://github.com/lvcabral/Prince-of-Persia-Roku), but at that time, the focus was just to understand
23-
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
24-
from scratch.
25-
26-
This changed when I came across the book called "[Retro Game Dev - C64 Edition](http://amzn.to/2Dbftp7)" by Derek Morris, with his simple approach, I got the motivation
27-
and some code to start with, along with the right tools to simplify the work (a development IDE and ready made libraries).
28-
29-
The game code on this project is a learning exercise, that was implemented upon Derek's mini-shooter-game example from
30-
the book (shared with no licensing restrictions). So, be aware that this is my first attempt on creating a game
31-
for the Commodore 64, and still is an ongoing project, this way, as I learn more, new features will be implemented.
32-
If you found bugs or have any suggestions please go on and report those at the [Issues Backlog](https://github.com/lvcabral/retaliate64/issues),
33-
and If you also want to collaborate with the game, fork the project and send your pull requests!
34-
35-
I'm also adding techincal documentation (memory map etc.) on the [Wiki page of the project](https://github.com/lvcabral/retaliate64/wiki).
36-
37-
#### New Year's Update: 31-December-2018
38-
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 now is also translated to Portuguese (my native language) and Spanish.
395

40-
Now, exactly one year after this repository was launched, I'm happy to announce that I partnered with [RGCD](http://www.rgcd.co.uk) to make a physical release of Retaliate for Commodore 64!
6+
After developing remakes of classic 8-bit games (see links below on this document) to the [Roku platform](https://developer.roku.com/docs/features/features-overview.md) (streaming box/TV OS) I decided to work the other way around, this time, developing for the [Commodore 64 computer](https://en.wikipedia.org/wiki/Commodore_64) a version of one of the most successful games for Roku, the arcade-style space shooter [Retaliate](https://channelstore.roku.com/details/53540/retaliate). Originally created by [Romans I XVI Gaming](https://www.romansixvigaming.com/), **Retaliate** has a unique concept, unlike the classic shooters (Space Invaders, Galaxian, Galaga) where you have infinity shooting power, here you start with no ammunition at all! However you have energy stored for a shield that, when is activated, not only can destroy the enemies but most importantly collect their ammo so you are able to RETALIATE!
417

42-
We managed to have great people involved including [Richard Bayliss](http://tnd64.unikat.sk/) (music) and [Trevor Storey](http://smilastorey.wixsite.com/trevor-storey) (graphics). The "community edition" source-code will be released here, the same day the physical release, the only difference will be the graphics, for the community edition I will keep my own sprites, but the implementation of all new features will be available here, including some intermediate releases, so you can see the progress I made during 2018.
8+
## Project Information
439

44-
Check the teaser video below for a quick preview!
10+
- If you want to know more about the development of this game please take a look at the [project timeline](./docs/project.md) page.
11+
- To see the memory map of the game check the [repository wiki](./wiki/Memory-Map) page.
12+
- Open the [Changelog](./CHANGELOG.md) to check the history of the source code implementation.
4513

46-
[![Release Teaser](https://lvcabral.com/images/c64/youtube-player.jpg)](https://www.youtube.com/watch?v=rxUQ07g1_1w)
14+
## Game Editions Comparison
4715

16+
The source code on this repository contains the **Community Edition** of the game, that has the same game engine code as the [DX edition of the game](https://lvcabral.itch.io/retaliate-dx), but with some limitations, take a look on the table below to see what are the main differences between the two editions.
4817

49-
### Features
50-
My main goal is to implement the functionality to reproduce (as much as possible) the original game mechanics and graphics.
51-
You can see below a comparison of the ship sprites I created, based on the original Roku game.
18+
<a href="https://www.youtube.com/watch?feature=player_embedded&v=Jgf1SbaIOfw" target="_blank"><img src="https://img.youtube.com/vi/Jgf1SbaIOfw/0.jpg"
19+
alt="Retaliate DX" width="240" height="180" border="2" align="right" /></a>
5220

53-
![Player Ship Models](http://lvcabral.com/images/C64/retaliate-ships-comparison.png)
21+
| Feature | Retaliate CE | Retaliate DX |
22+
| -------------------|:---------------:|:--------------------:|
23+
| Skill Levels | 4 | 4 |
24+
| Stages per Level | 7 | 7 + Ending Scene |
25+
| Player Ship Models | 1 + 4 to unlock | 1 + 4 to unlock |
26+
| Double cannons | N/A | 2 models |
27+
| Enemy Ship Models | 6 | 10 |
28+
| Enemy Formations | 18 | 36 |
29+
| Intro Screen | Simple | Enhanced by Jon Eggleton |
30+
| UI and Sprites | Simple | Enhanced by [@smilastorey](https://twitter.com/smila007) |
31+
| Sound Effects | Simple | Enhanced by [TND](http://www.tnd64.unikat.sk/)|
32+
| Game Music | Main Theme | Menu and Main Theme by [TND](http://www.tnd64.unikat.sk/)|
33+
| Sound Effects | Simple | Enhanced by [TND](http://www.tnd64.unikat.sk/)|
34+
| Localization | en-us | en-us, pt-br, es-es |
35+
| Game Control | Joystick | Joystick and [SNES Controller](https://texelec.com/product/snes-adapter-commodore/)|
36+
| Easter Egg Mode | N/A | Unlock with joystick |
37+
| Assembly code | CBM .prg Studio | KickAssembler |
5438

55-
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.
56-
57-
Open the [Changelog](https://github.com/lvcabral/retaliate64/blob/master/CHANGELOG.md) to check all the currently implemented features.
39+
If you learned from this project and want to motivate me to develop more cool stuf, head to my store and purchase [Retaliate DX](https://lvcabral.itch.io/retaliate-dx). I can guarantee you will enjoy a lot the additional features!
5840

5941
## How to Play the Game
42+
6043
You can run the game on a real Commodore 64/128 or using an emulator, below the two methods:
6144

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

64-
1. Download the latest D64 file from the [release page](https://github.com/lvcabral/retaliate64/releases)
65-
2. Save it into the media you need (floppy disk or SD Card)
47+
1. Download the latest **D64 file** from the [release page](https://github.com/lvcabral/retaliate64/releases)
48+
2. Save it into the media you normally use (floppy disk or SD Card)
6649
3. Mount the media and turn on your computer
6750
4. Execute: LOAD "RETALIATE",8,1
6851
5. Execute: RUN
6952

7053
### Using a Commodore 64 Emulator
7154

72-
1. Download the latest D64 file from the [release page](https://github.com/lvcabral/retaliate64/releases)
73-
2. Open VICE x64 emulator
55+
1. Download the latest **D64 file** from the [release page](https://github.com/lvcabral/retaliate64/releases)
56+
2. Open [VICE x64 emulator (3.1 or newer)](http://vice-emu.sourceforge.net/)
7457
3. Click on menu option File->Autostart disk/tape image...
7558
4. Select the D64 file
7659

77-
## Build and Test
60+
## How to Build and Run the Code (Windows only)
7861

79-
1. Download the repository
80-
2. Download and install VICE Emulator
81-
3. Download and install CBM .prg Studio (v3.12 or newer)
82-
4. Open CBM .prg Studio and configure VICE location
62+
1. Clone or download this Git repository
63+
2. Download and install [VICE Emulator](http://vice-emu.sourceforge.net/)
64+
3. Download and install CBM .prg Studio (v3.14 or newer)
65+
4. Open [CBM .prg Studio](http://www.ajordison.co.uk/) and configure VICE location
8366
5. Open project file retaliate.cbmprj
8467
6. Press CTRL+F5 (build project and execute)
8568

86-
![Retaliate Gameplay](http://lvcabral.com/images/C64/retaliate64-beta-gameplay-300px.gif)
69+
## How to Build a Disk Image (Windows only)
70+
71+
Using [CBM .prg Studio](http://www.ajordison.co.uk/) execute the tasks:
72+
1. Open buildGame.asm
73+
2. Press CTRL+F6 (builds retaliate-ce.prg to "out" folder)
74+
3. Open buildLoader.asm
75+
4. Press F6 (builds retaliate.prg to "out" folder)
76+
5. Open buildDataFile.asm
77+
6. Press F6 (builds retdata.prg to "out" folder)
78+
7. Select "Open Command Line" from the Project menu
79+
8. Type "cd .." and ENTER to go to repository's root
80+
9. Execute "diskbuild.bat" (builds retaliate-ce.d64 to "release" folder)
8781

8882
## Resources Used
89-
These are the books, music, tools and websites that are helping me to develop this project:
83+
84+
These are some of the books, tools and websites that helped me to develop this project:
9085

9186
- [Retro Game Dev: Book by Derek Morris](https://www.retrogamedev.com/)
9287
- [Romans I XVI Gaming: Original game developer](https://www.romansixvigaming.com/)
9388
- [Retaliate for Roku: Open Source Repo](https://github.com/Romans-I-XVI/Roku-Retaliate-Channel-Open-Source)
94-
- [Music "Scout" by Jeroen Tel](http://csdb.dk/sid/?id=28205)
95-
- [VICE: Versatile Commodore Emulator](http://vice-emu.sourceforge.net/)
9689
- [CBM .prg Studio: IDE by Arthur Jordison](http://www.ajordison.co.uk/)
90+
- [VICE: Versatile Commodore Emulator](http://vice-emu.sourceforge.net/)
91+
- [exomizer 3 by Magnus Lind](https://bitbucket.org/magli143/exomizer/wiki/Home)
92+
- [mkd64 by Zirias](https://github.com/Zirias/c64_tool_mkd64)
93+
- [Pixcen by John Hammarberg](https://github.com/Hammarberg/pixcen)
9794
- [Project One: Graphic editor by Resource](http://p1.untergrund.net/)
95+
- [The New Dimention by Richard Bayliss](http://tnd64.unikat.sk/)
9896
- [Codebase64: C64 Programming Wiki](http://codebase64.org/)
9997
- [6502.org: The microprocessor resource](http://www.6502.org)
10098
- [Dustlayer: Blog with C64 Tutorials by @actraiser](http://dustlayer.com/)
10199
- [Commodore 64 Resources by Peter Kofler](http://kofler.dot.at/c64/)
100+
- [Mapping the Commodore 64](https://archive.org/stream/Compute_s_Mapping_the_Commodore_64)
101+
- [Machine Language for the C64 by Jim Butterfield](https://archive.org/details/Machine_Language_for_the_Commodore_Revised_and_Expanded_Edition)
102102

103103
## My Other Retro Game Ports/Remakes
104104

@@ -108,14 +108,14 @@ These are the books, music, tools and websites that are helping me to develop th
108108
- Moon Patrol for Roku: [Video](https://www.youtube.com/watch?v=JNLBkOXiTQU) - [Repo](https://github.com/lvcabral/Moon-Patrol-Roku)
109109

110110
## My Other Links
111+
111112
- My website is [https://lvcabral.com](https://lvcabral.com)
112113
- My twitter is [@lvcabral](https://twitter.com/lvcabral)
113114
- My podcast is [PODebug Podcast](http://podebug.com)
114115
- Check my other [GitHub repositories ](https://github.com/lvcabral)
115116

116117
## Project License
117118

118-
Copyright (C) Marcelo Lv Cabral. All rights reserved.
119+
Copyright (C) 2017-2022 Marcelo Lv Cabral. All rights reserved.
119120

120121
Licensed under [MIT](https://github.com/lvcabral/retaliate64/blob/master/LICENSE) License.
121-
File renamed without changes.

assets/screens.bin

8.2 KB
Binary file not shown.
File renamed without changes.

builddisk.bat

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
@echo off
2+
echo Exomizing files...
3+
.\tools\exomizer sfx sys out\retaliate-ce.prg -o out\ret-en.prg -x3
4+
5+
echo Building disk...
6+
mkdir release
7+
mkd64 -orelease\retaliatece.d64 -mcbmdos -d"RETALIATE-CE" -fout\retaliate.prg -n"RETALIATE" -w -fout\ret-en.prg -n"RET-EN" -w -fout\retdata.prg -n"RETDATA" -w

docs/project.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Project Timeline
2+
3+
## Project Release: December 2017
4+
I started studying 6502 assembly to work on [my port of Prince of Persia](https://github.com/lvcabral/Prince-of-Persia-Roku), 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.
5+
6+
This changed when I came across the book called "[Retro Game Dev - C64 Edition](http://amzn.to/2Dbftp7)" 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).
7+
8+
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, this way, as I learned more, new features were implemented. If you found bugs or have any suggestions please go on and report those at the [Issues Backlog](https://github.com/lvcabral/retaliate64/issues),
9+
and If you also want to collaborate with the game, fork the project and send your pull requests!
10+
11+
![Retaliate Screens](https://lvcabral.com/images/C64/retaliate03-500x420.gif)
12+
13+
My main goal was to implement the functionality to reproduce (as much as possible) the original game mechanics and graphics.
14+
You can see below a comparison of the ship sprites I created, based on the original Roku game.
15+
16+
![Player Ship Models](https://lvcabral.com/images/C64/retaliate-ships-comparison.png)
17+
18+
The release v0.3 (early 2018) was the last public Beta version and it introduced a SID music during the game play, bug fixes, additional screen and settings.
19+
20+
## Project Update: December-2018
21+
22+
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 now is also translated to Portuguese (my native language) and Spanish.
23+
24+
Exactly one year after this repository was launched, I was able to announce that I partnered with [RGCD](http://www.rgcd.co.uk) to make a physical release of Retaliate for Commodore 64! We managed to have great people involved including [Richard Bayliss](http://tnd64.unikat.sk/) (music) and [Trevor Storey](https://twitter.com/smila007) (graphics).
25+
26+
## Project Update: May-2019
27+
28+
[RGCD](http://www.rgcd.co.uk) officially announced on their website the physical release of **Retaliate DX** in cartridge!
29+
30+
[![Retaliate DX](https://4.bp.blogspot.com/-iy5HdunYrIY/XN223l6rTnI/AAAAAAAANVM/r6uqa9rPjUUV6snKgu9eWMAPw7vZkhgIACLcBGAs/s480/retal1.png)](https://www.rgcd.co.uk/2019/05/retaliate-dx-commodore-64.html)
31+
32+
## Project Update: April-2021
33+
34+
After a long period of inactivity, the project was revived early in 2021. During that time, I managed to migrate the DX edition code to use [KickAssembler](http://theweb.dk/KickAssembler/) and started another wave of Beta testing, that brought several improvements to the game balance and performance. At that time the box of the game was printed and the release of the cartridge was again [teased by RGCD website](https://www.rgcd.co.uk/2021/04/coming-soon-retaliate-dx-endless-forms.html).
35+
36+
![RGCD Cartridge Box](https://lvcabral.com/images/C64/retaliate-dx-box-rgcd-white.png)
37+
38+
## Project Update: December-2021
39+
40+
To celebrate for years of the launch of this project, I decided to release the digital version of Retaliate DX and the full version of Retaliate CE on this repository, the cartridge and disk release will come later in 2022.
41+
42+
Get the DX version on the game in my itchi.io store:
43+
44+
[![Retaliate DX](https://lvcabral.com/images/C64/retaliate-dx-itchio-page.png)](https://lvcabral.itch.io/retaliate-dx)
45+

0 commit comments

Comments
 (0)