Phyballs: when Arkanoid meets Box2D – Full source code

Box2D is getting more and more popular among developers, and I am proud to have the permission to publish the first source code for a complete Box2D game.

The author is Esteban Gallardo, author of Free Creation Games.

The game is called Phyballs

And this is the source code.

I have to say, this is the most complete source code I have ever seen. Inside the package you will find a pdf file with the description of how is organized the library of the game, a flow diagram showing you the class structure, and even the php files to insert and list records for highscores management. And more stuff, such as the level editor.

Amazing job.

  • limpeh

    Hi,
    Nice article. However, I have to remind you that it’s ‘Free Creation Games’ and not ‘Free Action Games’. I hope you will correct it :)

    Thanks.

  • Emanuele Feronato

    Done :)

  • gludion

    The game has a (big) problem: sometimes the ball is blocked on top of a brick roof, and the player can’t do anything.
    Adding bouncing capability to bricks may help.

    Didn’t look at the source code, but nice sharing anyway ;)

  • Yes, “gludion”, you are right, that’s why I made the button “Shake”, because it was possible that the ball could rest forever in the top any complex structure. Pressing the “Shake” button you will apply a random impulse to the ball that will avoid that “bug”.

    Emanuele, thanks a lot for the post, if it’s possible I will make another tutorial of another simple game, let’s see if I recover well from a cold and work a little.

  • dim

    the game has “shake” button on the right side for this problem :)

  • Negotitits

    That is the dumbest game I have seen. Why would you make a game at such a low frame rate? That is just plain stupid, and completely ruins what could have been a good game. Why is it even necessary to mention it. That should just be common sense to the developer. Try the game, notice instantly that it looks like crap, and then increase the frame rate.

  • Should blocks collide with each other? If I hit one on the top of others it stays while imo it should fall. ;) Try with B2Body.maskBits

  • gludion

    oops, didn’t notice the shake button was actually part of the game. Thanks.

  • Why not just reset the ball when the ball sleeps?

  • There’s a bug where the ball will bounce off something invisible immediately above the batton. Needs some decent graphics, but otherwise not a bad game.

  • Hi Emanuele – have you looked at Glaze – http://code.google.com/p/glaze/ – I’ve been using this on my latest project because the API seems simpler than Box2D, and it runs very fast with lots of objects. Any thoughts?

  • Pretty awesome concept, coulda been pulled off better though.

    And I’m sure it will be now the source is here :P

  • Congratulations on the good work, I had done something similar a couple of months ago, nice to see it taken up a notch ( and what a notch ;) ).

  • Pingback: Box2D breakout prototype : Emanuele Feronato()

  • sasa

    hy, here is just a source code, do you have, somewhere, tutorial, about creating this game?
    tnx

  • Hi, I tried to compile phyballs from the source,
    but found that there are some classes missing,
    for example:
    cGameBackground
    cGameWall
    Focusmanager
    is there some sourcecode missing in the zip file ?

    best
    reesy

  • Dummie

    Hi,

    Pretty new to this kind of code. How do I run this and in what program? Can you run this in Flash Builder? Does anyone have a sort walkthrough to make this game work?

    Thanks! :)

  • Pingback: Flash Game Development Inter-web mash up: Jan 14, 2009 « 8bitrocket.com()