Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
lizard42069
Beginner


Joined: 15 Dec 2014
Posts: 19

PostPosted: Wed Dec 31, 2014 6:29 am   

Auto Mapper chooses stupid routes, how to fix? lets find out.
 
Deckeon is a game that takes place in a sprawling city. I've got the existing world mapped out, all the streets and side streets, etc. And the slow walk does a good job (technically) of getting from point a to point b. However, there are a lot of rooms that are unfriendly to vehicles, its the difference between driving on a street and plowing over a heap of trash on the sidewalk. This shouldn't be a problem because like most American cities, Denver streets are mostly straight shot boxes. This is where the weird part comes in. The route taken by the slow/safe/fast walk seems to always inevitably take the first diagonal it possibly can, every time it can, instead of just taking a straight shot. This makes no sense, there's nothing in the rooms its avoiding in the straight shot but good road to drive on.

There's got to be a solution to this to make the walker favor the straightest possible path.

Anybody got some ideas?
Reply with quote
lizard42069
Beginner


Joined: 15 Dec 2014
Posts: 19

PostPosted: Wed Dec 31, 2014 8:22 am   
 
I have a theory as to why this is happening, and an idea on an approach to fix it.

My theory is that the speed walk is following the exits in the order in which they were linked. So if I stopped along a road and filled in a sidewalk and a parking lot before finishing the entire length of road it will jump to the sidewalk before continuing along road since I routed to the side walk before continuing the road. Additionally, when I mouse connected the rooms, I connected all the diagonals first, because the horizontal and verticals required the route button to be pushed for each one of them or else it would just grab the room and drag it.

That's what I think is happening, the walk seems to possibly be taking the exit by priority of order created. Theory.

I think, that a script might be able to reconfigure the map's priorities to horizontal and vertical before diagonal, but I have no idea where to start on the script yet. Should I come up with something I'll let you know, but could use some help here while I let the gears turn in my brain.
_________________
Step into the shadows of Deckeon
deckeon.mine.nu :: 2065
----------
3rd Edition Shadowrun MUD
----------
http://deckeon.net/
http://deckeon-mud.wikidot.com/
https://www.facebook.com/deckeonMUD
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Wed Dec 31, 2014 1:30 pm   
 
You REALLY don't want to do any scripting that involves external DB manipulation. There are NO safeguards to ensure all the little column relationships stay intact, and any changes you make via an external COM/SQL call will not show up until the map is reloaded--which only happens when the session is first loaded.

Instead, look at the room costs. You can change these values for individual rooms (don't think it's one of the multi-room actions, so you'll be limited to 1 room at a time) via the Room Properties window, or you can use the %roomcost() function in a script. The Do Not Enter functionality is related to this, as all that does is set room cost to a ridiculously high value; also, DNE will be ignored if there are no alternative ways to walk to that room.
_________________
EDIT: I didn't like my old signature
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net