PDA

View Full Version : Sahra's Bus Company



sahra
01-24-2005, 11:53 AM
I've written a comprehensive, any-to-any, movement script called SBC (StormFront version Beta 2.4, Wizard version Beta 1.2), that now covers (in StormFront) a network of 160+ destinations in the Elven Nations (the whole of Ta'Illistim, Sylvarraend and Ta'Vaalor, plus most outlying hunting areas).

The system is built around a simple routing engine and is therefore scaleable and easy/fast to upgrade (with the help of code-generators, of course). Context-senstive menus, one-click access to online maps, a command-line API, a callback system for script integration and other goodies are supported. By the end of this week, I expect to have most of Elanthia on the network, at a very fine level of detail corresponding closely to Tsoran's maps.

The script, its docs and web adjuncts are all at http://www.geocities.com/sbatfagrstrom

Enjoy!

P.S. Where was UltraTech when I was writing this bear in raw StormFront? (Slaps own head.) What a cool thing!

Myitkyina
01-24-2005, 08:36 PM
It seems to work really well, Sahra! Congratulations on its completion!

~Myitkyina

sahra
01-24-2005, 11:44 PM
Finished? Cackle!!!!!

I just spent all night coding Whistler's Pass and Zul Logoth, and resorting nodes to boost speed. Beta 2.5 will be tomorrow, if the coffee cuts in and the kids don't have a snow-day.

Gods ... I even coded Zhindel's Post. Has anyone EVER gone to the gemshop or the furrier in Zhindel's Post? Meanwhile, where are all the dwarves? I've spent a whole evening in their mountain stronghold (buying mushrooms and chocolate, etc.), and I have yet to see a single (non-NPC) dwarf! This town is vacant!

Nakiro
01-25-2005, 12:35 AM
Do you have Old Ta'Faendryl done?

Nieninque
01-25-2005, 05:08 AM
Have to say, from what I have seen of this, it's great for getting to places, but not for getting back. The EN script picks up from whatever room you are in for most of the area and takes you to the places that you want to go (in the main). You dont have to get to a "bus stop".

Plus, your script is for stormfront and stormfront is le suq

Parkbandit
01-25-2005, 08:25 AM
Actually.. Stormfront is a better program, you are just so stuck in Wizard mode you can't see it.

I was too.. then my computer crashed and I had to buy a whole new computer. It's amazing how easy it is to change when you don't have to rely on anything old.

sahra
01-25-2005, 10:51 AM
Neininque: You seem not to understand how conventional movement scripts work, and clearly haven't used EN.cmd in a while. The old EN.cmd script (Aeia's blessings be upon it) encodes about 30 locations in Ta'Illistim (dais, stores, bank, etc.), plus about a dozen hunting areas. The in-town locations are connected any-to-any. The hunting areas -- all reached only from outside Ta'Illistim's main gate -- are "one-way only": you can script out, but you have to ring back.

SBC (which is also available in a reduced version for the Wizard - http://www.geocities.com/sbatfagrstrom ) works overtly along much the same lines, but is a great deal more powerful in several respects. The Wizard version of SBC encodes 70+ locations in Ta'Illistim, and provides any-to-any connectivity among all of them (because the Wizard's MATCHWAIT limits can be evaded with careful programming). The StormFront version (as of today) supports 190+ locations in Ta'Illistim, Sylvarraend, Ta'Vaalor, and out to Zul Logoth, and by the end of the week will connect the whole of Elanthia at approximately the same level of detail as Tsoran's definitive maps.

All SBC versions provide "any to any" service -- from any encoded location (including hunting areas), you can move to any other encoded location with a single command, following a close-to-optimal geographic route. Like en.Cmd locations, SBC locations are selected because they're where people want and need to go: to gathering-places, shops, guildhalls, hunting areas, etc. The main differences between SBC and en.Cmd pertain to scale (SBC encodes many times more locations than en.Cmd) and architecture.

en.Cmd (with its tiny library of 30 locations) stores a complete script (and menu) from each location to every other. This makes for a very simple program structure. The downside is that adding a new location becomes geometrically more difficult as the total number of locations grows (adding a new location to a network of N locations means writing N * 2 new scripts). And making little corrections (like when the Gods decide to change the pawnshop from a 'structure' to a 'building,' thus breaking the 60+ scripts leading to and from the pawnshop) becomes well-nigh impossible.

To avoid these problems, SBC connects each endpoint to a local node and uses a sparse core network of internodal highways and a routing algorithm to piece together long-distance travel. Adding a new location (or node) to SBC requires just two new scripts (at minimum, though some nodes are linked to more places), linking it to an already-encoded node. The upshot is that SBC is easy to maintain, scale and fix. And it works really well. You should try it!

I, too, thought StormFront sucked, until I lived with it for a week or so because of the SBC project. It really is a tiny bit more user-friendly and 2% less lobotomized than the Wizard, and a whole lot prettier.

sahra
01-25-2005, 11:07 AM
It suddenly occurred to me: perhaps the confusion lies with my term: 'bus-stops.'

All I mean by 'bus-stop' is 'a location SBC recognizes as part of its network.' I don't mean to imply that you need to go out into the street and hunt around until you find such a location. SBC bus-stops include the counter of every store, the teller window at every bank, the entryway of every public building, and every gathering-place and named location. And because they're chosen systematically, finding them is easy. The program even helps you: if you fire up SBC when you're off the network, it'll tell you that it doesn't recognize your location (i.e., there's no bus-stop here) and scan as you move around until it _does_ see something it recognizes.

