Update README.md

This commit is contained in:
2024-12-21 12:24:07 -05:00
committed by GitHub
parent d5d82d7316
commit db0f592dd2
+28 -28
View File
@@ -1,37 +1,37 @@
# Avery Breakout
A very break out game. Name is a homage to Mr. Avery Lee, also known as [phaeron](https://forums.atariage.com/profile/16457-phaeron/)
A very break out game. The name is a homage to Mr. Avery Lee, also known as [phaeron](https://forums.atariage.com/profile/16457-phaeron/)
Thank you Avery for everything you are doing for this small community.
I have shown engine protos before, but it was not a real game, just a few bouncing balls.
[Pecus](https://github.com/Pecusx) for the rescue! In a couple of evenings we were able to transform it into a (hopefully) playable game.
[Pecus](https://github.com/Pecusx) for the rescue! In a couple of evenings, we were able to transform it into a (hopefully) playable game.
Music and SFX by Alex, his first RMT attempt :)
Font by [DamienG](https://damieng.com/typography/zx-origins/mild-west/)
The `backup` folder contains easier to play hi-res, b-w version.
The `backup` folder contains an easier-to-play hi-res, b-w version.
## 2024-12-07
We teamed with Pecus and Alex and made a game out of the "tech demo". There are points, game over screen and possibility to add your own levels.
We teamed with Pecus and Alex and made a game out of the "tech demo". There are points, game over screen, and the possibility to add your levels.
If there is no DOS, you can play the single built-in level.
With DOS, the game tries to load `LEVELnnn.DAT` file, starting from `LEVEL001.DAT` from the current directory.
The levels can be edited on Atari with the enclosed `ED.COM` editor or a PC (end line characters can be LF, CRFL or ATASCII EOL).
The levels can be edited on Atari with the enclosed `ED.COM` editor or a PC (end line characters can be LF, CRFL, or ATASCII EOL).
### Level file format:
line 1: number of balls to be hit for the level to succeed
line 1: number of bricks to be hit for the level to succeed
line 2: `1` means single pixel width of the pattern, `2` double pixel width
line 2: `1` means single pixel width of the brick, `2` double pixel width
the following lines define the level. Any character is a pixel, space is a space, EOL is the end of line.
the following lines define the level. Any character is a brick, space is a space, and EOL is the end of the line.
The game displays 46 lines of pixels, but your levels should generally be shorter to make it playable.
The game displays 46 lines of bricks, but your levels should generally be shorter to make it playable.
Important! Any error in the level definition causes the game to return to level 000, so if you make a mistake in `LEVEL004.DAT`,
the files `LEVEL005.DAT` and `LEVEL006.DAT` will never be displayed.
@@ -46,28 +46,28 @@ Second place in the game compo in PSA 2020 virtual SARS-2 demo party.
### TPS Report:
## 2012-02-16
Fork to the colour version. (averybreakout.asm) Graphics mode tests.
Fork to the color version. (averybreakout.asm) Graphics mode tests.
## build 023: 2010-06-26
+ idle ball delay loop shortened to 75 loops for a smoother experience
T027: when ball is down out of the screen and the racquette is over it, it bounces.
T027: when a ball is down out of the screen and the racquet is over it, it bounces.
Need to add a check for it! (no bounces when out of the screen)
## build 022: 2010-06-24
T022: when balls disappear, their traces should disappear, too, even when a new ball is NOT created
now the dead pixels disappear only when a new ball is created.
It has been done by expanding the bottom area, so the balls are going down.
Screen had to been cut 10 lines. Not a big deal.
The screen had to be cut 10 lines. Not a big deal.
T024: detect the ending
Detected (gameIsNotOver label).
## build 021: 2010-06-21
+ apparently the slowest part of the engine is eXistenZcheck - rewrite as a simple stack!
+ apparently, the slowest part of the engine is eXistenZcheck - rewrite as a simple stack!
as usual, it was not as simple as thought previously... But works now!
Will be easier to clear traces of the dead balls now.
@@ -79,12 +79,12 @@ T024: detect the ending
solved by a better usage of "maxSpeed"
## build 019: 2010-05-27
+ alive balls are somewhere in the outer space - check where and fix
+ alive balls are somewhere in outer space - check where and fix
where: YposTableH -- 00 -- 08 most 01, XposTableH - FF, FE, 00, 01
basicaly these are places where a ball should never be!
Basically these are places where a ball should never be!
One fix let other "outer-space" related buggies die, too.
The problem was that bouncing ball got behind the border and started to bounce
there and forth outside the screen. Fix - bring it back on the playfield.
The problem was that the bouncing ball got behind the border and started to bounce
there and forth outside the screen. Fix - bring it back to the playfield.
+ balls are created somewhere outside the screen
+ when balls disappear, their traces should disappear, too (now 1 pixel stays on screen)
+ high dX balls were sticking to Vborders. Fixed by increasing the margin
@@ -95,21 +95,21 @@ T024: detect the ending
build 017: 2010-05-25
+ too few high dX balls
x low-priority: rewrite memorytables to use lda (zpage,x) addressing (cool:)
Turned out not to be such a low-priority job as wrong sequence of writes
to memorytables make one pixel staying on the screen. Rewrite to simplify!
Turned out not to be such a low-priority job as the wrong sequence of writes
to memorytables made one pixel stay on the screen. Rewrite to simplify!
Turned out that indirect X addressing is not good for it and this is closed.
## build 016: 2010-05-24
Forgot about documenting updates...
Basically the game is close to the end, but number of small issues emerged.
+ racquette is too slow (and it was such a work to make it 1-px smooth...)
Basically, the game is close to the end, but a number of small issues emerged.
+ The racquette is too slow (and it was such work to make it 1-px smooth...)
## build 006: 2010-05-12
Collision detection
Ough... turned out to be way more difficult than expected, but now collisions are detected and balls are bouncing!
## build 005: 2010-05-10
Snake like plot memory! Lots and lots of pixels, less balls (64 is the max...)
Snake-like plot memory! Lots and lots of pixels, fewer balls (64 is the max...)
## build 004: 2010-05-09
Multiple ballz
@@ -117,7 +117,7 @@ Multiple ballz
## build 003: 2010-05-08
Feeling bouncy
simple boundary bounces work nicely.
Unfrtunately number of draws per frame dropped to circa 70.
Unfortunately, the number of draws per frame dropped to circa 70.
I guess 64 will be an achievement for 2 frames.
## build 002: 2010-05-06
@@ -127,7 +127,7 @@ MADS rewrite :-]
## build 001: 2010-05-04
First try:
Strip scorch sources to get clean gr.8 screen.
Strip scorch sources to get a clean gr.8 screen.
(and PLOT)
Basic idea: http://wonderfl.net/c/tNGi/fullscreen
@@ -137,10 +137,10 @@ Basic idea: http://wonderfl.net/c/tNGi/fullscreen
T021: balls are ferking stick to the right part of the screen...
T023: find and set few nice starting points and speeds to be rotated (remove not really sexy random start)
T023: find and set a few nice starting points and speeds to be rotated (remove not really sexy random start)
T025: do nice game over (when not clear)
T025: do a nice game over (when not clear)
T026: do nice "ALL CLEAR" screen
T026: do a nice "ALL CLEAR" screen
T028: (idea) spinning the ball - when ball bounces the racquette when it is moving, dX adds or subs
T028: (idea) spinning the ball - when a ball bounces the racquet when it is moving, dX adds or subs