Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Member Since 09 Apr 2013
Offline Last Active Aug 22 2013 08:26 PM

Posts I've Made

In Topic: Is it a good idea to use box2d to control sprite movement in a 2D game?

16 July 2013 - 01:26 AM

I suggest you keep to using a 2d physics library.  You should be able to shape the world and the object definitions so they do what you want.  It's going to make your life much easier.


The statements in the above post are short-sighted., especially about collisions.  What happens when 2 objects collide, but when you handles the collision responses, one of the objects collide with a 3rd object that's already been checked for collisions?  And, you'll have to properly handle all types of angles and surfaces for these collisions.  Physics engines handles these for you, and are VERY efficient at doing it.


Thank you BeerNutts. The diffrerent contact vary from different position. I define 4 states to decide which force to apply. So I can control it now.

In Topic: Is it a good idea to use box2d to control sprite movement in a 2D game?

12 July 2013 - 02:45 AM


This is a really hard question, because in the end it will depend on the kind of game you're trying to create. In most cases however, using a physics engine like Box2D might be overkill.

Especially for simple 2D platformers that don't include any physics puzzles, I'd go with doing the math on your own. It's not that hard to be honest.

To be able to stand on terrain and slopes, you just have to implement some very basic movement:

  • Movement: When hitting left/right, just move your character to the left or right, don't worry about collision. Either move your character absolute distances or adjust his velocity.
  • Gravity: Check to see whether there's something solid at the character's feet (depending on your implementation you might skip this check as you'll check it next anyway). If there isn't, move or accelerate him downwards.
  • Collisions: After moving your character, verify he's not entering anything solid:
    • Move the character to the right while his left part is in something solid.
    • Move the character to the left while his right part is in something solid.
    • Move the character upwards while his bottom part is in something solid.
    • Move the character downwards while his top part is in something solid.
    • If two opposite sides of the character are stuck in something solid (left and right or top and bottom), your character is squeezed. In games like Super Mario Bros this results in your character being killed.

Back to your initial question with the slope: Using the above logic, your character won't follow the slope at first. It will essentially move "into" the slope. But thanks to the logic under Collisions he'll be adjusted upwards, essentially following the slope up (or down).


Marios give useful idea about the this situation. 

In Topic: GUI System

14 June 2013 - 02:52 AM

I would say this question is a bit too broad to be answered. What exactly is causing you difficulties? Doing something like that is usually just a more or less annoying chore, depending on what exactly you have to work with, not something really difficult.


@BitMaster Thank you! I didn't get the question clear, let me made it more specific.

Now I'm using cocos2d-x(http://www.cocos2d-x.org) to develop game for iOS&Android. There is no UI editor we can use, each time the art guys give the design, we have to set thoes sprite and items position in the code, hard-coded. That's a problem confused me and I never used UI editor before.

In Topic: The Algorithm Design of Candy Crush

03 June 2013 - 09:28 PM

I am working on a match 3 game, but it also matches irregular pieces connected to the original match. For that I am using the flood fill already mentioned on the thread.

Thanks CJ. laugh.png

In Topic: Mr. Crab - Platform runner with a twist! :) (iOS)

01 June 2013 - 01:36 AM

Great Game!