Jump to content

Photo

ChipOff (Breakout-style example program)


55 replies to this topic

#1 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Apr 21, 2013 12:17 AM

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:

 

Attached File  ex_chipoff_dpc_with_options_2014y_05m_27d_1904t.bin   32KB   240 downloads

 

 

Here's the bB code:

 

Attached File  ex_chipoff_dpc_with_options_2014y_05m_27d_1904t.bas   101.35KB   189 downloads

 

 

 

Update

Philsan made a PAL60 version.

 

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

 

Attached File  chipoff_dpc_philsan_pal60_2014y_05m_29d_1024t.bin   32KB   161 downloads

 

 

Here's the bB code:

 

Attached File  chipoff_dpc_philsan_pal60_2014y_05m_29d_1024t.bas   101.35KB   137 downloads

 

 

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:

 

Attached File  ex_chipoff_with_options_2014y_02m_04d_0530t.bin   8KB   189 downloads

 

 

Here's the bB code:

 

Attached File  ex_chipoff_with_options_2014y_02m_04d_0530t.bas   67.01KB   166 downloads

 

 

 

 

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:

 

Attached File  ex_chipoff_with_options_2014y_01m_09d_0525t.bin   8KB   195 downloads

 

 

Here's the bB code:

 

Attached File  ex_chipoff_with_options_2014y_01m_09d_0525t.bas   67.54KB   133 downloads

 

 

 

 

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:

 

Attached File  ex_chipoff_with_options_2013y_09m_19d_2112t.bin   8KB   203 downloads

 

 

Here's the bB code:

 

Attached File  ex_chipoff_with_options_2013y_09m_19d_2112t.bas   72.07KB   182 downloads

 

 

 

Older Version with Fire Button Speed Up

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

Attached File  ex_chipoff_2013y_04m_21d_2207t.bin   8KB   234 downloads


Here's the bB code:

Attached File  ex_chipoff_2013y_04m_21d_2207t.bas   64.9KB   229 downloads




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.

chipoff_screen.png

chipoff_points.png

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

Attached File  ex_chipoff_2013y_04m_21d_0133t.bin   8KB   434 downloads


Here's the bB code:

Attached File  ex_chipoff_2013y_04m_21d_0133t.bas   64.81KB   215 downloads


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



#2 save2600 OFFLINE  

save2600

    Quadrunner

  • 13,733 posts
  • Location:Wisconsin

Posted Sun Apr 21, 2013 12:21 AM

Well, here's a chip off the old block alright! :lol:

#3 atari2600land OFFLINE  

atari2600land

    In the name of lvoe.

  • 10,448 posts
  • Shwam.
  • Location:Salem, Oregon

Posted Sun Apr 21, 2013 2:11 AM

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

Attached Thumbnails

  • chipoff1.png

Attached Files



#4 Csonicgo OFFLINE  

Csonicgo

    River Patroller

  • 2,776 posts
  • Think Responsibly, Do responsively
  • Location:Birmingham

Posted Sun Apr 21, 2013 3:00 AM

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.

Edited by Csonicgo, Sun Apr 21, 2013 3:00 AM.


#5 Der Luchs OFFLINE  

Der Luchs

    Dragonstomper

  • 778 posts
  • Location:Germany

Posted Sun Apr 21, 2013 4:47 AM

This Game is great!
The Speed Rocks!!! :thumbsup: :thumbsup: :thumbsup: :thumbsup:

#6 PacManPlus OFFLINE  

PacManPlus

    River Patroller

  • 4,603 posts
  • Atari 7800 & NES Developer
  • Location:Florida

Posted Sun Apr 21, 2013 11:24 AM

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.

#7 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Apr 21, 2013 12:41 PM

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 big fat yeast roll 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.

#8 Csonicgo OFFLINE  

Csonicgo

    River Patroller

  • 2,776 posts
  • Think Responsibly, Do responsively
  • Location:Birmingham

Posted Sun Apr 21, 2013 1:30 PM

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)

#9 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,598 posts

Posted Sun Apr 21, 2013 1:53 PM

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 :)

#10 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Apr 21, 2013 2:06 PM

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.

#11 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Apr 21, 2013 8:20 PM

Latest version is in the first post. Holding down the fire button while you move the paddle left or right makes the paddle move faster. Please let me know if the speed needs to be adjusted.


Thanks.

#12 atari2600land OFFLINE  

atari2600land

    In the name of lvoe.

  • 10,448 posts
  • Shwam.
  • Location:Salem, Oregon

Posted Sun Apr 21, 2013 8:53 PM

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.

#13 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Apr 21, 2013 9:09 PM

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:

Super Breakout.png

#14 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Mon Apr 22, 2013 11:31 PM

So does the paddle speed seem right now in the latest version? Any other changes before I put it on the bB page?

#15 Philsan OFFLINE  

Philsan

    River Patroller

  • 3,294 posts
  • New Orleans Saints Super Bowl XLIV Champions
  • Location:Switzerland

Posted Tue Apr 23, 2013 1:15 PM

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

#16 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Tue Apr 23, 2013 1:29 PM

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.

#17 Philsan OFFLINE  

Philsan

    River Patroller

  • 3,294 posts
  • New Orleans Saints Super Bowl XLIV Champions
  • Location:Switzerland

Posted Tue Apr 23, 2013 2:04 PM

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

#18 iesposta OFFLINE  

iesposta

    River Patroller

  • 3,233 posts
  • Retro-gaming w/my VCS
  • Location:Pennsylvania

Posted Tue Apr 23, 2013 2:08 PM

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!) :)

#19 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Tue Apr 23, 2013 3:05 PM

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



#20 Philsan OFFLINE  

Philsan

    River Patroller

  • 3,294 posts
  • New Orleans Saints Super Bowl XLIV Champions
  • Location:Switzerland

Posted Wed Apr 24, 2013 12:52 PM

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.

In fact I would like an example that shows how to move a player across different rooms.
Here's a way to do it: http://www.atariarch...re/chapter4.php

#21 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Wed Apr 24, 2013 4:51 PM

In fact I would like an example that shows how to move a player across different rooms.

Here's a way to do it: http://www.atariarch...re/chapter4.php


Thanks for the link.

#22 iesposta OFFLINE  

iesposta

    River Patroller

  • 3,233 posts
  • Retro-gaming w/my VCS
  • Location:Pennsylvania

Posted Wed Apr 24, 2013 5:50 PM

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.
ex_chipoff_20130424.bas.bin.png

#23 RevEng ONLINE  

RevEng

    River Patroller

  • 4,452 posts
  • Bitnik
  • Location:Canada

Posted Wed Apr 24, 2013 6:34 PM

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.

#24 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 8,806 posts

Posted Thu Apr 25, 2013 11:57 AM

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.

#25 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 27,855 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Thu Apr 25, 2013 4:48 PM

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.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users