Jump to content
IGNORED

ChipOff (Breakout-style example program)


Random Terrain

Recommended Posts

Latest DPC+ Version with Paddle and Ball Size Options, Smoother Paddle Slide, Items that Drop Down, and Guidance Meter

 

When the program starts, move the left joystick left or right to choose between 3 ball sizes. Press up for the regular paddle and down for the larger paddle. Press the fire button to start. Move the paddle using the left joystick (it does not work with paddle controllers).

 

Guidance Meter

The guidance meter is on the right side of the score. To guide the ball for a short amount of time, stop moving the paddle, hold down the fire button, then move the joystick left or right. Release the fire button after the ball has been nudged. It's usually best to do this when the ball is on the way up the screen. Every time you use the guidance meter, a little bit of juice is used up. You can earn more juice every time you collect 5 blue tokens.

 

 

Tokens

In this example program, there are two kinds of tokens that will fall when released from the blocks.

 

Red Token

The red token activates dive-bomb fast ball if the paddle touches it. It lasts until the ball hits the paddle 7 times or the ball is lost. Advanced players who can handle the dive-bomb fast ball might want to catch the red token on purpose.

Blue Token

The blue token is worth 200 points. Each time 5 blue tokens are collected, a bit of juice is added to the guidance meter (the score background color will flash when this happens). If the guidance meter is full, the extra juice will be stored in a backup tank off screen.

 

 

Remember, this is just an example program, not a complete game. There may be bugs. If you run into any problems, please post them in this thread. Thanks.

 

 

Here's the .bin file to use with an emulator or Harmony cart:

 

ex_chipoff_dpc_with_options_2014y_05m_27d_1904t.bin

 

 

Here's the bB code:

 

ex_chipoff_dpc_with_options_2014y_05m_27d_1904t.bas

 

 

 

Update

Philsan made a PAL60 version.

 

Here's the .bin file to use with an emulator or Harmony cart:

 

chipoff_dpc_philsan_pal60_2014y_05m_29d_1024t.bin

 

 

Here's the bB code:

 

chipoff_dpc_philsan_pal60_2014y_05m_29d_1024t.bas

 

 

Useful link: SpiceWare explains how you can set up the Stella emulator to play this ROM using PAL60.

 

 

 

 

Older Version with Paddle and Ball Size Options and Smoother Paddle Slide

When the program starts, move the joystick left or right to choose between 3 ball sizes. Press up for the regular paddle and down for the larger paddle. Press the fire button to start. The paddle will slide in the direction that you stopped more smoothly now (I figured it out while working on the DPC+ version and moved the code to this Superchip RAM version).

 

Here's the .bin file to use with an emulator or Harmony cart:

 

ex_chipoff_with_options_2014y_02m_04d_0530t.bin

 

 

Here's the bB code:

 

ex_chipoff_with_options_2014y_02m_04d_0530t.bas

 

 

 

 

Older Version with Paddle and Ball Size Options and Smoother Paddle Slide

When the program starts, move the joystick left or right to choose between 3 ball sizes. Press up for the regular paddle and down for the larger paddle. Press the fire button to start. The paddle will slide in the direction that you stopped more smoothly now (I figured it out while working on the DPC+ version and moved the code to this Superchip RAM version).

 

Here's the .bin file to use with an emulator or Harmony cart:

 

ex_chipoff_with_options_2014y_01m_09d_0525t.bin

 

 

Here's the bB code:

 

ex_chipoff_with_options_2014y_01m_09d_0525t.bas

 

 

 

 

Older Version with Paddle and Ball Size Options

When the program starts, move the joystick left or right to choose between 3 ball sizes. Press up for the regular paddle and down for the larger paddle. Press the fire button to start.

 

Here's the .bin file to use with an emulator or Harmony cart:

 

ex_chipoff_with_options_2013y_09m_19d_2112t.bin

 

 

Here's the bB code:

 

