Monday, September 29, 2008

Rail Roads!

According to Prokofy, and some other random dude, I hear they are going to alter the railroad system that runs through the Atoll Continent. The idea is that the current system utilizes a physical third rail around which trains attach to guide them around the track. The track itself is fairly old and has been around since that continent has been in existence.

It has been some time since any kind of Linden train ran around the track. When the trains derailed or otherwise glitches out of existence, someone had to run out and rezz a new one or set the old one straight. After the Linden taking care of the track gave up or left, it became little more than a glorified roadway. Some people (most notably James Gill) took up the cause and ran trains to and fro along the track, although again, such projects live and die with their creators. When they left, the trains soon followed.

I don’t think many people these days have even heard of any kind of Second Life railway, let alone know that there are two branches as well as a ferry line between the two. The Atoll’s railway is generally known as the SLRR, and is the one I just described. To the south on the older Mainland continent is the Great Second Life Railway, or GLSR, which runs through many eight or nine sims east to west (mostly through Olive to Purple, if I recall correctly). GLSR has never had a train that I can ever remember, although once I did run a car along the track pretending to be a train. GLSR is perhaps overlooked due to the more torturous track than its larger cousin to the north, possessing a large number of tight turns and skirting ban lines along a far smaller track. A shame since many stations along that line are very well done and beautiful (such as Olive).

Considering that kind of history, the Lindens and their Department of Public Works (DPW) are seeking to replace the third rail that is part of that system. Why? I have no idea. I suppose it would save some prims by scripting trains without having to work around a solid third rail. But the current system as it stands is, in my opinion, fairly well done. In fact, all things considered, I think a more tightly scripted train and track would be more prone to crashing and slipping up.

Let’s look at it this way. The age old mantra is, “If it ain’t broke, don’t fix it.” Perfectly applicable here. Consider.

The main problem with trains along GLSR and SLRR is laziness. If a certain person manages a train along the tracks, the trains themselves tend to move rather well. The operator, who can always delegate authority on this, just has to look over the occasional slip-up. I’m sure it might actually be more time consuming, but again, you could probably hire someone to look over it. I bet you could get one of the Moles (what a horrid nickname, I don’t care what the in-joke is) to look after it.

Now, I get the impression that the new system would involve a train and a track scripted to communicate to each other in order to keep the train on the track without slipping off. The obvious pro to this approach is conservation of prims as you eliminate the third rail. Those prims could possibly add up over sims, especially if they are trying to beautify the track area itself.

Second, you would be able to eliminate physical collisions which could cause lag. The sim strains just a tad when it has to process the interaction between three objects: the wheels, the rail, and their ground. This new method would just be wheel to ground contact, I suppose, and so simplify that interaction, reducing lag and making it more likely to cross sims (a needed requirement for a cross continent train).

Now, the downsides. The new trains and rails would probably require many more scripts to adjust to what was taken for granted with the third guiding rail. You’d have to have some kind of correction factor once the engine starts off the track, and some dampening factor so the train doesn’t over- or under-correct. I imagine the scripting would be much heavier and prone to accidents. What if the sim lags for a bit and the train runs off the rails? Under the third rail, it would at least just slip along the track, but with these new styles of trains it would probably fly off like a silver bullet. And all those scripts acting in unison would likely cause significant lag in themselves.

The greater potential for derailing means greater attention has to be paid to the trains themselves. On bad days, they might not even make it out of the shed, just fly out and across the sim. Not only that, but you also have to consider the lay of the land. Trains operating around edges would if they derailed be very unlikely to correct themselves. Trains may hit parcels where scripting is not allowed, meaning that you’d have to get out and push, or such parcels that the train skirted would lead to the entire engine acting as one giant road car flying across the continent in whichever direction it lost communication. Very messy.

Plus, there is the fact that it seems such a train would have to be built from scratch. While there are numerous and current models for running along the third rail, the new system would have to be researched and tested, wasting a lot of time and money when a perfectly fine model is already known. Not always does a new design, or a newer design that is more ‘high tech’, necessarily mean the product itself is better. A good example would probably be the recently rejected XM8 assault rifle. Why bother adopting such a rifle when the Army already has the M16 and M4 which are still perfectly serviceable? Or New Coke. How about plastic bags, which end up littering just as much as paper while being not nearly as biodegradable?

Now let us look at the pros and cons of the current system. The first con we described above, that it introduces more thinking from the server on the more complex interactions between the more teeth like rails and the multiple wheels and body of the train. It’s a very real phenomenon which occurs when you get a bunch of physical prims (or regular prims) to bounce around each other. Knocking down a structure in SL by unlinking and turning all the prims physical causes noticeable lag, and when you are in a go-kart bouncing off the walls your viewer slows down. The same thing occurs here.

And to be sure, the current implementation requires relatively straight tracks. If the tracks follow too deep a curve (such as the Horseshoe Curve) it is certain to derail or get stuck. This really applies to the GLSR, as the SLRR was built with this in mind and so follows more shallow curves. It would be something to consider when making any new railroads in the continents yet to be built.

The idea is noble and grand: Build a better train. The Lindens need, however, to take heed of the fact that sometimes it’s better to leave the existing infrastructure rather than build a new one from the ground up.

No comments: