Archive for August, 2007

ABreakoutC - Another break out clone

Sunday, August 26th, 2007

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.

It makes very little sense but Im not going to complain.

Monday, August 6th, 2007

Well today started out great.

Today was a ‘Bank holiday’ for NSW Banks and because I work in the Insurance industry I guess I got the day of as well. It makes very little sense but Im not going to complain.

All was going good until some time around 4:00pm I decided to run a program I hadnt worked on in a few weeks. The problem was it didnt work and not only did it not work it wouldnt go away and sat on 100% CPU.

So anyway I killed it. But the problem wasnt it, it was some other process it had spawned which was now running at 100% and owned by root.

So I logged on as root and not even thinking of the effects I kill -9ed it. At this point the kernel pretty much crashed. I had to hard reboot.

BIOS loaded. Grub tried to load. But failed. It failed with the Error: ‘error #17 cannot mount selected partition’. Great. Anyway, I pulled out my now trusty Live Distro SAM Linux and booted it. I went in to inspect my partitions all was fine. WTF? I inspected my grub.config. No issue there.

Then the magic happed. I shut down my PC (properly this time) and took out SAM and rebooted.

All was fine. It makes very little sense but Im not going to complain.