Multiple walkable areas

Started by Hellomoto, Mon 08/11/2004 15:57:53

Previous topic - Next topic

Hellomoto

I know that its possible to turn walkable areas on and off etc. But is it possible, to have multiple characters, each moving at the same time, in its own walkable area. Completely independently of other characters walkable areas.

I'm trying to think of a suitable analagy. But the best I can think of, is, if a game takes an over head view and you character can only walk over roads. However, you also control a plane, which can fly over anywhere that the other character can, but also the rst of the background. However, each character can in fact move at the same time. If they did not, then I could turn on and off certain areas as is appropriate, but I need to have the characters moving at the same time. So, I need for all of the walkable areas on at all times (unless theres some way around this). Also, all of the characters need to remain characters, I can't turn them into objects and control them like that, because there is a lot of character interaction etc.

Thanks in advance.

stuh505

I'd like to know about this also.  I have a situation where I have a dog on a leash, and I want it to try to follow the character around, but it has a limited walkable area around the pole it is tied to...whereas the character can walk anywhere.

Scummbuddy

for that plane, you can use the move command that allows you to disregaurd walkable areas (MoveCharacterDirect, I believe) ... but i understand what you are getting at. I suppose
AssignWalkableAreaOnly(char, walkarea #); ?
- Oh great, I'm stuck in colonial times, tentacles are taking over the world, and now the toilets backing up.
- No, I mean it's really STUCK. Like adventure-game stuck.
-Hoagie from DOTT

Radiant

It would be useful if there was a river, and the player character could wade through, but a fish would be restricted to the river only (e.g. AGI has a 'restrict-to-water' command)

Ashen

#4
Could you use regions to mark the areas (e.g. water, paths) and if (GetRegionAt (character[CHAR].x, character[CHAR].y) != x) StopMoving (CHAR); or something similar, in rep_ex to limit them to those areas?
So, using the analogy in the first post, the entire screen would be a walkable area, and the path would be marked out in Region 1. Then you'd have
Code: ags

if (GetRegionAt (character[EGO].x, character[EGO].y) != 1) StopMoving (EGO);
  //EGO has walked off the path, so stops moving.

The plane wouldn't need limiting, as it's free to fly around the whole screen.

I'm not sure how well this would work with path finding though - although it might work in the situation stuh505 has.
I know what you're thinking ... Don't think that.

Pumaman

What about some sort of  DisableWalkableAreaForCharacter(area, charid) style functin?

Rui 'Trovatore' Pires

That would probably do the trick, is it feasible to implement (as well as it's counterpart, EnableWalkableAreaForCharacter(area, charid))?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Radiant

Yes, that would be very good.

stuh505

Pumaman, that would be fabulous...and add a lot of capability.

It would be even more powerful if you allowed the walkable areas to not erase each other...so for example you could make a venn diagram of walkable areas, and deleting one would not leave an empty hole in the other.

Used with the disable walkable area command, this could really allow for a lot of new and cool things.

Hellomoto

#9
For crossing walkable stuh505, you could just use an extra walkable area at the block where they cross, then just turn off the ones around it. It would take an extra walkable area, but its more than likely that you'd have enough all the same.

Also, that function would be very useful. Especially if you could use an overloaded version, to allow multiple characters to be dissallowed at the same time. But thats not important.

stuh505

Good point, Hellomoto.  I still think layered walkable areas would be nice, though...even if they aren't 100% necessary.

Pumaman

Layered walkable areas would significantly change the way the walkalbe area systme works, so I don't think it's really viable to do. The workaround is as Hellomoto suggests.

Anyway, I've added the original suggestion to the tracker.

SMF spam blocked by CleanTalk