ABreakoutC - Another break out clone

Today I have finished the first release of a Breakout clone I have been working on for PC (Linux / Windows / PC).

If you dont know what Breakout is; it was one of the first arcade games ever made. It involves hitting a ball at blocks using a paddle which you can move left and right. Breaking all the blocks progresses you to the next level. Like latter versions of breakout, ABreakoutC includes power-ups which add special effects to the game.

ABreakoutC was my first game written in c++ using SDL which is a cross platform game/media library.

It and its source are released under the GPL3 and the graphics were made in entirely in GIMP.

The game was developed in Linux with the help of the Netbeans (best IDE in the world) c++ plugin.

Game Objects

abreakoutcitems.png

Controls

Pause/Resume - P
Start the ball moving - Space bar
Move paddle - Left key, right key

Screen shots

abreakoutc1.png abreakoutc2.png abreakoutc3.png

Downloads

Windows
x86Linux-32
Source

System requirments

1Ghz or better Celeron. 128 Meg or ram.
Note - You cant go higher than 60fps

If you want to design your own levels (let me know and I will talk you through it), provide music to the game or even add a power-up your welcome to. Getting a few people working on this would be great. Also I would like someone to do a Visual c++ build as mine is only MinGW.

———Update!———

If you have previous downloaded any version of the game please get version 002 (from the above locations) there was a bug which will cause what seems like a random crash on Windows which is now fixed.

For those that are interested it was a memory violation caused by…
if(ds[i]->blockDestroySprite1->status == Sprite::FINISHED){
delete ds[i]->blockDestroySprite1;
ds.erase(ds.begin() + i);
}

gs->apply_surface(ds[i]->location_X,ds[i]->location_Y,
ds[i]->blockDestroySprite1->spritesheet,ds[i]->blockDestroySprite1->getFrame());

As you can see I was deleting the sprite then trying to draw the sprite on certain instances. I have no idea why this error didnt occur on Linux (where I did all of my testing). I have now fixed all versions to delete the sprite after it is drawn.

5 Responses to “ABreakoutC - Another break out clone”

  1. Orb!ter Says:

    Ahahaha… Great Job… reminds me of the days of DXBall fired up on my toasty 486 during the late 90’s. Seems efficient enough… despite the requirements for such a simplistic game :S

  2. Jason Says:

    Thanks Orbitor.

    Those requirements were an estimate. At work I get about 6% CPU usage on a 1.8Ghz P4, at home I get around 20% on a Athlon xp 1800+ and on a 3rd machine which is a Celeron 1.3Ghz I get about 90%.

    So I dunno it seems the better the CPU the significantly greater the performance is.

    PS: When I get home tonight I will be uploading new versions (I now have a proper win32 build which wont rely on the MinGW library. Which makes the game exe much smaller). Also there is a major bug fix that affects strangely only Windows versions.

  3. phrantic snr Says:

    I’ll give this a go when I get home from work!

  4. Paul Says:

    Haha, So far no luck on getting past level for me, keep missing the ball, it goes super fast when it hits the edge of the paddle.

  5. Paul Says:

    level one*

Leave a Reply