Page 1 of 2

"Launcher"

Posted: Thu Apr 14, 2011 6:06 am
by BlackBulletIV
It's about time I posted about this. Some who are on the IRC channel, a following of my twitter account, or subscribed to my blog, with already know about this. But anyway, Launcher (working title), is a physics based game I'm working on. The gameplay revolves around you being some circular object, which can stick to certain objects, and launch itself off them again. It's currently fully mouse controlled, click to launch and move the mouse to aim. All I've got for now is five gameplay videos, which I'll put here in chronological order.

It's still very early in development (currently a bit over a week), and right now has about 2400 lines (included the level editor). Anyway, tell me what your thoughts and suggestions. Enjoy!






Re: "Launcher"

Posted: Thu Apr 14, 2011 6:54 am
by ivan
Love the game mechanic you have there. Looks like this could turn into a pretty fun game especially if you throw in some moving platforms in there.
I have to say though that this sort of game is just begging for a Box2D implementation. Box2D could reduce your code considerably and will probably help with the collision bugs that you're trying to solve.
So ya, keep at it, I think it's a pretty cool game mechanic that can be expanded and built upon quite a bit.

Re: "Launcher"

Posted: Thu Apr 14, 2011 7:33 am
by BlackBulletIV
Thanks mate. :) Yeah, I've having a wow of a time playing it even now. And yes, moving platforms, gravity wells, platforms you can plough through and many other things are planned.

Well actually what I'm using is Box2D. I can't imagine doing it manually.

My current implementation of the sticking to walls is by adjusting the position of the ball to line up with the collision point (this isn't working perfectly for some reason), using a distance joint and putting the ball to sleep every frame. It's not working perfectly, and I do get a random crash here and there. Is there a better way to do it?

Thanks again.

Re: "Launcher"

Posted: Thu Apr 14, 2011 12:53 pm
by ivan
BlackBulletIV wrote:My current implementation of the sticking to walls is by adjusting the position of the ball to line up with the collision point (this isn't working perfectly for some reason), using a distance joint and putting the ball to sleep every frame. It's not working perfectly, and I do get a random crash here and there. Is there a better way to do it?
Hmm, haven't tried doing something like this in Box2D so I can't give you an alternative solution from the top of my head. Although I'd like to mention a few things:
-The 'bullet' property should probably be set to 'true' for the moving ball. This should prevent it from 'tunnelling' into platforms
-You can try attaching the ball to platforms using a revolute joint placed either at the point of contact or at the center of the ball.
-You must create your joints AFTER you have manually aligned the ball to the platform to which it wil be attached.
-You probably want to keep the restitution value to 0 on all shapes
-Why put the ball to sleep at all?

Re: "Launcher"

Posted: Thu Apr 14, 2011 4:34 pm
by EmmanuelOga
Nice! those exploding walls are very fun to watch with the cool retro sounds.

Re: "Launcher"

Posted: Thu Apr 14, 2011 7:56 pm
by Tesselode
Looks like you've got a very nice puzzle element going on here.

Re: "Launcher"

Posted: Thu Apr 14, 2011 9:11 pm
by BlackBulletIV
ivan wrote:
BlackBulletIV wrote:My current implementation of the sticking to walls is by adjusting the position of the ball to line up with the collision point (this isn't working perfectly for some reason), using a distance joint and putting the ball to sleep every frame. It's not working perfectly, and I do get a random crash here and there. Is there a better way to do it?
Hmm, haven't tried doing something like this in Box2D so I can't give you an alternative solution from the top of my head. Although I'd like to mention a few things:
-The 'bullet' property should probably be set to 'true' for the moving ball. This should prevent it from 'tunnelling' into platforms
-You can try attaching the ball to platforms using a revolute joint placed either at the point of contact or at the center of the ball.
-You must create your joints AFTER you have manually aligned the ball to the platform to which it wil be attached.
-You probably want to keep the restitution value to 0 on all shapes
-Why put the ball to sleep at all?
Thanks for your suggestions. Nothing's really helped yet, but I totally forgot about bullet; that certainly fits with the ball. And I also didn't think about creating joints after manual placement; good idea.

I'm putting the ball to sleep so it doesn't get woken up and moved by any collisions. I'm wondering whether the joints are really doing anything (I don't think so), because sleeping is the key I'm finding.

I still can't work out why, even with bullet and all, the calculations still don't work great. Sometimes the ball can be way off the mark, usually when landing at high speed, or from certain angles. I'm not sure why, but oh well.
EmmanuelOga wrote:Nice! those exploding walls are very fun to watch with the cool retro sounds.
Thanks :). I'm not too fond of retro, but retro sound effects are easy to make, that's for sure!
Tesselode wrote:Looks like you've got a very nice puzzle element going on here.
Thanks. Yeah, I reckon the two sides of the game will be puzzle and fast paced action (like you saw in the fifth video).

Re: "Launcher"

Posted: Fri Apr 15, 2011 5:24 am
by BlackBulletIV
New gameplay video! This time I've improved the camera, by adding shakes on explosion, and limiting where it can go. I've also added some quickly made music too.

Re: "Launcher"

Posted: Fri Apr 15, 2011 5:58 am
by kikito
Hi there!

I'm liking what I'm seeing :nyu:

Re: "Launcher"

Posted: Fri Apr 15, 2011 6:08 am
by BlackBulletIV
Thanks mate. :)