FREAX (and some other new bits)
Moderator: Moderators
FREAX (and some other new bits)
FREAX - Help and notes.
FREAX is a simple Alien shootem-up game that compiles for the unexpanded VIC20, CBM64 & CBM16/+4.
LATEST VERSION (See end of thread for text): (Much improved, most bugs ironed out..)
OLD VERSION: The files in this archive are:
freax.txt - this file.
freax27.s - CA65 compatible 6502 assembler source code.
freax27c64.prg - Commodore 64 version.
freax27v20.prg - VIC20 version.
freax27c16.prg - Commodore 16 or Plus-4 version.
norm/freax27c64n.prg - version with more traditional alien motion. (also versions for v20/c16 as above)
To move left/right use keys I,P. hit SHIFT to fire. To exit game hit key X.
When the aliens move, alternate rows move in the opposite directions.
When shooting, shave the "side" aliens first, then try to eliminate all the ones going in one particular direction.
Compiling the source.
---------------------
The source code is released under the GNU GPL2 licence (see GNU website).
FREAX is a "work in progress" - I started it as a little test program for my own 6502 assembler a long time ago.
It is very compact - if you set EXTRA and SHELTERS to zero, it can build a smaller version.
While it is playable, I intend to add more. However I have decided to release it as-is, since I
dont know when it will be finished. It has a few interesting ideas, so its worth a look.
One little bug is that the alien character under a missile of bomb is not properly redrawn until the
alien moves, which is annoying, and a to-do fix. Also there is no sound yet, and the colour
is simple pre-fixed areas. (like the old games when they used coloured tape over a b/w monitor!)
The VIC20 version may be better with a wider screen, say 28 columns.
The single source file comiles to multiple targets, with condition .if .. .endif macros
selecting the code for the right targets.
When Compiling set either IS_V20, IS_C64, IS_C16 to 1, the others to zero.
Note: other target systems not yet done.
Set .define ALT_DIR 0 for "normal" alien motion or 1 for more complex/interesting motion.
(Alternate rows move in opposite directions)
I modified my asm to mostly match CA65. Ensure paths CC65_INC and CC65_LIB are set.
To compile under CA65 set the USE_CA65 flag. I set target system to "none" to kill
request for Segment settings - its a bit of a kludge, and to be honest I coded for my own
assembler, which is a CA65 subset.
(Screenshot: FREAX for VIC20, Score 20, 1st level, 2 lives left.)
For more details, see FREAX.TXT in zip file.
(Edit: Added screenshot, removed ref Vic1001)
FREAX is a simple Alien shootem-up game that compiles for the unexpanded VIC20, CBM64 & CBM16/+4.
LATEST VERSION (See end of thread for text): (Much improved, most bugs ironed out..)
OLD VERSION: The files in this archive are:
freax.txt - this file.
freax27.s - CA65 compatible 6502 assembler source code.
freax27c64.prg - Commodore 64 version.
freax27v20.prg - VIC20 version.
freax27c16.prg - Commodore 16 or Plus-4 version.
norm/freax27c64n.prg - version with more traditional alien motion. (also versions for v20/c16 as above)
To move left/right use keys I,P. hit SHIFT to fire. To exit game hit key X.
When the aliens move, alternate rows move in the opposite directions.
When shooting, shave the "side" aliens first, then try to eliminate all the ones going in one particular direction.
Compiling the source.
---------------------
The source code is released under the GNU GPL2 licence (see GNU website).
FREAX is a "work in progress" - I started it as a little test program for my own 6502 assembler a long time ago.
It is very compact - if you set EXTRA and SHELTERS to zero, it can build a smaller version.
While it is playable, I intend to add more. However I have decided to release it as-is, since I
dont know when it will be finished. It has a few interesting ideas, so its worth a look.
One little bug is that the alien character under a missile of bomb is not properly redrawn until the
alien moves, which is annoying, and a to-do fix. Also there is no sound yet, and the colour
is simple pre-fixed areas. (like the old games when they used coloured tape over a b/w monitor!)
The VIC20 version may be better with a wider screen, say 28 columns.
The single source file comiles to multiple targets, with condition .if .. .endif macros
selecting the code for the right targets.
When Compiling set either IS_V20, IS_C64, IS_C16 to 1, the others to zero.
Note: other target systems not yet done.
Set .define ALT_DIR 0 for "normal" alien motion or 1 for more complex/interesting motion.
(Alternate rows move in opposite directions)
I modified my asm to mostly match CA65. Ensure paths CC65_INC and CC65_LIB are set.
To compile under CA65 set the USE_CA65 flag. I set target system to "none" to kill
request for Segment settings - its a bit of a kludge, and to be honest I coded for my own
assembler, which is a CA65 subset.
(Screenshot: FREAX for VIC20, Score 20, 1st level, 2 lives left.)
For more details, see FREAX.TXT in zip file.
(Edit: Added screenshot, removed ref Vic1001)
- Attachments
-
- freax27.zip
- FREAX27 vic game with source.
- (21.63 KiB) Downloaded 184 times
Last edited by orac81 on Tue Mar 19, 2024 12:17 pm, edited 4 times in total.
- Ola H
- Vic 20 Enthusiast
- Posts: 174
- Joined: Thu Aug 20, 2015 6:08 pm
- Website: http://www.athleticdesign.se/
- Location: Sweden
Re: FREAX (and some other new bits)
Well, that's certainly fast, smooth and playable If you just add SFX and a mothership, it would already be one of the top Space Invaders clones on the Vic. But as there already are some great Invaders clones for the Vic, why not add more of your own little twists to the formula? There is potential for a great shooter here!
I think the non-traditional alien motion worked well. Maybe you could use both types but in alternating levels?
I think the non-traditional alien motion worked well. Maybe you could use both types but in alternating levels?
Re: FREAX (and some other new bits)
Thank you for sharing this project
-
- Vic 20 Amateur
- Posts: 41
- Joined: Sat Mar 02, 2024 8:57 pm
- Location: Canada
Re: FREAX (and some other new bits)
Could you post a screenshot or two, please? I will give it a play when I have time, and I'm curious to see what it looks like.
Thank you for sharing
Thank you for sharing
- javierglez
- Vic 20 Hobbyist
- Posts: 114
- Joined: Sat Jun 03, 2017 3:33 pm
- Location: Spain
Re: FREAX (and some other new bits)
Good idea have the alternate rows of aliens moving in opposite directions.
But I don't know what you mean about the VIC1001, apparently it's 3583 bytes free too.
(TBH I had never tried VIC1001 settings on VICE until today)
But I don't know what you mean about the VIC1001, apparently it's 3583 bytes free too.
(TBH I had never tried VIC1001 settings on VICE until today)
Re: FREAX (and some other new bits)
Thanks everyone for the comments! Yes sound would not be too hard, also a Saucer or Mothership, although I did want to take it in different directions. I did make a version for the PC with lots of things going on, for example some faster rows, aliens that required multi hits, diagonal bombs etc. But I liked the idea of keeping it small for a 5k VIC20 too.Ola H wrote: ↑Wed Mar 06, 2024 8:37 pm Well, that's certainly fast, smooth and playable If you just add SFX and a mothership, it would already be one of the top Space Invaders clones on the Vic. But as there already are some great Invaders clones for the Vic, why not add more of your own little twists to the formula? There is potential for a great shooter here!
I think the non-traditional alien motion worked well. Maybe you could use both types but in alternating levels?
As for the my confusion on the VIC1001 - yes, sorry, I was probably thinking of the VIC10 or MAX, which has 2k free user RAM. I have removed mentions of VIC1001 and added a screenshot.
The thing was I did a lot of work on this program years back, and then nothing for years, so I wanted to just get it released in some way even if a bit incomplete. Now I look at the code and think "ok what did I do here?". Lesson - alway keep lots of notes of your projects, even "obvious" stuff.
Re: FREAX (and some other new bits)
FREAX - new version v32!
This is an updated and improved version of FREAX, with most of the glitches ironed out.
FREAX is a simple Alien shootem-up game that compiles for the VIC20, CBM64 & CBM16/+4.
It is very playable, and yet it is only 2K in size!
The files in this archive are:
freax.txt - this file.
freax.s - CA65 compatible 6502 assembler source code.
freax-c64.prg - Commodore 64 version.
freax-v20.prg - VIC20 version (unexpanded).
freax-c16.prg - Commodore 16 or Plus-4 version.
To move left/right use keys I,P. hit SHIFT to fire. To exit game hit key X.
In the title screen you can select different modes by hitting M key.
For a fast game select 1 (bit 0). For a simpler "classic" alien motion, select 2 (bit 1). For both, 3..
When the aliens move, different rows move in the opposite direction.
The game has a pattern of alien movements that span over 8 levels, each level lower and more difficult.
After 8 levels, the game "wraps" and keeps playing, but at a faster speed.
When an alien reaches the bottom, or you use all your lives, the game is over.
HINT: When shooting, shave the "side" aliens first, then try to eliminate all the ones going in one particular direction.
Compiling the source.
---------------------
The source code is included, and released under the GNU GPL3 licence (see end of this document).
FREAX is a "work in progress" - I started it as a little test program for my own 6502 assembler a long time ago.
It is now quite playable, even though I intend to add more at some stage. It has a few interesting ideas, so its worth a look.
It is very compact, currently about 2k. Most of the glitches and bugs on previous versions have been fixed.
The colour is simple pre-fixed areas. (like the old games when they used coloured tape over a b/w monitor!)
The VIC20 version may be better with a wider screen, say 28 columns.
The single source file comiles to multiple targets, with condition .if .. .endif macros selecting the code for the right targets.
When Compiling set either IS_V20, IS_C64, IS_C16 to 1, the others to zero.
Note: other target systems not yet done.
I modified my asm to mostly match CA65. Ensure paths CC65_INC and CC65_LIB are set.
To compile under CA65 set the USE_CA65 flag. I set target system to "none" to kill
request for Segment settings - its a bit of a kludge, and to be honest I coded for my own
assembler, which is a CA65 subset.
Anyway thats it for now. Enjoy!
=============================================================================
The source code is released as free software under the GNU GPL3 licence,
see GNU website: www.gnu.org/licenses/gpl-3.0.html
This is an updated and improved version of FREAX, with most of the glitches ironed out.
FREAX is a simple Alien shootem-up game that compiles for the VIC20, CBM64 & CBM16/+4.
It is very playable, and yet it is only 2K in size!
The files in this archive are:
freax.txt - this file.
freax.s - CA65 compatible 6502 assembler source code.
freax-c64.prg - Commodore 64 version.
freax-v20.prg - VIC20 version (unexpanded).
freax-c16.prg - Commodore 16 or Plus-4 version.
To move left/right use keys I,P. hit SHIFT to fire. To exit game hit key X.
In the title screen you can select different modes by hitting M key.
For a fast game select 1 (bit 0). For a simpler "classic" alien motion, select 2 (bit 1). For both, 3..
When the aliens move, different rows move in the opposite direction.
The game has a pattern of alien movements that span over 8 levels, each level lower and more difficult.
After 8 levels, the game "wraps" and keeps playing, but at a faster speed.
When an alien reaches the bottom, or you use all your lives, the game is over.
HINT: When shooting, shave the "side" aliens first, then try to eliminate all the ones going in one particular direction.
Compiling the source.
---------------------
The source code is included, and released under the GNU GPL3 licence (see end of this document).
FREAX is a "work in progress" - I started it as a little test program for my own 6502 assembler a long time ago.
It is now quite playable, even though I intend to add more at some stage. It has a few interesting ideas, so its worth a look.
It is very compact, currently about 2k. Most of the glitches and bugs on previous versions have been fixed.
The colour is simple pre-fixed areas. (like the old games when they used coloured tape over a b/w monitor!)
The VIC20 version may be better with a wider screen, say 28 columns.
The single source file comiles to multiple targets, with condition .if .. .endif macros selecting the code for the right targets.
When Compiling set either IS_V20, IS_C64, IS_C16 to 1, the others to zero.
Note: other target systems not yet done.
I modified my asm to mostly match CA65. Ensure paths CC65_INC and CC65_LIB are set.
To compile under CA65 set the USE_CA65 flag. I set target system to "none" to kill
request for Segment settings - its a bit of a kludge, and to be honest I coded for my own
assembler, which is a CA65 subset.
Anyway thats it for now. Enjoy!
=============================================================================
The source code is released as free software under the GNU GPL3 licence,
see GNU website: www.gnu.org/licenses/gpl-3.0.html
Re: FREAX (and some other new bits)
Thank you for the share in your journey to make this game for the Vic20, let's hope you make some more games
Re: FREAX (and some other new bits)
Thanks Rich, and I have enjoyed your games too! Its been fun going back to some 6502 programming.
Re: FREAX (and some other new bits)
Sorry I was thinking of another Richard!