Page 1 of 1

Alternative to physical response?

PostPosted: Mon Feb 13, 2006 5:56 pm
by Mardi-Gras
Perhaps I'm being needlessly stupid, but is there an applicable action other than "physical response" that will stop an actor dead when it collides with another? At the moment, regardless of how I set the variables in the physical response, my colliding actor vibrates like a pingpong ball - which'd be fine if he was a pingpong ball, but he's a small wizard - and I'd like very much for him to just stop whenever he collides with the scenery rather than dance around it like he'd had too much caffeine.

I've checked the forums and documentation for a solution, but because I'm not sure what the alternative might be, I'm not entirely sure what it is I'd be looking for.

Any suggestions would be hugely appreciated.

PostPosted: Mon Feb 13, 2006 6:13 pm
by Game A Gogo
is the tile that the wizard touch's is completly flat?

PostPosted: Mon Feb 13, 2006 6:29 pm
by Mardi-Gras
The collision object is a map - trees and bricks and gravestones (the usual wizardy terrain) - and the wizard object negotiates the map by moving along the transparent areas of the map object , colliding with any terrain. The terrain isn't "flat" as such, no, because the trees have branches, the gravestones have rounded edges etc.

Image

(It's a remake of the classic Spectrum game "Feud".

Do you think I should square off the terrain elements?

PostPosted: Mon Feb 13, 2006 7:08 pm
by Troodon
I don't know how to explain it in english but I will try:
*I think you should remove the physical response in the objects
*then change trees z-depth to max (at least creater than the wizard)
*then make a wired region in the down of the tree
*put the physical response in the region (not in the tree)

Now your wizard collides only when he hits the down place of the tree. The wizard is not so big to collide with the branches.

I hope this helped.

PostPosted: Mon Feb 13, 2006 7:20 pm
by Mardi-Gras
Thanks for the reply, Tekdino - I think I understand exactly what you mean. That is a solution I had not considered.

I am curious, though, if there is a way of setting physical response so that the colliding actor comes to a dead halt, as I actually want the wizard to be able to collide with the branches of a tree - I just dont necessarily want the wizard to bounce about between the branches. I'd like him to collide with something, and come to a total halt.

Thanks again for the response. I hadn't thought of using wired regions for collision, I am sure I'll find that useful.

PostPosted: Mon Feb 13, 2006 10:25 pm
by Game A Gogo
i dont tink its posible, Because when the colision hapen, the actor is constantly trying to get further. maybe if makslane could this in the next feature, : will colling, all velocyti is set to 0, that could help i guess.

PostPosted: Tue Feb 14, 2006 12:45 am
by makslane
Set the Final velocity multiplier to zero for event and collide actors

PostPosted: Tue Feb 14, 2006 12:53 am
by Fuzzy
The velocity seems to be converted into a floating point number internally. this can cause rounding errors when you try to stop with physical response.

Do a collision detection, but then go to script, and manually set velocity to zero.

Phyiscal response does some extra stuff too, so that should eke out some speed, even though scripts are not as fast.

I love those crazy graphics by the way...

PostPosted: Tue Feb 14, 2006 5:54 pm
by Mardi-Gras
Hadn't even considered manually setting the velocity to 0 - knew I was missing something! :oops: I believe that will achieve exactly the effect I am after. Many thanks for the responses, I'm very much obliged.

And I'm afraid I cant take the credit for the crazy graphics, ThreeFingerPete - the game I'm making is a remake of the Spectrum game "Feud" by Bulldog games - just as a technical exercise. The original game was made nearly twenty years ago by John Pickford, with graphics by Ste Pickford. While my tribute version will have slightly different gameplay, I'm trying to match the graphical feel of the original as closely as possible, because it has a certain nostalgic hold over me. :D

Thanks again for the help.