Asterocrash
This game was created for The C64 'Cassette 50' Charity Competition and will not be released until the competition is over. You can still play it in a browser.
This competition is about creating a brand new compilation tape - with any proceeds to be donated to Special Effect Charity - featuring games by C64 developers of all levels of experience, focusing on great gameplay in a mini-game format while still retaining the look or feel of a Cassette 50 game, an infamous collection of games published by Cascade in 1983 and an early example of 'shovelware'.
Plot
It's 1983 and just a usual day at the office, in Asteroids Research Space Center Institute, a big government institution. You've just started another working day as regular, with a cup of warm space-dust-nutri-coffee, sitting in front of your personal computer, a Commodore Business Machine purchased recently by the institute for one of many positions like yours, a Senior Space Scanning Engineer.
With your CBM machine, you're controlling a remote satellite that travels between 10 sectors around Tau Ceti star. In each sector, you have to keep all visible asteroids in range as long as B.A.S.I.C., a special scavenger-type unit enters the sector. It takes approximately about a minute for B.A.S.I.C. to reach each sector. When it reaches the sector, the automatic extraction of minerals and collecting data from all available asteroids begins. After completing this task, B.A.S.I.C. nullifies all asteroids using a CLR beam. At this stage, you will be rewarded for each asteroid that remained in the sector and has been extracted.
This task wouldn't be hard if asteroids could just stay in place. But you don't have to be an egghead to know that this is not the case. All asteroids are following their original trajectory set a billion light-years ago. So they might collide with other asteroids or just leave the scanned sector. The bad thing is that you're going to pay a penalty for each asteroid lost. The good thing is that with the help of B.A.S.I.C. you can deploy an engine on an asteroid and take over the control of its trajectory. Even though B.A.S.I.C. unit is basically a lot of metal crap that is too slow to reach the sector itself in a timely fashion, it can send the lightweight engines ahead and deploy them on asteroids immediately.
Remember, that after finishing a sector, together with the increasing distance to the next sector, also the cost of traveling there increases so make sure you don't end up in the red or you'll get fired. Due to the COVIDEO pandemic, looking for another office job could give you some headache...
As you're sitting comfortably, switch your beloved radio station on, grab a cup of space coffee, and get to work! How much money can you make?
Screen
AsteroGUI screen is divided into the left part containing asteroids scan area, and the right sidebar. Let's start with the latter.
Right sidebar:
- Cash - currently available money (this is where taxes went)
- Sector - a sector that is currently scanned by your satellite
- ETA - time that remains for B.A.S.I.C. unit to reach the sector and start scavenging
- Engine - if "None", you can deploy it by pressing the fire button, if available, you'll see a current x & y vector, e.g.: "x:-3 y: 1" which means that an asteroid moves in the SW direction and it goes west much faster than south
Asteroids scan area:
- White asteroid - currently selected asteroid
- Light blue asteroid - indicates that an engine has been installed on this asteroid so you can change the direction
- Other asteroid colours - just regular asteroids
Controls
Use the joystick in port 2.
- Left - select previous asteroid
- Right - select next asteroid
- Fire - deploy engine on an asteroid
- Keeping Fire button & (Left/Right) - change the horizontal direction of an asteroid
- Keeping Fire button & (Up/Down) - change the vertical direction of an asteroid
You can adjust the horizontal and vertical directions of an asteroid simultaneously. Just keep the fire button pressed.
When the game is over, you can play it again by typing RUN followed by RETURN (ENTER).
Scoring
- Starting cash: $6000
- Engine cost: $2000
- Reward per asteroid: $3000 (up to 7 asteroids per sector)
- Travel cost of entering the next sector: Sector number * $1000
- Penalty per asteroid lost: $4000
Note that all thousands are reduced from prices for GUI purposes. Yes, an asteroid engine costs $2 000 000, not $2000, you silly!
If you don't run out of cash, after completing all 10 sectors you will get the percentage score of your progress. Everything above 75% is more than decent! If lower, don't expect the 14th salary bonus from your government.
Project game requirements
- Code must fit under $1000 memory location
- Program cannot write to memory locations above $1000 except $D000 - $DFFF area
From author
This time I wanted to write a game the old-way, in Commodore BASIC, not using assembly! And I've used only real hardware with a disk drive. Thoughts? It was harder than I thought to squeeze all the code below $1000. I've learned a few tricks you can do in BASIC, so it was an interesting challenge indeed. The fun one was re-inventing the wheel by using the PRINT trick instead of using READ and DATA. I've found this technique later on while looking at 10LINERS. Well, at least I didn't get that crazy (with the whole respect for anyone who does so) to write BASIC code using PRINT :D. I just used it to store sprite data and the ETA progress bar.
The idea of building an engine on an asteroid comes from k240, one of the best Amiga games I know. I planned to add this idea for Swarm 16k, an RTS C64 game I wrote in 2019 for RGCD 16kb Cartridge competition, but it didn't fit in 16k at the time.
What I didn't manage to fit in this version due to space limitation:
- More spectacular explosions when asteroids collide - it should create space dust
- AstroCalc 1.0 spreadsheet, a graph representation of balance displayed after each sector
- Tracking count of asteroids lost vs asteroids that were scavenged
- Super-nova passing a sector from time to time (I left 8th sprite for this purpose but didn't have space to add it)
- One of the asteroids might be worth more, but you can learn that only after the arrival of the B.A.S.I.C. unit
- Some funky music
If I'm going to write Asterocrash Redux, I will include all these features in it, and maybe drop a BASIC version in favour of assembly... However BASIC has its own charm. If you would like to play the redux version, please let me know!
Have good fun also with other games from The C64 'Cassette 50' Charity Competition.
Bartosz Żołyński
Thanks to https://lvllvl.com/c64/ for great JS emulator embedding!
Check out www.commocore.com for more games and open source projects!
Download
Click download now to get access to the following files:
Leave a comment
Log in with itch.io to leave a comment.