Break-Out!
Moderator: Moderators
-
- Omega Star Commander
- Posts: 1371
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
Break-Out!
Today is Columbus Day holiday -- a good excuse to stay home and do some 8-bit tinkering. I spent most of it writing this Atari classic home video game, BREAKOUT, but renamed it (because I can) as Break-Out!
I think every pre-1985 VIC 20 owner that could write a BASIC program made a BREAKOUT clone of some type or another. Surely, we all painted rows of colored reverse bars on our screen as a mock display.
I could not locate my original game clone from the 1980s cassette tape library, so I presumed it to be lost forever. Anyhow, I decided to write another version in ML and with the software sprite stack.
The game claims to require a paddle, but it auto-detects the use of a joystick too. If you press P1 paddle button, it starts in one-player mode; pressing P2 paddle button, it starts in two-player mode. The same with the joystick: push LEFT (or FIRE) for one-player; push RIGHT for two player.
In two player mode, you start each ball with a fresh level. If you lose a ball or complete a level, I swap to the other player to have a chance to play (if he has any balls remaining). Player one is white paddle & ball with a black score; player two is reversed. Each paddle button launches the player's respective ball -- although the C= key was put in as an override. Press STOP anytime to reset game or RESTORE to reset to BASIC.
That's it. Fairly simple, but still was fun to do. I don't recall programming a complete game using paddles. Fortunately, I have a new pair of C= branded game paddles (jitter-free!) and the game plays slick on real hardware. VICE with paddle emulation is ok, but it is just not the same.
Download ZIP archive or the PRG binary only. Requires at least 8k RAM expansion.
I think every pre-1985 VIC 20 owner that could write a BASIC program made a BREAKOUT clone of some type or another. Surely, we all painted rows of colored reverse bars on our screen as a mock display.
I could not locate my original game clone from the 1980s cassette tape library, so I presumed it to be lost forever. Anyhow, I decided to write another version in ML and with the software sprite stack.
The game claims to require a paddle, but it auto-detects the use of a joystick too. If you press P1 paddle button, it starts in one-player mode; pressing P2 paddle button, it starts in two-player mode. The same with the joystick: push LEFT (or FIRE) for one-player; push RIGHT for two player.
In two player mode, you start each ball with a fresh level. If you lose a ball or complete a level, I swap to the other player to have a chance to play (if he has any balls remaining). Player one is white paddle & ball with a black score; player two is reversed. Each paddle button launches the player's respective ball -- although the C= key was put in as an override. Press STOP anytime to reset game or RESTORE to reset to BASIC.
That's it. Fairly simple, but still was fun to do. I don't recall programming a complete game using paddles. Fortunately, I have a new pair of C= branded game paddles (jitter-free!) and the game plays slick on real hardware. VICE with paddle emulation is ok, but it is just not the same.
Download ZIP archive or the PRG binary only. Requires at least 8k RAM expansion.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing
-
- Omega Star Commander
- Posts: 1371
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
Wait 20+ years and I will re-visit this 2010 code and make Break-Out+ or Break-Out MMXX with all the bells & whistles.... why not an Arkanoid clone ?
I spent a whopping 10+ hours creating this yesterday, because you got me to pull out all my VIC 20 stuff to test SJLOAD, et al the day before. And then I started playing with my cassette tapes, too, which got me wondering where my original BASIC Break-Out! game I wrote way back as an adolescent went.
The game is complete enough as it is for this release; and my wife enjoys playing against me because it is simple and uncomplicated. But I am certain when I get another block of time to be creative, I will populate this base with gaming options, to keep the original intact but offer variances not unlike the 2600 game cartridge does.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing
Sorry but at least all went finerhurst wrote:I spent a whopping 10+ hours creating this yesterday, because you got me to pull out all my VIC 20 stuff to test SJLOAD
Time to play a bit on Break-Out now
Mega-Cart: the cartridge you plug in once and for all.
-
- Omega Star Commander
- Posts: 1371
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
Minor tweaks to improve overall play and corrected the two player display at game over have been uploaded.
I also created a subversion project for this game at https://robert.hurst-ri.us/websvn for the latest in any new developments. I will only bump this thread when/if any major developments might be of interest.
Enjoy!
I also created a subversion project for this game at https://robert.hurst-ri.us/websvn for the latest in any new developments. I will only bump this thread when/if any major developments might be of interest.
Enjoy!
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing
-
- Vic 20 Hobbyist
- Posts: 105
- Joined: Tue Jun 17, 2008 8:21 pm
Will you be adding code to reserve a bit of memory to store the screen display to let users continue where they left off rather than repaint the screen?
Call me a cheap bastard... I learned to fix things to save money... even surface mount soldering...
Visit my website: http://www.arcadecomponents.com
Visit my website: http://www.arcadecomponents.com
-
- The Most Noble Order of Denial
- Posts: 343
- Joined: Fri May 01, 2009 4:44 pm
Wow, finally a prg that actually works with the inline vic20
http://www.mdawson.net/denial/bookmark.php
You need to turn on the joystick at the top of the window, and capslock is the commodore key.
http://www.mdawson.net/denial/bookmark.php
You need to turn on the joystick at the top of the window, and capslock is the commodore key.
-
- Omega Star Commander
- Posts: 1371
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
In two-player mode, for certain that will need to occur. My wife likes it the way it is, because she can only rack up a lot of tiny points and has not cleared a level yet (even in one-player mode). I'll probably end up making that a gaming option.... let users continue where they left off rather than repaint the screen?
Dude, that is wicked cool... nice job!!... works with the inline vic20
Can you make it automagically post new high scores, too?
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing
Nice!
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
-
- Omega Star Commander
- Posts: 1371
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
Since my FiOS went down today between 10:15 and 2:15, my remote office work day was fairly useless. Not to fret, I spent those 4-hours updating Break-Out!
Made the following changes:
- Cycles through function key game options:
[F1] START P1
[F3] START P2
[F5] NOVICE | CLASSIC | ADVANCED
[F7] BREAK-OUT | BREAKTHRU
- VIC 20 splash logo
In a two player game, your current bricks are saved between turns, EXCEPT when in NOVICE mode -- then the level is refreshed.
Made the following changes:
- Cycles through function key game options:
[F1] START P1
[F3] START P2
[F5] NOVICE | CLASSIC | ADVANCED
[F7] BREAK-OUT | BREAKTHRU
- VIC 20 splash logo
In a two player game, your current bricks are saved between turns, EXCEPT when in NOVICE mode -- then the level is refreshed.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing
- Mayhem
- High Bidder
- Posts: 3027
- Joined: Mon May 24, 2004 7:03 am
- Website: http://www.mayhem64.co.uk
- Location: London
-
- Omega Star Commander
- Posts: 1371
- Joined: Thu Jan 31, 2008 2:12 pm
- Website: https://robert.hurst-ri.us
- Location: Providence, RI
- Occupation: Tech & Innovation
Novice: ball speed is always governed by vertical sync; shots off of a paddle's corner increase its ascent angle by a factor of 1 - same as off-center shots.
Classic: ball speed is always governed by vertical sync, until the ball hits the top of the screen; shots off of a paddle's corner increase its ascent angle by factor of 2.
Advanced: same as Classic, except ball speed is never limited to vertical sync.
Classic: ball speed is always governed by vertical sync, until the ball hits the top of the screen; shots off of a paddle's corner increase its ascent angle by factor of 2.
Advanced: same as Classic, except ball speed is never limited to vertical sync.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
https://robert.hurst-ri.us/rob/retrocomputing
-
- Vic 20 Scientist
- Posts: 1193
- Joined: Tue Apr 28, 2009 3:51 pm