Thread: questions about arrays basic collision detection

  1. #1
    Registered User
    Join Date
    Mar 2008
    Posts
    11

    questions about arrays basic collision detection

    So, I'm writing this side scrolling rpg (think link to the past or secret of mana), and I'm at a point where I need collision detection.

    I've got this idea to hand code the bounding boxes for solid objects into arrays, and use a for loop to check for collisions; something like this:

    Code:
    int object_max_x[A_BAJILLION]
    int object_max_y[A_BAJILLION]
    int object_min_x[A_BAJILLION]
    int object_min_y[A_BAJILLION]
    // a bajillion being a #define for the number of solid objects in a given map.
    
    int character_max_x
    int character_max_y
    int character_min_x
    int character_min_y
    
    
    int collision_detection()
    {
    for (a=0; a<A_BAJILLION; a++)
     {
      if (character_max_x>object_min_x[a]
        return 1;
      if (character_max_y>object_min_y[a]
        return 1;
      if (character_min_x<object_max_x[a]
        return 1;
      if (character_min_y<object_max_x[a]
        return 1;
     }
    return 0:
    }
    but I'm worried about the size of those arrays. Is it efficient to have a for loop run through every possible collision during every frame? I'm not quite sure, but I'd like to find out before writing that much potentially 'bad' code. Thanks for any insight you're willing to offer.

  2. #2
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    http://en.wikipedia.org/wiki/Quad_tree
    Assuming that your objects don't hyperspace to random positions each time they move, then things which were close by on the last iteration are the ones most likely to collide on this iteration.

    Use this to your advantage when trying to figure out what to compare.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  3. #3
    Registered User
    Join Date
    Mar 2008
    Posts
    11
    Thanks, man. That makes sense.



    lol, god of the C

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problems with AABB Collision Detection.
    By Shamino in forum Game Programming
    Replies: 10
    Last Post: 03-30-2009, 07:00 PM
  2. Collision Detection
    By Grantyt3 in forum C++ Programming
    Replies: 3
    Last Post: 09-30-2005, 03:21 PM
  3. Collision Detection
    By cboard_member in forum Game Programming
    Replies: 2
    Last Post: 08-06-2005, 12:14 PM
  4. Questions on basic Quick Sort
    By Weng in forum C++ Programming
    Replies: 4
    Last Post: 12-16-2003, 10:06 AM
  5. Collision with quads?
    By SyntaxBubble in forum Game Programming
    Replies: 6
    Last Post: 01-18-2002, 06:17 PM

Tags for this Thread