SUGGESTION: Walk direction angle setting?

Started by scotch, Thu 10/06/2004 08:54:26

Previous topic - Next topic

scotch

I remember I asked for seperate x and y walk speeds once, to make things look more realistic on rooms that aren't viewed directly from above, that's been implemented now and it's great. So to compliment it I thought I'd suggest something related that bugs me a bit (it's in Broken Sword, and George's walking would look much worse without it).
Lots of you will get this straight away but here are some diagrams for those that don't.
On overhead views the angles for walk directions would be like AGS does it now. (Just using 4 directions to keep things easy to see).Ã,  That is 90 degrees for each direction deciding on which direction loop it uses.Ã,  Which works in this situation.


But most games use perspective views in which this just looks wrong.Ã,  The direction the character is moving in should be relative to the floor, not to how he is moving across screen coords, obviously he's not really in a 3d world so he's just moving through screen coords but it needent look that way.Ã,  The angles that each direction should use would be scaled, depending on the angle the floor is at to the camera (probably can't be precise in hand drawn art but you can get it looking about right), something like this would work for this room:

it means that if he was walking at 20 degrees (anticlockwise from right) in screen coordinates he would have the up view, which would look best for the room, because he would seem to be moving in that direction across the floor.

For people who don't want to use it it could just be set to the normal angles by default so they don't have to mess with them and it adds no extra hassle.. but it could be set on a room by room basis, perhaps in script, for people like me who get bothered by things like this.

It is a basic feature of many adventure games though.Ã,  I even think it's like this in early nineties LEC/Sierra games.Ã,  But I'm not certain.

Gilbert

Yeah I think that's quite interesting, but will even be better if it can be set separately for each room (ie if this is to be implemented, don't make it a general setting), as it's quite possible different rooms use different perspective.

scotch

#2
Yeah, that would be nice, I'm not sure how CJ would like to do it if at all, but I think the simplest way would be to set a factor to multiply y coordinates by for each room (set at 1 by default). For the perspective room I drew, on the floor each pixel in the y direction is equal to about 3 pixels of x direction so the multiplier would be set at 0.33 (or divider set at 3, whatever).Ã,  So the angles would be adjusted to reflect this, perhaps character y speed would be affected by this in the same way, that would by the cleanest way imo, because they should change together.

Obviously it'd be best to keep it everything the same as it is now for people who don't want to use it so I'm not sure of the best set up for everyone.
Perhaps a "Character walk speed and animation directions affected by room perspective scaling value" check box on the character, or something more succinct.
It'd replace setting x and y speed seperately, just setting an a normal speed and that would be scaled for the y speed for any given room.

spook1

A great suggestion!
I work around this problem for a while by creating small thin paths and have the character move around in a room along these lines. This way I can prevent the character from doing strange sideways sliding walks.

I noticed that this has been requested about a half year ago as well. So maybe it is difficult to implement. If it is not though, i would really like this feature!!

cheers, Martijn

TerranRich

I strongly second this suggestion. It would be very useful and is very close to being needed. Iit would have to be on a per-room basis, because some rooms may not be the same. Something lke a room varable that stores the side angles (30 degrees in scotch's picture) and top/bottom angles (150 -- not 130 -- in scotch's drawing).
Status: Trying to come up with some ideas...

Pumaman

Seems like a good idea - you're right that the current charater angles don't really work properly with room perspectives. I'll add it to my list.

Cerulean

For four views, only one variable, giving the proportion of vertical to horizontal, is needed. For eight views, it would also be worth including a variable that somehow represents the angular width of the diagonal ranges. For instance, setting it to maximum would show the diagonal walking views most of the time and only show the rectilinear views when the character walks along an exactly vertical or horizontal line.

Snarky

Wouldn't it be better to set this for each walkable area, rather than for each room? The perspective might be significantly different.

SMF spam blocked by CleanTalk