ex_chipoff_with_options_2013y_09m_19d_2112t.bas

 

 

 

Older Version with Fire Button Speed Up

Here's the .bin file to use with an emulator or Harmony cart:

ex_chipoff_2013y_04m_21d_2207t.bin


Here's the bB code:

ex_chipoff_2013y_04m_21d_2207t.bas




Original Version

 

Before I put it on the bB page, please check out this example program to see if I made any mistakes or if the scanline count goes over 262 at any time. I tested it as much as I could, but I probably missed something.

This is a very simple breakout-style program that uses the joystick instead of the paddles to chip off the old blocks. Press the fire button to activate the ball. Extra ball awarded every 1,000 points.

post-13-0-17078500-1366524564_thumb.png

post-13-0-16351200-1366524576_thumb.png

Here's the .bin file to use with an emulator or Harmony cart:

ex_chipoff_2013y_04m_21d_0133t.bin


Here's the bB code:

ex_chipoff_2013y_04m_21d_0133t.bas


Thanks.

 

 

-----------------------------------------------------------------------------------------

For anyone who cares, the page below has a Sine/Cosine/Tangent tool where you drag the corner until you get the angle you want and the numbers are automatically updated for you to copy and paste:

mathsisfun.com/sine-cosine-tangent.html

  • Like 3
Link to comment
Share on other sites

Dude, this is AWESOME! 100x better than Breakout!

 

-> I like how the player's paddle has a kickback when the ball hits it.

-> I like how the bricks fall (instead of break or disappear) when the ball hits them. I can't tell you how many time I tried to 'catch' them :dunce:

 

I do agree that the ball should be bigger, however.

 

Great Job!

Bob

 

EDIT: 2 bugs I found:

 

1. When the bottom part of the ball hits the top part of a brick (on the way up), and there's no brick above it, it doesn't disappear.

2. When I broke through the bricks and the ball hit the top grey boundary, it broke away like is was a brick. Was that intentional?

 

Although, that was using the 'modified' version with the bigger ball posted above... I have to try it again with the original to see if those things still happen.

Link to comment
Share on other sites

Cool! I took it upon myself to make the ball larger, though. Here's the result. I did notice something odd, though (see pic below).

 

I don't know what the pic is showing. This program was made specifically for the smaller ball. If you turn the ball into a

without changing any of the numbers that make it work correctly, strange things will happen.

 

 

 

 

Some ideas if you wanna go beyond example:

make the fire button move the paddle faster (like the GameBoy version of Super Breakout). Other than that, it's cool. Jittering ball was odd, but okay.

 

I wasn't sure if the paddle was moving too fast or too slow for people the way it is, so I wasn't sure if the paddle should speed up or slow down when you hold down the fire button.

 

 

 

This Game is great!

The Speed Rocks!!! :thumbsup: :thumbsup: :thumbsup: :thumbsup:

 

Thanks.

 

 

 

 

Dude, this is AWESOME! 100x better than Breakout!

 

-> I like how the player's paddle has a kickback when the ball hits it.

-> I like how the bricks fall (instead of break or disappear) when the ball hits them. I can't tell you how many time I tried to 'catch' them :dunce:

 

I do agree that the ball should be bigger, however.

 

Great Job!

Bob

 

EDIT: 2 bugs I found:

 

1. When the bottom part of the ball hits the top part of a brick (on the way up), and there's no brick above it, it doesn't disappear.

2. When I broke through the bricks and the ball hit the top grey boundary, it broke away like is was a brick. Was that intentional?

 

Although, that was using the 'modified' version with the bigger ball posted above... I have to try it again with the original to see if those things still happen.

 

Thanks. I kind of like the smaller ball. It looks like he didn't change any of the numbers that work with a ball of that size, so his version is all screwed up. He also managed to ruin the block destruction effect. It's no longer the same size as the blocks in his mangled version.

Link to comment
Share on other sites

