BreakOut (Arkanoid)

Questions about programming languages and debugging
Post Reply
User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

BreakOut (Arkanoid)

Post by Gogeta70 »

This is just a personal project of mine, if you're interested, read on and comment ^_^


I started experimenting with the win32 GDI+ api. I started by following a tutorial - to make a ball bounce around a window. Once i did that, i decided to make a game. The one that i had the most fun with as a kid was Breakout, aka arkanoid. So, i decided to make a clone of the game ^_^

So far development has gone at a fairly fast pace. Project review below:

Image

Done:

-Ball & brick collision
-Basic ball bouncing "physics"
-Paddle movement/existence (ball bounces off of paddle)
-Lives (3 lives and then you lose)

Partially done:

-Level implementation
-Scoring
-Graphics
-Add paddle graphic
-Better ball graphic?

To do:

-Rewards/penalties
-Rewards: multiple balls, extended paddle, (laser shooter?), etc
-Penalties: smaller ball, shortened paddle, -1 life, etc

-Background music, sound effects
-I have some awesome techno music for the bgm, just gotta add it
-If anyone has some basic sound effects (ball bouncing, brick breaking, etc) let me know ^_^

-Reccomendations?



What'cha guys think?
¯\_(ツ)_/¯ It works on my machine...

User avatar
Lundis
Distorter of Reality
Distorter of Reality
Posts: 543
Joined: 22 Aug 2008, 16:00
15
Location: Deadlock of Awesome
Contact:

Post by Lundis »

Looks good! Hurray for more noob game devs! :D

I've used this site to find sounds a few times: http://www.freesound.org/

User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

Post by Gogeta70 »

Lol, thanks.

Nice link by the way.
¯\_(ツ)_/¯ It works on my machine...

User avatar
l0ngb1t
Fame ! Where are the chicks?!
Fame ! Where are the chicks?!
Posts: 598
Joined: 15 Apr 2009, 16:00
15
Contact:

Post by l0ngb1t »

wow really cool
can you link the tut's ?
and can you post the source codes ? if it's okay for you
There is an UNEQUAL amount of good and bad in most things, the trick is to work out the ratio and act accordingly. "The Jester"

User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

Post by Gogeta70 »

Well, the tutorial that i followed is here, but it only shows you how to load a bitmap, make it transparent, and make it bounce around the screen.

As for my source code, i'm not releasing it at this time, since it's still in development.

Anyway, glad you like it ^_^
¯\_(ツ)_/¯ It works on my machine...

User avatar
maboroshi
Dr. Mab
Dr. Mab
Posts: 1624
Joined: 28 Aug 2005, 16:00
18

Nice one man

Post by maboroshi »

Nice one man good to see you so involved in C++. Now build me the next OS :-P

j/k

Cool

User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

Post by Gogeta70 »

Lol, mab... i'm nowhere near close to building an OS. Nor do i really want to... XD

Anyway, here's an update:

Image

Image


Completed:

-Made the ball bouncing physics better. ("physics")
-Changed background image
-Added sound effects & background music
-Made the game size from 800x600 to 1024x768

-Began adding the game bonuses (multiple balls, +1 life, etc)

Partially done:

-Level implementation
-Scoring
-Graphics (still need to add a paddle graphic...)

To do:

-Finish the bonuses/penalties
-Fullscreen mode

Comments and recommendations are welcome!
¯\_(ツ)_/¯ It works on my machine...

User avatar
Lundis
Distorter of Reality
Distorter of Reality
Posts: 543
Joined: 22 Aug 2008, 16:00
15
Location: Deadlock of Awesome
Contact:

Post by Lundis »

The score/level text wouldn't mind a graphical improvement ^^

The first round of left/right/etc assignments in http://img64.imageshack.us/f/v003a2.jpg seems redundant lol

As for level implementation, I recommend making it data-driven, it looks like you're using a grid to represent the level, just saving/loading the contents of that to a file or whatever might work. This covers a lot of things about data-driven design: http://gameylittlehacker.blogspot.com/2 ... cture.html

User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

Post by Gogeta70 »

Yeah, the text needs updated... thanks for the reminder ^_^

As for the left, right, top, bottom declarations... i just did it for improved readability in this case. The collision code (detects if the ball has hit a brick) is pretty lengthy, so using names like left, right, etc. helps me know which part of the code does what ^_^

By the way, thanks for the link, i'll have to look into data-driven design...
¯\_(ツ)_/¯ It works on my machine...

User avatar
Lundis
Distorter of Reality
Distorter of Reality
Posts: 543
Joined: 22 Aug 2008, 16:00
15
Location: Deadlock of Awesome
Contact:

Post by Lundis »

yeah I understand that, but you are doing the same assignment before the loop and inside the loop, it should be outside only right?

User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

Post by Gogeta70 »

Lol oops... no it should only be done inside the loop... XD

Thanks for pointing that out.
¯\_(ツ)_/¯ It works on my machine...

User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

Post by Gogeta70 »

What happened? I ran into a bug... and i couldn't fix it. For now, i'm working on a different project.
¯\_(ツ)_/¯ It works on my machine...

User avatar
Lundis
Distorter of Reality
Distorter of Reality
Posts: 543
Joined: 22 Aug 2008, 16:00
15
Location: Deadlock of Awesome
Contact:

Post by Lundis »

gogeta70 wrote:What happened? I ran into a bug... and i couldn't fix it. For now, i'm working on a different project.
Haha, that tends to happen to me too :lol:

User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

Post by Gogeta70 »

Yeah ^_^

For now i'm working on a media player. It's coming along nicely ^_^
¯\_(ツ)_/¯ It works on my machine...

Post Reply