Nukey Shay Posted March 24, 2004 Share Posted March 24, 2004 (edited) Currently hacking Breakout to add a rotating wall. I don't think this works in Stella, so try it out in Z26 Click HERE for the final version Edited June 18, 2010 by Nukey Shay Quote Link to comment Share on other sites More sharing options...
Out_of_Gas Posted March 24, 2004 Share Posted March 24, 2004 Thats real cool. Psychedelic even. Seriously. It's good. Looking foward to the finished game. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 24, 2004 Author Share Posted March 24, 2004 Damn...outta space in 2k, so I upped it to 4k Bug report: - A glitched 1st and 2nd digit when choosing games** - Small gap in wall when you begin ** The original Breakout used 2 data tables to hold the bitmaps of digits, 1 normal, and 1 reversed. 55 bytes can be had easily by combining both into 1 and using LSR instructions to shift them into the proper orientation. The problem with doing this is that there is no time left to clear "dead" digits with spaces. During a game, they will appear normally. Quote Link to comment Share on other sites More sharing options...
StanJr Posted March 24, 2004 Share Posted March 24, 2004 Hacking Breakout, what will they think of next. Awesome Nukey, leave it to you to do the unbelievable. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 24, 2004 Author Share Posted March 24, 2004 The interesting thing is that Breakout uses 2 bits to store the state of each brick already (because each brick is made of 2 pixels...bits in Ram that are sent to the screen). Since that's the case, it -might- be possible to try to bend this game into an Arkanoid-type game (there's still 2k to use). Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 24, 2004 Author Share Posted March 24, 2004 The gap is fixed, and the glitched character is blotted out (couldn't get the first 0 or the number of balls indicator cleared tho). Keeps the correct score, so you'll get both walls. Also added: Rolling walls are selectable (right difficulty = A)...and the bands roll at different speeds. Really tricky to bust a gap in this one It will also run on an unmodded Supercharger. Only 19 bytes extra used in the 2nd bank...that's still a lot of room left Quote Link to comment Share on other sites More sharing options...
neotokeo2001 Posted March 24, 2004 Share Posted March 24, 2004 Sounds Great!! I'll have to check it out later... Quote Link to comment Share on other sites More sharing options...
bjk7382 Posted March 24, 2004 Share Posted March 24, 2004 I tried it on my modded supercharger and I had problems getting the difficulty switches to work smoothly. After you switch the difficulty you have to push reset. And then sometimes the paddles would stop responding after you switch the difficulty. Not sure what is happening but after I got it working it is a great hack High score of 91 on game 1 Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 24, 2004 Author Share Posted March 24, 2004 Interesting Breakout moves the ball and paddle by way of interrupt, and it's my first attempt at hacking a game that uses them. Odd tho...no errors in Z26 Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 26, 2004 Author Share Posted March 26, 2004 Updated... I still can't figure out why it shouldn't work on the real hardware sometimes But I've got a few additions anyway: - Unlimited walls, except in timed games...what's the purpose of a timer if there is no limit to bricks? - The game now features 4-digit scoring. With more than 2 walls, it's a necessity. -The rotating bands now travel in opposing directions, fast on the bottom and slower as you go upward. Now the bad news. Since I changed the game by adding a block counter, there is no way to keep track of the count in two player games (because each player overwrites the counter when it's their turn). So in 2-player games, you might get a new wall before it's destroyed, or you might not get a new wall at all. 1 player games work fine. This can be corrected by tracking down 2 bytes of ram, but I haven't found any yet. Also, an interesting wrinkle in the game is the ability to "refill" the bands when the last block is hit in each. Since this could make the game -very- easy, I put it in a seperate binary. Quote Link to comment Share on other sites More sharing options...
NovaXpress Posted March 26, 2004 Share Posted March 26, 2004 Really clever idea, you have my utmost respect. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 26, 2004 Author Share Posted March 26, 2004 Added additional color here...also corrected the character blanking. rol_out.zip Quote Link to comment Share on other sites More sharing options...
oesii Posted March 26, 2004 Share Posted March 26, 2004 looks cool, now try to get Al to ship out those stellausb adaptors quickly so i can try this out with real paddles Quote Link to comment Share on other sites More sharing options...
uosipa llamxew Posted March 26, 2004 Share Posted March 26, 2004 This is great! :-) I have yet to finish a screen... that darn ball gets whipping back and forth at lightspeed. I can't wait to see what else you will implement in this and your SI Deluxe hack. Quote Link to comment Share on other sites More sharing options...
Out_of_Gas Posted March 27, 2004 Share Posted March 27, 2004 This is great!!! Looking foward to the finished product. Maybe a cart in the future? Quote Link to comment Share on other sites More sharing options...
Saikyo Posted March 27, 2004 Share Posted March 27, 2004 Have'nt tried this one yet but as soon as I do ill post here! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 27, 2004 Author Share Posted March 27, 2004 It doesn't seem to like Stella, so you'll need to use Z26. Still haven't figured out the reason behind that @Out_of_Gas- It's a possibility This was really just an experiment to see what a shifting wall would play like. I'm really after something a bit more radical :wink: That and a few posts have been made argueing how such a game would be possible on the 2600 That's what really got my interest. I know for a fact that Arkanoid IS possible. What I don't know is if I could pull it off. Quote Link to comment Share on other sites More sharing options...
ATARI TROLL Posted March 27, 2004 Share Posted March 27, 2004 Nukey they rock....me thinks me is going to get a stella adapter for this one! Quote Link to comment Share on other sites More sharing options...
Saikyo Posted March 27, 2004 Share Posted March 27, 2004 Hang on! If this is a hack of breakout and not super breakout then the game will end after the first two levels! It IS a SUPER breakout hack right? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted March 27, 2004 Author Share Posted March 27, 2004 Nope...it's Breakout. The original game just checked to see if your score was equal to 432 when the ball hits the paddle...which means that it would only give you 1 additional wall: ;@$F494 LDA #$04 ;2 CMP $CC ;3 is 1st score digit a 4? BNE LF4A4 ;2 branch if no LDA #$32 ;2 CMP $CD ;3 are last 2 digits 32? BNE LF4A4 ;2 branch if no LDA #$C0 ;2 load #$C0 to signal... STA $DE ;3 ...that a wall is wanted I dropped that routine, and changed it to this instead: ;...add new wall when hit LDA $E2 ;3 check brick count BNE LF4A4 ;2 branch if anything left LDA #$C0 ;2 load #$C0 to signal... STA $DE ;3 ...that a wall is wanted Since I'm using ram address $E2 (which used to hold the shifting color for the background in attract mode), I also had to add in the following to keep track of the bricks hit... ;near label LF4F1 LDA $80,X ;4 check bricks... AND LF7BE,Y ;4 against the mask value CMP $80,X ;4 is there a brick there? BEQ LF542 ;2 branch if nothing STA $80,X ;4 clear brick... ;added DEC $E2 ;5 ...decrease brick counter ...and this to set the starting brick counter value... ;below label LF1AB...just before the RTS instruction... LDA #$6C ;2 $6C = 108 bricks STA $E2 ;3 save to brick counter I thought about using Super Breakout, but the older version has a greater chance of being altered into something else (since SB is already more specialized to perform a certian way). Plus regular Breakout has 2k of rom memory to freely experiment with. Quote Link to comment Share on other sites More sharing options...
uosipa llamxew Posted March 27, 2004 Share Posted March 27, 2004 Saikyo said: Hang on! If this is a hack of breakout and not super breakout then the game will end after the first two levels! It might have IF you are skilled enough to pass the first two levels. This hack makes it quite a bit more difficult to clear a board. Nukey said: I thought about using Super Breakout, but the older version has a greater chance of being altered into something else (since SB is already more specialized to perform a certian way). Plus regular Breakout has 2k of rom memory to freely experiment with. Nukey, that mad hacker, has such wonderful experiments! I recently purchased a modified Supercharger so I could play these hacks on a real machine. OH BOY! Quote Link to comment Share on other sites More sharing options...
uosipa llamxew Posted April 11, 2004 Share Posted April 11, 2004 The game works great on my Supercharger. I haven't had any of the problems described above... perhaps it was fixed with the newer binary(?) ... an interesting wrinkle in the game is the ability to "refill" the bands when the last block is hit in each. Since this could make the game -very- easy, I put it in a seperate binary. I like this feature, but I noticed that it will not refill if the difficulty switch isn't set to make the bricks roll. It might be neat to have half of the wall busted down and then have a new row pup up - increasing the chance of the ball getting up top and going ballistic!... "ball"istic. AHAHAH. sorry anyways, also as I play, I can't help but notice that the collision detection in Breakout could use a little help. ie sometimes a ball will bounce back and move through a brick without busting it, or sometimes won't bust a brick when it collides on its side. Would there be any chance of tweaking the collision detection so that the ball busts a brick no matter what direction it comes from? One last thing and I'll shut up for a second. :-) Would there be any way to modify the game so that the bricks could be laid out in formation? Like say the bricks are laid out to resemble a space invader, or Pacman. kbye. Quote Link to comment Share on other sites More sharing options...
NE146 Posted May 17, 2004 Share Posted May 17, 2004 I recently broke out my Cuttle Cart (after about a year of storage) and am having a ball with all these cool hacks! More Nukey more! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted May 17, 2004 Author Share Posted May 17, 2004 ... an interesting wrinkle in the game is the ability to "refill" the bands when the last block is hit in each. Since this could make the game -very- easy, I put it in a seperate binary.I like this feature, but I noticed that it will not refill if the difficulty switch isn't set to make the bricks roll.I didn't think of that The bands refill in the same routine that rotates them...so it was an oversight. It might be neat to have half of the wall busted down and then have a new row pup up - increasing the chance of the ball getting up top and going ballistic!... "ball"istic. AHAHAH. sorryanyways, also as I play, I can't help but notice that the collision detection in Breakout could use a little help. ie sometimes a ball will bounce back and move through a brick without busting it, or sometimes won't bust a brick when it collides on its side. Would there be any chance of tweaking the collision detection so that the ball busts a brick no matter what direction it comes from? Yes. The limited collision detection is intentional. IIRC, the ball gets a bit screwey if it's allowed to hit bricks on all sides. The way it currently works is that if a brick is hit, another can't be hit until the ball hits the edges or the player (except on breakthrough game selections). One last thing and I'll shut up for a second. :-) Would there be any way to modify the game so that the bricks could be laid out in formation? Like say the bricks are laid out to resemble a space invader, or Pacman.Yes. When the lines are refilled, the program is really just grabbing a value and sending it to all the ram locations that the row or wall occupies. The value could be loaded from a table instead (which could be layed out in whatever pattern is desired)...and it could also be indexed (so that you can have a number of different wall shapes). This also fits with the way that Arkanoid works. But due to my limited understanding about how kernals work, I haven't made any progress in that direction yet Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted September 8, 2004 Author Share Posted September 8, 2004 Update... Final correction to the hacks. Each player now retains their own brick counter...so the walls should operate normally in multiplayer mode. I also put both handicaps on the RIGHT difficulty (A=shorter paddles)...and put the wall control on the LEFT. As before, there are 2 binaries...one which refills the wall line-by-line, and the standard version that only replaces an entire wall at a time. I suck pretty badly at this thing using a mouse...anyone care to confirm that it works as it should? If both players can clear a wall and have a new one appear in B difficulty (non-moving), it's working. It was a tough assignment rol_out.zip Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.