In any of the major towns, all you ever need to do to get back on-net is to step into a store or public building. If you're familiar with Tsoran's maps (accessible at one click from within SBC), just look at your local map, find a building, and go inside it.

Hunting areas, because they're large, pose a special problem. I simply picked a location at the edge of each hunting area and encoded it -- if you want to take the bus back, you need to find your way back to that location. Of course, it's easy enough to write small scripts to take you into a hunting area to your _favorite_ location and back to the bus-stop, if you like. Most people, of course, will just set a ring, fog, gate, or use another method to get home, so it hardly matters in a practical sense. Also, I find that most people already have a favorite script (perhaps home-made) that takes them to their current hunting area, and probably won't depend on SBC for this sort of travel.

sahra
01-25-2005, 11:23 AM
No, I'm sorry, but I haven't coded Old Ta'Faendryl yet. Sahra is only 55, so the idea of going out there and roboting her around with my head buried in code-generators is a little scary. And I'd hoped to finish off more generally-accessible areas (like downtown Solhaven) before tackling the cap-level hunting zones.

Would _you_ like to encode it? It's very easy. Old TF is basically a dead town, right? (With perhaps some working stores, etc.) So the procedure is simple. All you'd need to do is pick a central location (preferably a safe place where people can rest) and record scripts to and from that location to other locations you'd like to reach. You'd also need to cut-and-paste a single, unique match-phrase at each location, enabling SBC to recognize it (in most cases, either the room-title -- especially if it says something like 'Old Ta'Faendryl Tavern,' or better, the first sentence of the room description -- usually more unique than the room name -- is fine.)

Email the scripts and matchphrases to me (preferably labeled in terms of Tsoran's maps) and I'll slap them into the network -- likewise, a pair of scripts to reach your OTF node (and get back) from an SBC node in Ta'Illistim or further afield. I can recommend a node once I refresh my memory of the OTF maps.

Most of this, I'm pretty sure, is just a matter of running the script recorder. However, it may be that there are particular puzzles and annoyances on the road to OTF that are designed to break conventional scripts, or be insurmountable by normal scripting techniques. If so, and if you're willing to show them to me, maybe we can figure out workarounds. My AIM is SahraBatF

Nieninque
01-26-2005, 09:09 AM
Originally posted by sahra
Neininque: You seem not to understand how conventional movement scripts work, and clearly haven't used EN.cmd in a while. The old EN.cmd script (Aeia's blessings be upon it) encodes about 30 locations in Ta'Illistim (dais, stores, bank, etc.), plus about a dozen hunting areas. The in-town locations are connected any-to-any. The hunting areas -- all reached only from outside Ta'Illistim's main gate -- are "one-way only": you can script out, but you have to ring back.


You're wrong.
The en.cmd script that I have had all the places I ever needed to visit in Illistim or Sylvarraend and all the hunting grounds I ever hunted in Illistim save the blighted forest and the temple (presumably the tower wasnt on there either).

Unlike your bus script, where you have to be at a particular place, the en.cmd script would pick up pretty much any room in the whole area and take you to where you wanted to be.

I used to hunt the black moors for instance. I could go from the entrance to the lost home, straight to the moors, hunt till I needed to come back, go from whatever room on the moor I was in direct to the furrier, gemshop, pawnshop and bank and then to the lost home again.

It does more than travel two ways, it picks up from any room in the area it covers and takes you to any other place.

You are correct in that some of the place names are different since the change to GS4, but I found it an easy task to change them, using the FIND command in the edit menu of notepad.

I am aware of how movement scripts work, thanks for the concern. I think you are also confusing the town.cmd script with the en.cmd (also called the universal movement script available from http://www.freewebs.com/gemstoneivsounds/) accompanying other scripts just like it for Ta'Vaalor, Rivers Rest, Icemule and Solhaven. It also uses the system you have used in your script, rather than the "any to any" version

It is also true that not all areas are covered, however I have yet to see anything that equals it...which is not to say that your script is not an oustanding script in its own right, just not as good IMO. The difference is that with the UMS, you dont even need to step into that store building or gathering place, you just start it from where you are.

sahra
01-26-2005, 10:19 AM
Well, I stand corrected. And thanks for the clarification.

Where can I find a copy of the script you describe? The one I have (called en.Cmd in the download) may originally been written by Syren Dipity. But it's definitely of the 'town script' variety.

Iriscience
01-26-2005, 10:26 AM
Originally posted by Nakiro
Do you have Old Ta'Faendryl done?

www.alexsoftware.com/samcam/scripts/travel/otf.Cmd

Nieninque
01-26-2005, 10:31 AM
Originally posted by sahra
Well, I stand corrected. And thanks for the clarification.

Where can I find a copy of the script you describe? The one I have (called en.Cmd in the download) may originally been written by Syren Dipity. But it's definitely of the 'town script' variety.

Yeah, I think I have that script, though I cant remember what it is called and dont think I have used it.

The UMS is at http://www.freewebs.com/gemstoneivsounds/ as I posted previously ;)

sahra
01-26-2005, 11:12 AM
Well, that is amazing! Even the interior rooms of buildings are encoded. And it's all classic scripting: match the room, and you fall through a cascade until you reach a real node-spot, and then through an any-to-any script library until you reach your target.

Do you know whether the author used a tool to scan small areas and building interiors, or is this all hand-coded?

Fallen
01-26-2005, 01:33 PM
I would just like to say Thank You for providing this script. I am not yet currently using it myself, though it seems to be quite involved. Please keep up the good work, it is appreciated.