Jump to content

Photo

ROL out...a new Breakout hack


32 replies to this topic

#26 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • Topic Starter
  • 21,536 posts
  • Location:The land of Gorch

Posted Wed Sep 8, 2004 5:52 PM

No dice :sad: Still trying to correct it (now that I have an idea how)...

#27 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • Topic Starter
  • 21,536 posts
  • Location:The land of Gorch

Posted Wed Sep 8, 2004 7:35 PM

Got it. I even tested it this time ;)

Marathon Breakout challenges, anyone? :twisted:

Attached Files



#28 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • Topic Starter
  • 21,536 posts
  • Location:The land of Gorch

Posted Wed Sep 8, 2004 8:12 PM

...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.

Attached Files



#29 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • Topic Starter
  • 21,536 posts
  • Location:The land of Gorch

Posted Thu Sep 9, 2004 3:33 PM

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     |

Attached Files



#30 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • Topic Starter
  • 21,536 posts
  • Location:The land of Gorch

Posted Sat Sep 11, 2004 7:26 AM

Eliminated the large patch of color on the walls here (when choosing 2 paddles). I also eliminated all of the JSR's (via redundancy)...which leaves some upper ram free. Still over 1k of memory clear.

Attached Files



#31 PacManPlus OFFLINE  

PacManPlus

    River Patroller

  • 4,551 posts
  • Atari 7800 Developer
  • Location:Florida

Posted Sat Sep 11, 2004 7:48 AM

It's too bad there isn't a way to have bricks 'drop' when hit, so that when the player catches them, it turns on and off the steerable, catch, double, rotate, refill, and breakthrough options al la Arkanoid ;)

#32 PacManPlus OFFLINE  

PacManPlus

    River Patroller

  • 4,551 posts
  • Atari 7800 Developer
  • Location:Florida

Posted Sat Sep 11, 2004 7:49 AM

I should say *like* the way Arkanoid does (because there is no steerable, rotate or refill options in Arkanoid)

#33 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • Topic Starter
  • 21,536 posts
  • Location:The land of Gorch

Posted Sat Sep 11, 2004 8:23 AM

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:




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users