Alternative to physical response?

Game Editor comments and discussion.

Alternative to physical response?

Postby Mardi-Gras » Mon Feb 13, 2006 5:56 pm

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.
User avatar
Mardi-Gras
 
Posts: 57
Joined: Sun Jan 22, 2006 10:10 pm
Location: Glenrothes, Scotland
Score: 0 Give a positive score

Postby Game A Gogo » Mon Feb 13, 2006 6:13 pm

is the tile that the wizard touch's is completly flat?
Programming games is an art,
    Respect it.
User avatar
Game A Gogo
 
Posts: 3466
Joined: Wed Jun 29, 2005 10:49 pm
Location: French Canada *laughs*
Score: 181 Give a positive score

Postby Mardi-Gras » Mon Feb 13, 2006 6:29 pm

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?
User avatar
Mardi-Gras
 
Posts: 57
Joined: Sun Jan 22, 2006 10:10 pm
Location: Glenrothes, Scotland
Score: 0 Give a positive score

Postby Troodon » Mon Feb 13, 2006 7:08 pm

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.
I can't die, I already tried
~on the forums since GE 1.3.3~
User avatar
Troodon
 
Posts: 1539
Joined: Thu Jan 12, 2006 3:29 pm
Location: HELL
Score: 56 Give a positive score

Postby Mardi-Gras » Mon Feb 13, 2006 7:20 pm

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.
User avatar
Mardi-Gras
 
Posts: 57
Joined: Sun Jan 22, 2006 10:10 pm
Location: Glenrothes, Scotland
Score: 0 Give a positive score

Postby Game A Gogo » Mon Feb 13, 2006 10:25 pm

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.
Programming games is an art,
    Respect it.
User avatar
Game A Gogo
 
Posts: 3466
Joined: Wed Jun 29, 2005 10:49 pm
Location: French Canada *laughs*
Score: 181 Give a positive score

Postby makslane » Tue Feb 14, 2006 12:45 am

Set the Final velocity multiplier to zero for event and collide actors
Game Editor is an open source game creator software that's wants to pay it's developers to keep evolving.
If you like Game Editor, make a review!
makslane
Site Admin
 
Posts: 3947
Joined: Sat Apr 05, 2003 6:47 pm
Score: 182 Give a positive score

Postby Fuzzy » Tue Feb 14, 2006 12:53 am

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...
Mortal Enemy of IF....THEN(and Inspector Gadget)

Still ThreeFingerPete to tekdino
User avatar
Fuzzy
 
Posts: 1068
Joined: Thu Mar 03, 2005 9:32 am
Location: Plymostic Programmer
Score: 95 Give a positive score

Postby Mardi-Gras » Tue Feb 14, 2006 5:54 pm

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.
User avatar
Mardi-Gras
 
Posts: 57
Joined: Sun Jan 22, 2006 10:10 pm
Location: Glenrothes, Scotland
Score: 0 Give a positive score


Return to GE - General

Who is online

Users browsing this forum: No registered users and 1 guest