Thesis idea: offline collision detection

Started by
11 comments, last by LorenzoGatti 9 years, 7 months ago
Advertisement

but what is the point in prerecieving a collision contact for? To distribute computation event to happen out of less stressing moments? This would be possible only if objects that an object is examined against do not explicitly alter their tendence, what is rather rare in games (if games are well coded). Only benefit I see is to compute collision in relaxed state of aplication, still promising waste, but if waste comes free, ok then.. But that restricts the conditions of determination.

As hodgman said, you would only need to store the relative transform and velocity of the two objects, although you probably could get away without taking the velocity into account and only doing overlap detection. You could also reduce the search space of relative transforms by rounding nearby configurations into discrete bins. This would give a parameter you could adjust. More bins means more accuracy but at a cost of memory. Fewer bins would be less accurate but use less memory.

One way to reduce the size of the database would be to only store the values that result in a collision. If the configuration is not found in the database, then there is no collision.

I think this could be an interesting avenue to explore. You can experiment with how many bins are needed to make a stable simulation. How do you divide the bins (eg rectangluar vs polar coordinates) It may end up working really well for simulating a large number of objects, but it may end up not being any faster or being very unstable.
My current game project Platform RPG
1) Sirisian: I really liked the minkowski difference idea with dynamic rotation. Really liked it. Might end up using it.
2) Hodgman: I also really liked your notion of compressing the database in cases where the collision's result in similar initial configurations is the same. Definitely applicable, although the database I had in mind looks a bit different than the one you describe.
Representing the DB as a scalar function and compress it is very good as well. I've written it down and might use it if the penetration distance really is all I need from the DB. Whether lossy or lossless - should be tested. I suppose the amount of details you can afford to lose really depend on the meshes themselves and the precision you're after.
This train of though is extremely clever and useful.
3) Aressera: The paper you refer to is inspiring - thanks a lot. I'd be grateful for other related references.
4) JohnnyCode: a very good point. This is the way I see it - and I beg you to correct me if you see it differently. When two bodies which you couldn't predict would collide, end up colliding because of some human/AI decision, you still have to detect their collision and resolve it. Surely, that takes more time than looking it up in a DB?
5) HappyCoder: thanks for your input. That's pretty much the way I imagined the DB, though I'll have to contemplate hodgman's input in that regard.
I'd be grateful to hear: how would collisions be resolved today by a real time state-of-the-art application (for moderately complex bodies)? I need a benchmark.
How would they be solved by an offline application? (for the creation of the DB)
I'd be very happy to read further input - this has been infinitely useful.

Frankly, in this age, if you arn't aware of the whole historical bibliography on some subject, then ANY idea a human can possibly have, has already been: at least thought about, possibly tried and potentially published if is has any value.

I hope you're not thinking about a phd thesis ? because I don't see how any of this world's academy would allow someone to enter a 3/4 years cycle of research on an idea that sounds of little utility, propsed by a person who has basically next to no knowledge of the field.

Sorry to sound really harsh, I just want to calm down the game. At least go read everything you need to before, other ideas will come up when reading papers, only to realize later that it was proposed as a paper 2 years later, that you will also read, and have another idea, that either happens to not work, or be covered by some even later paper, and this cycle goes on until, if you are lucky and clever, you finally can get your idea that will actually bring progress to the world's status of the research. BUT, a phd being in 3/4 years the chance is great that some other team will publish a very close work before you finish... Yep.

Good luck anyway :-)

Your thesis idea should issue a possibility of a research and experiment. You do not even need to be successfull in your goal but you have to support not being successfull with pile of experiments that did not work. That is a valuable thesis,

(For example, though you do not find out hot to extract sodium chloride from acid hydorlyzate, you have established and documented many attempts that failed and analyzed them.)

Collision detection is an application in which good performance is extremely input-dependent (what objects are colliding? How do they move?) so that unconditional algorithmic improvements are out of the question, and there are a number of fairly good algorithms that can be combined and adapted to meet specific needs and assumptions, so that mastery lies in engineering a specific game: just about the opposite of what's suitable for CS research.

You might find out novel algorithms to deal with general continuous collision detection (e.g. helicoid generalizations), or parallel processing on a GPU, or other less obvious niches, but you would have to study a lot with a low likelihood of unearthing a good idea or a good research question.

Omae Wa Mou Shindeiru

This topic is closed to new replies.

Advertisement