Jump to content
IGNORED

ROL out...a new Breakout hack


Nukey Shay

Recommended Posts

...and here's one based on mojofltr's suggestion, where if one line is knocked down in even the unmoving wall, it refills. So if you had most of the wall cleared and it gets up top, it could be up there for a while ;) On the other hand, it might be a bit more challenging to keep a hole where you want it.

rol_out_always_refill_.zip

Link to comment
Share on other sites

And here's a binary that combines everything and provides 64 game variations (6 selectable options). The difficulty switches are back to the original method. Steerable, catch, and breakthro options function the same...and the new options are double (2 paddles), rotate (spin the wall), and refill (replace each line as they are cleared). That's a lot of variations to step through, so I added a quick-select as well (hold both reset and select to go through the variations quicker). As in the original, up to 4 players can compete...but unlike the original, you can mix the options! :)

 

The dropped options are "invisible" (I reused the ram pointers devoted to the color table), and "timed mode" (with endless walls, there's no point to having a timed game).

 

Game | Steerable | Catch | Double | Rotate | Refill | Breakthru |

+++++|+++++++++++|+++++++|++++++++|++++++++|++++++++|+++++++++++|

1    |           |       |        |        |        |           |

2    |     X     |       |        |        |        |           |

3    |           |   X   |        |        |        |           |

4    |     X     |   X   |        |        |        |           |

5    |           |       |   X    |        |        |           |

6    |     X     |       |   X    |        |        |           |

7    |           |   X   |   X    |        |        |           |

8    |     X     |   X   |   X    |        |        |           |

9    |           |       |        |   X    |        |           |

10   |     X     |       |        |   X    |        |           |

11   |           |   X   |        |   X    |        |           |

12   |     X     |   X   |        |   X    |        |           |

13   |           |       |   X    |   X    |        |           |

14   |     X     |       |   X    |   X    |        |           |

15   |           |   X   |   X    |   X    |        |           |

16   |     X     |   X   |   X    |   X    |        |           |

17   |           |       |        |        |   X    |           |

18   |     X     |       |        |        |   X    |           |

19   |           |   X   |        |        |   X    |           |

20   |     X     |   X   |        |        |   X    |           |

21   |           |       |   X    |        |   X    |           |

22   |     X     |       |   X    |        |   X    |           |

23   |           |   X   |   X    |        |   X    |           |

24   |     X     |   X   |   X    |        |   X    |           |

25   |           |       |        |   X    |   X    |           |

26   |     X     |       |        |   X    |   X    |           |

27   |           |   X   |        |   X    |   X    |           |

28   |     X     |   X   |        |   X    |   X    |           |

29   |           |       |   X    |   X    |   X    |           |

30   |     X     |       |   X    |   X    |   X    |           |

31   |           |   X   |   X    |   X    |   X    |           |

32   |     X     |   X   |   X    |   X    |   X    |           |

33   |           |       |        |        |        |     X     |

34   |     X     |       |        |        |        |     X     |

35   |           |   X   |        |        |        |     X     |

36   |     X     |   X   |        |        |        |     X     |

37   |           |       |   X    |        |        |     X     |

38   |     X     |       |   X    |        |        |     X     |

39   |           |   X   |   X    |        |        |     X     |

40   |     X     |   X   |   X    |        |        |     X     |

41   |           |       |        |   X    |        |     X     |

42   |     X     |       |        |   X    |        |     X     |

43   |           |   X   |        |   X    |        |     X     |

44   |     X     |   X   |        |   X    |        |     X     |

45   |           |       |   X    |   X    |        |     X     |

46   |     X     |       |   X    |   X    |        |     X     |

47   |           |   X   |   X    |   X    |        |     X     |

48   |     X     |   X   |   X    |   X    |        |     X     |

49   |           |       |        |        |   X    |     X     |

50   |     X     |       |        |        |   X    |     X     |

51   |           |   X   |        |        |   X    |     X     |

52   |     X     |   X   |        |        |   X    |     X     |

53   |           |       |   X    |        |   X    |     X     |

54   |     X     |       |   X    |        |   X    |     X     |

55   |           |   X   |   X    |        |   X    |     X     |

56   |     X     |   X   |   X    |        |   X    |     X     |

57   |           |       |        |   X    |   X    |     X     |

58   |     X     |       |        |   X    |   X    |     X     |

59   |           |   X   |        |   X    |   X    |     X     |

60   |     X     |   X   |        |   X    |   X    |     X     |

61   |           |       |   X    |   X    |   X    |     X     |

62   |     X     |       |   X    |   X    |   X    |     X     |

63   |           |   X   |   X    |   X    |   X    |     X     |

64   |     X     |   X   |   X    |   X    |   X    |     X     |

rol_out.zip

Link to comment
Share on other sites

There is...I just don't know how to hack it in. Both player objects are already being displayed (player3 and 4's paddles)...and the program looks at a seperate value in all the scanlines below the bricks to determine when to display the paddle. Rather than use a paddle, a graphic image of a capsule could be used...with a seperate ram location to indicate how high it is on the screen (which is then used by the above routine). Changing that value would allow the 2nd paddle to fall from the underside of the brick area down to the player's paddle.

In addition, there are 2 sets of walls. The one on the screen and the one for the other player. Each brick uses 2 bits of memory...so in the "hidden" wall, the 2 bits could be used to indicate each brick's "hit points"...1, 2, or 3 hits to knock it out and the remaining value used if the brick is invincible. One remaining problem is that the bricks can only be 1 color...but by ANDing a mask value over the hidden wall's values (which hold the hit points), that could be used to determine whether or not to display a pixel in that position (so solid bricks could be invincible, and bricks that have 1, 2, or 3 hit points could be simply made up of 1, 2, or 3 scanlines.

The missile objects are already in use (the sides of the screen)...put player 1's sprite could be turned "on" on every scanline up to the wall if desired (so that could be used in place of the lasers). Note that the lasers wouldn't actually "hit" the bricks...but a routine could be used instead to determine if a brick is directly over the laser beam (and subsequently lower that brick's hit count).

So yeah...a 1-player Arkanoid is definately possible using this as a base. I just don't know how to do it :lol:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...