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.
They can be easily customized to meet the unique requirements of your project.
















(6 votes, average: 4.33 out of 5)









This post has 17 comments
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 ;)
Urkel
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.
szataniol
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.
David
Why not just reset the ball when the ball sleeps?
brindy
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.
Iain
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?
FrozenHaddock
Pretty awesome concept, coulda been pulled off better though.
And I’m sure it will be now the source is here :P
Andre Vidal
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 ;) ).
Box2D breakout prototype : Emanuele Feronato
[...] days ago I showed you Phyballs, now it’s time for Andre Vidal to show his [...]
sasa
hy, here is just a source code, do you have, somewhere, tutorial, about creating this game?
tnx
Hauke Reese
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! :)