google-code-export / badquest

Automatically exported from code.google.com/p/badquest
0 stars 0 forks source link

Object-object collision #32

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Each object should have a collide method that dictates how it handles collision 
with another actor. Write basic bounce behavior for perfectly elastic 
collisions between two circular objects, generalize to hit boxes at a later 
date.

Original issue reported on code.google.com by mikeg3...@gmail.com on 5 Nov 2012 at 7:45

GoogleCodeExporter commented 9 years ago

Original comment by mikeg3...@gmail.com on 15 Nov 2012 at 2:02

GoogleCodeExporter commented 9 years ago
Starting on this. Where actor-actor collision takes place is a very important 
detail- it cannot happen inside of an actor's update method, unlike static 
collisions with the environment. The room must resolve all inter-object 
collisions first, though how to do this is a tricky subject.

Original comment by mikeg3...@gmail.com on 18 Nov 2012 at 7:54

GoogleCodeExporter commented 9 years ago

Original comment by mikeg3...@gmail.com on 17 Dec 2012 at 7:20

GoogleCodeExporter commented 9 years ago
Object-object collision has been implemented as a basic reactive system. If an 
object ever finds itself overlapping another object, it will cease all movement 
towards that object and "bounce" itself in the opposite direction. This looks a 
bit jerky (and comical) in practice, and should be refined to something more 
elegant. 

*The jerkiness may actually be attributed to the current pathfinding 
implementation, caused by two actors wanting to check the same node off of 
their waypoint list!

Original comment by mikeg3...@gmail.com on 29 Jan 2013 at 5:11

GoogleCodeExporter commented 9 years ago
Converted collision to a predictive, turn-based system. One object will move at 
a time, the remaining actors becoming static geometry during its turn. This 
looks smooth as eggs, but has one complication that can resolved later on. 
Collisions with actors and the world should happen concurrently, not in two 
stages. In the current form, colliding with a wall or corner may move an object 
into another object. Additionally, I have yet to add a touch method for 
DrawableObject, but this can also be done at a later date. 

I'm marking this issue as resolved!

Original comment by mikeg3...@gmail.com on 30 Jan 2013 at 5:09