Log In  

Cart #14482 | 2015-09-22 | Code ▽ | Embed ▽ | No License


  • Still bad collisions :)
  • Secret code for unlimited lives
  • some other stuff

Cart #14330 | 2015-09-18 | Code ▽ | Embed ▽ | No License


  • Rewrote the code nearly from scratch, levels are map are
  • redone collisions based on the Wall Collision Example cartridge
  • Splash screen with Arkanoid intro sequence (still WIP)
  • Double and Triple hit bricks
  • bricks score
  • 10 levels done

Still a lot of work to do, the collisions seem a bit weird, the ball sometimes feels sticky when bouncing around.

0.03 - 14210

  • First attempt at Pico8 tracker with the Arkanoid music
  • Multiple levels are now playable in one game (if you are good enough)
  • Retry OK after Game Over
  • Better collision and ball direction
  • Ball speed varies according to where it bounces on the paddle
  • Boss sprite


  • multiple levels, although for the moment you can access them only by changing the start_level variable
  • Oooh! Shiny start page!
  • More sprites
  • Collision still buggy
  • Sticky paddle when starting / losing life

Todo list

  • Power ups
  • Lasers
  • Final Boss Battle
P#14133 2015-09-14 11:11 ( Edited 2015-09-22 22:02)

I like the graphics a lot :P A few issues though (only trying to be helpful, not trying to crap on your game):

  • There's some bug where the ball keeps bouncing up off of blocks even after they've been visually cleared... Maybe when it clears multiple blocks in one hit it doesn't properly register them all?
  • I think the paddle needs to move a bit quicker, IIRC in most of these types of games the paddle can go at least a littttle faster than the ball.
  • The ball should start below the blocks after a death, it's too generous to let it bounce around at the top, almost all the blocks got cleared after I lost my first life... But again, that first bug contributed significantly. Ideally it would start attached to the paddle for a few seconds and then bounce off, that's how the original worked right?
  • I don't think hitting the paddle at different spots changes trajectory, typically hitting it on the corner makes it change direction, etc...
  • The paddle can move a bit too far to the right and left, I think 2 pixels too far, its edges get cut off.
  • And, of course, some sort of winning mechanic :P

Very nice graphics though and a pleasant clearing blip sound :P

P#14137 2015-09-14 11:46 ( Edited 2015-09-14 15:46)


Thanks a lot for the comments! You're absolutely right about all of them, I was eager to release the cartridge early to see how all this work. I am vividly aware of all the problems with the game :)

I already made some enhancements (multi-levels, better collision with blocks, etc)

I didn't remember the sticky ball at the start, but that would be a really good thing to add of course (and the lasers!)

P#14144 2015-09-14 16:26 ( Edited 2015-09-14 20:26)


Not really the same, but it reminded me of http://www.jsbreakouts.org where people build the same breakout in different game frameworks to show how they work.

P#14150 2015-09-14 18:59 ( Edited 2015-09-14 22:59)

Keep it up!

You might want to look at this example for help with ball collision


P#14212 2015-09-15 17:33 ( Edited 2015-09-15 21:33)

Thanks matt, that's great! This is exactly the kind of example I was looking for.

P#14236 2015-09-16 02:51 ( Edited 2015-09-16 06:51)

Thanks! I've already squeezed some really good times out of this one. Very well done, overall. The only super minor bug I encountered was, in very few instances, the ball would get caught sort of between the bouncer(?) and the bottom and burn up a bunch of lives quickly. I saw somethings similar in the pong game on here.

Oh crap, almost forgot to give mad lovin' on the font work! looks very correct and very nice. Thanks again, you massively improved my Thursday night.

P#14300 2015-09-17 21:59 ( Edited 2015-09-18 01:59)

So much tunneling. I think your ball is moving a little too far inside of other objects each frame, you can fix this in a couple different ways:

A. edit collision code to move the ball to the outer edge of the object it's colliding with, as well as making it bounce

B. Make the ball half as fast and do it's movement calculation twice per frame, so it won't go through stuff so far.

PS I prefer 'A'

P#14301 2015-09-17 23:13 ( Edited 2015-09-18 03:17)

Yeah, great advice. I'm rewriting the whole game code from scratch to use the native map for levels. This will make collision checks a lot easier (i also stole a lot from the Wall Collision Example cartridge).

And as an added bonus, the 16 game levels will be easily customizable!

P#14305 2015-09-18 05:14 ( Edited 2015-09-18 09:15)

The new graphics look epic! I still saw a couple issues where the ball would bounce the wrong direction and I swear it went through my paddle once... But you're doing good stuff here. :L

P#14348 2015-09-18 23:22 ( Edited 2015-09-19 03:22)

hey cool! i had fun :D

when it starts if you press left hold and then fire, it goes back thru the paddle and you lose a life.
it will do this every time.

Maybe you could add an extra screen at the end of the animation that says, START NOW or similar, i waited at the last piece of dialogue for ages incase there was more. :D

P#14483 2015-09-22 07:56 ( Edited 2015-09-22 11:56)

Oh my gosh, this is lovely. I love that Arkanoid is a simple enough game in terms of graphical assets that you can get away with spending spritesheet on that mothership, makes the nostalgia trip all that more powerful.

Also funny to me how much square tiles feel weird. I guess the wide bricks of Breakout-type games really were a pervasive standard.

Another simple approach for collision, which is potentially too expensive if you're doing a lot every frame but for just a few specific objects isn't too bad: literally move the ball by one pixel and then check, and repeat, all along it's per-frame movement vector, and when you do get a collision, jump back to the previous position, alter movement vector accordingly (i.e. reverse vx or vy), do any collision-triggered events, and continue stepping forward again along the new vector looking for further collisions or for the exhaustion of the frame's worth of movement.

P#14484 2015-09-22 11:01 ( Edited 2015-09-22 15:01)

Nice work - keep it up!

P#14502 2015-09-22 18:02 ( Edited 2015-09-22 22:02)

[Please log in to post a comment]