I wasn't sure if the paddle was moving too fast or too slow for people the way it is, so I wasn't sure if the paddle should speed up or slow down when you hold down the fire button.

 

Slow down the paddle just a bit but have a fast paddle with the fire button. that way there is some precision, Similar to what the Activision Anthology Guys did on the GBA ports of the paddle games (But they used the shoulder buttons to do that)

Link to comment
Share on other sites

Slow down the paddle just a bit but have a fast paddle with the fire button. that way there is some precision, Similar to what the Activision Anthology Guys did on the GBA ports of the paddle games (But they used the shoulder buttons to do that)

 

Thanks. I'll post an updated version tonight or tomorrow with a fire button speed-up and we can see if I got the speed right or if it needs to be adjusted.

 

 

 

 

Excellent game RT! Very challenging with fantastic sound effects and melodious chip tunes :)

 

This is easy to play but the difficulty rating for clearing a board is definitely pong champion! This is a great addition for retro parties :)

 

Thanks. Since the rows are worth more points in this version (all 144 blocks are worth 7,200 points), I hoped it wouldn't take too long for people to get an extra ball every 1,000 points. I also hoped that getting an extra ball 7 times a screen would help people overcome the difficulty of using a joystick instead of a paddle. It might become easier after adding the fire button speed-up.

Link to comment
Share on other sites

That bug I found was from the original version. It is showing that a block got deleted above a block which IMO shouldn't be happening.

 

A ball going diagonally can destroy a block above another one. Here's a screenshot from Super Breakout:

 

post-13-0-17698500-1366600171_thumb.png

Link to comment
Share on other sites

Duane, when the game will be finished, if you will not do it, I will make a PAL60 version. ;)

 

Thanks, but it's just a crappy Breakout rip-off example program, so it's not going to be finished and turned into a real game. I just want to make sure the new speed of the paddle is OK with most people before I put it on the bB page.

Link to comment
Share on other sites

Yes, I know, but for you it's a crappy example program, for me it' a very good game and I would like to play it on my real PAL hardware with right colors!

 

BTW, it would be nice an example program where player sprite can move across various rooms (Secret Quest like).

Link to comment
Share on other sites

RT, is that the best way to do sound? You have a player routine for each effect and the sounds and routines use almost the entire bank 2.

Sound is really kicking my ass.

Your examples are good, and let me get music playing, but for sound effects it seems we need something better like one player routine.

 

It is hard to understand with timers, and data pointers, and triggers, etc. and I have been going over and over it for months.

 

If anyone could make an efficient bB example to show how to trigger a sound effect to play once, and the many different effects, it would really help!

 

Is there any example code for what I am describing?

 

Oh, and I don't think "...it's just a crappy Breakout rip-off" !!!! I really like it. If we could optimize it and discuss options and additions, and maybe add Paddle, I would LOVE it and probably want to buy it!

 

EDIT: Like a difficulty switch A makes the paddle LONGER (cause I suck at playing it with a joystick!) :)

Link to comment
Share on other sites

BTW, it would be nice an example program where player sprite can move across various rooms (Secret Quest like).

 

I'll see if there are any Secret Quest videos to watch at YouTube to refresh my memory, then I'll start working on an example program.

 

 

 

 

RT, is that the best way to do sound? You have a player routine for each effect and the sounds and routines use almost the entire bank 2. Sound is really kicking my ass. Your examples are good, and let me get music playing, but for sound effects it seems we need something better like one player routine.

 

It is hard to understand with timers, and data pointers, and triggers, etc. and I have been going over and over it for months.

 

I don't know. The code I use is adapted from the code that was made by other people in the Ballblazer thread:

 

http://atariage.com/...50#entry1615377

 

It works better than anything I could think up, so that's why I use it. If anyone can make more efficient code that is also easier to understand, I'll use it.

 

 

 

 

