Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (535)
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 821 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 Wizard


Medals: 50
Projects: 4


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.

 

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

The first screenshot will be displayed as a thumbnail.

Riven (4 views)
2014-07-29 12:53:52

Dwinin (7 views)
2014-07-29 10:59:34

E.R. Fleming (21 views)
2014-07-29 03:07:13

E.R. Fleming (8 views)
2014-07-29 03:06:25

pw (39 views)
2014-07-24 01:59:36

Riven (39 views)
2014-07-23 21:16:32

Riven (26 views)
2014-07-23 21:07:15

Riven (28 views)
2014-07-23 20:56:16

ctomni231 (59 views)
2014-07-18 06:55:21

Zero Volt (51 views)
2014-07-17 23:47:54
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
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!