Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (408)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  best way to do collision detection( a lot of it)?  (Read 684 times)
0 Members and 1 Guest are viewing this topic.
Offline wilburthemexican

Senior Newbie





« Posted 2007-12-17 05:26:45 »

Hey, I'm trying to do collision dection
I was wondering if people had any suggestions on doing a lot of collision detection. Lets say you have hundreds of sprite objects in a game, dynamically being created and destroyed.  Whats the best way to do all of the collision detection. I'ld rather not have to loop through all the objects and check each objects bounding box against all the other bounding boxes.  This seems like it might be to much processing and to slow especially with rectangle.intersects(rectangle)
Offline Mr_Light

Senior Member




shiny.


« Reply #1 - Posted 2007-12-17 06:52:40 »

you can only check against objects that are close. (sux if objects move fast I gues)
you can only check against objects that are on a (possible) collision course. (sux if objects change direction often I gues)
you 'discretalise' the space and check if the new space is occupied(sux if the space is 'large' I gues)
etc. (there are I guess tons of other ways and solutions to shortcomings of the ways mentioned for example the discretization needs not to be homogeneous over the whole space)

there is nothing wrong I guess to stick it in a big loop first and profile it, check if solutions arise / figuring out how big your problem is and move from there. If you can easily swap out code to try out different approaches it should be a sign of well organized code.

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline appel

JGO Ninja


Medals: 35
Projects: 5


I always win!


« Reply #2 - Posted 2007-12-17 08:51:31 »

You can organize your objects in a quad-tree, that is spatially organize your objects. Fairly simple to implement and a lot faster than O(n2).

If you game is a tile based game and objects are assigned to tiles then it's a lot simpler to check if your objects collides with any other object in the same tile (if you allow multiple objects on a single tile) or surrounding tiles (which can be defined as many tiles outward as you like).

I'm sorry I don't got any links for you, but I'm sure Google is your friend Smiley

Check out the 4K competition @ www.java4k.com
Check out GAMADU (my own site) @ http://gamadu.com/
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars and Titan!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (123 views)
2013-05-17 21:29:12

alaslipknot (131 views)
2013-05-16 21:24:48

gouessej (161 views)
2013-05-16 00:53:38

gouessej (153 views)
2013-05-16 00:17:58

theagentd (166 views)
2013-05-15 15:01:13

theagentd (151 views)
2013-05-15 15:00:54

StreetDoggy (195 views)
2013-05-14 15:56:26

kutucuk (219 views)
2013-05-12 17:10:36

kutucuk (218 views)
2013-05-12 15:36:09

UnluckyDevil (221 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.08 seconds with 20 queries.