diff --git a/AB.ATR b/AB.ATR deleted file mode 100644 index c1d2d9e..0000000 Binary files a/AB.ATR and /dev/null differ diff --git a/AB_BEWE.ATR b/AB_BEWE.ATR index b671713..bba40af 100644 Binary files a/AB_BEWE.ATR and b/AB_BEWE.ATR differ diff --git a/README.md b/README.md index 0bfdab5..cdec542 100644 --- a/README.md +++ b/README.md @@ -8,19 +8,28 @@ I have shown engine protos before, but it was not a real game, just a few bounci 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. +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. +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 CR, LF, CRFL or ATASCII EOL). +Level file format: +line 1: number of balls to be hit for the level to succeed +line 2: `1` means single pixel width of the pattern, `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. -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) -T025: do nice game over (when not clear) -T026: do nice "ALL CLEAR" screen +The game displays 46 lines of pixels, but your levels should generally be shorter to make it playable. + +Experiment! -T028: (idea) spinning the ball - when ball bounces the racquette when it is moving, dX adds or subs 2020-05-13 Second place in the game compo in PSA 2020 virtual SARS-2 demo party. @@ -114,3 +123,13 @@ First try: Strip scorch sources to get clean gr.8 screen. (and PLOT) Basic idea: http://wonderfl.net/c/tNGi/fullscreen + + +TODO: (old) + +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) +T025: do nice game over (when not clear) +T026: do nice "ALL CLEAR" screen + +T028: (idea) spinning the ball - when ball bounces the racquette when it is moving, dX adds or subs diff --git a/MODE9pp.txt b/art/MODE9pp.txt similarity index 100% rename from MODE9pp.txt rename to art/MODE9pp.txt diff --git a/averybreakout.asm b/averybreakout.asm index 28adae9..d1b4700 100644 --- a/averybreakout.asm +++ b/averybreakout.asm @@ -141,7 +141,7 @@ StartText BlocksToHit=LevelText+26 AllBlocks=LevelText+44 ;-------------------------------------------------- - icl 'fileio.asm' + icl 'lib/fileio.asm' ;-------------------------------------------------- ;-------------------------------------------------- diff --git a/changes.txt b/changes.txt deleted file mode 100644 index 60a15ff..0000000 --- a/changes.txt +++ /dev/null @@ -1,97 +0,0 @@ - -TODO -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) -T025: do nice game over (when not clear) -T026: do nice "ALL CLEAR" screen - -T028: (idea) spinning the ball - when ball bounces the racquette when it is moving, dX adds or subs - -Changes: - -2012-02-16 -Fork to the colour 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. - 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. -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! - as usual, it was not as simple as thought previously... But works now! - Will be easier to clear traces of the dead balls now. - -build 020: 2010-06-02 -+ when the racquette is max to the right it does not bounce balls! -+ still problems with racquet - solved - pos+size was >$ff -+ very fast balls get through the left-right side borders - solved by a better usage of "maxSpeed" - -build 019: 2010-05-27 -+ alive balls are somewhere in the 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! - 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. -+ 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 - -build 018: 2010-05-26 -+ 1 pixel out of the deleted bunch stays forever (erase/store sequence was invalid) - - -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 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...) - -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...) - - -build 004: 2010-05-09 -Multiple ballz - - -build 003: 2010-05-08 -Feeling bouncy -simple boundary bounces work nicely. -Unfrtunately number of draws per frame dropped to circa 70. -I guess 64 will be an achievement for 2 frames. - -build 002: 2010-05-06 -MADS rewrite :-] -;bare plots get circa 320 pixels per frame. I will go for 128 pix max now - - -build 001: 2010-05-04 - -First try: -Strip scorch sources to get clean gr.8 screen. -(and PLOT) -Basic idea: http://wonderfl.net/c/tNGi/fullscreen diff --git a/levels/LEVEL006.DAT b/levels/LEVEL006.DAT new file mode 100644 index 0000000..7c0f334 --- /dev/null +++ b/levels/LEVEL006.DAT @@ -0,0 +1,18 @@ +111 +1 + + ####### # # # # # # # # # ####### # # + # # # # # ## # # # # # # # # # + # # # # # # # # # # # # # # # # + # ####### # # # # # ### # # # # # + # # # ####### # # # # # # # # # # + # # # # # # ## # # # # # # # + # # # # # # # # # # ####### ##### + + # # # ####### ###### # # + # # # # # # # # # + # # # # # # # # # + # # # # ##### ###### # + ####### # # # # # # + # # # # # # # # + # # # ####### # # # diff --git a/fileio.asm b/lib/fileio.asm similarity index 100% rename from fileio.asm rename to lib/fileio.asm