If anyone could make an efficient bB example to show how to trigger a sound effect to play once, and the many different effects, it would really help!

 

Is there any example code for what I am describing?

 

All I have right now are the three sound example programs on the bB page that use the same adapted code:

 

http://www.randomter...ample_one_sound

 

http://www.randomter...example_no_bank

 

http://www.randomter...l#sound_example

 

 

Maybe someone will read this and make more efficient code that is easier to understand.

 

 

 

 

Oh, and I don't think "...it's just a crappy Breakout rip-off" !!!! I really like it. If we could optimize it and discuss options and additions, and maybe add Paddle, I would LOVE it and probably want to buy it!

 

If you mean add the ability to use the actual paddle controllers, we'd lose a missile. At this time, I'm using a sprite and a missile to make the side borders. PF0 can't be used by itself to make the borders because the playfield colors bleed into it.

 

 

 

 

EDIT: Like a difficulty switch A makes the paddle LONGER (cause I suck at playing it with a joystick!) :)

 

That could be done, I'd just have to figure out the new numbers for a larger paddle. This is what I'm using for the paddle the way it is now:

 

  rem  ````````````````````````````````````````````````````````````````
  rem  `  Prepares to find out where the ball hit the paddle.
  rem  `
  temp5 = missile0x - player0x


  rem  ````````````````````````````````````````````````````````````````
  rem  `  Figures out if the ball should go left or right based on
  rem  `  which side of the paddle the ball hit.
  rem  `
  _Bit5_Ball_Direction_x{5} = 0 : if temp5 > 10 then _Bit5_Ball_Direction_x{5} = 1


  rem  ````````````````````````````````````````````````````````````````
  rem  `  Finds spot on the paddle where the ball hit.
  rem  `
  if temp5 < 5 || temp5 > 16 then _Angle_x = _20x : _Angle_y = _20y : goto __Skip_Paddle_Angle
  if temp5 < 7 || temp5 > 14 then _Angle_x = _30x : _Angle_y = _30y : goto __Skip_Paddle_Angle
  if temp5 < 9 || temp5 > 12 then _Angle_x = _45x : _Angle_y = _45y : goto __Skip_Paddle_Angle
  if temp5 < 13 then _Angle_x = _55x : _Angle_y = _55y

__Skip_Paddle_Angle

Link to comment
Share on other sites

If you mean add the ability to use the actual paddle controllers, we'd lose a missile. At this time, I'm using a sprite and a missile to make the side borders. PF0 can't be used by itself to make the borders because the playfield colors bleed into it.

 

 

You can rem out and get rid of missile 1, make player1 a 1 bit line %10000000, adjust its position to 144, and make 2 copies medium NUSIZ1 = $12.

The 2nd copy will wrap around to the left side of the screen.

Tradeoff is it is off by one pixel so the paddle overlaps and the blocks go under one pixel (on the right if you adjust to 144).

I tried it and you probably can't notice it unless it is pointed out.

post-29575-0-04357100-1366847387_thumb.png

Link to comment
Share on other sites

You can rem out and get rid of missile 1, make player1 a 1 bit line %10000000, adjust its position to 144, and make 2 copies medium NUSIZ1 = $12.

The 2nd copy will wrap around to the left side of the screen.

 

Heh. I did the same thing yesterday too, but unfortunately readpaddle doesn't work with pfcolors, which isn't an acceptable trade-off for this game.

Link to comment
Share on other sites

You know, you can use a single missile and make it 8 pixels wide. Make it as tall as the screen. You can position it so it appears on BOTH sides of the screen by making it wrap around a bit.

 

But it wouldn't be up against the blocks like in Breakout and Super Breakout. I was trying to make something that looked semi-similar to Super Breakout. Off the Wall doesn't seem to have any walls, but the background color tells you where the sides are. It's too bad that the playfield colors bleed into the PF0 border. If I could use PF0, I'd have an extra sprite and missile.

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