.Can someone recommend an existing fully featured driver session that works in TRS2012 with SP1 and all hot fixes applied that I could look at and perhaps reverse engineer that covers what I have mentioned above in the way of features?
May I recommend my "Goldsboro Local" session for the Wilsons Mills And Mount Olive route? It's a pretty complex session, with HTML popups, sound files, AI trains, triggers setting events into motion, etc.
About the only thing it doesn't have is a points/reward system. I did a points system for my entry into the session building competition from a couple of years ago. My goal in the Goldsboro Local was to imitate a real world switching job. A points system didn't fit into that scheme.
I don't think a step-by-step guide is possible as each session will have different goals and thus need different rules, etc.
I learned some by dissecting other sessions. Other things I learned by having a need to do something in the session, looking the rules available and seeing if I could figure out how to make the rules work to do what I needed done.
In a complex session, I think the first thing to do is to storyboard the session before you start writing it. Planning everything out first, then writing the session while adding one layer of complexity at a time is the way I do it. Copious notes will keep all the details in order and keep you organized.
Here's how I did that on the Goldsboro Local session.
First, I make a simple track diagram so I can figure out where all the industries are. The WM&MO route is basically a straight piece of mainline with Goldsboro Yard in the middle. I drew a long line on a piece of paper. I moved down the route in Surveyor, drawing the various sidings and spurs and labeling each industry.
I then decide what industries are going to be visited and in what order. I write down how many cars of each type (flatcar, gondola, hopper, etc) will be set out or picked up at each industry. I want to use the correct kind of cars for each industry, of course.
I start writing the session by placing cars at the appropriate industries. I make up the initial consist in the yard and add the locos. Getting the cars in the consist in correct order can take some thinking. I then run the session, making setouts and pickups according to my notes. This is basic part of the session - delivering and picking up cars so I get this correct first.
I add the "-debug" line to trainzoptions - that enables you to speed up time by pressing the SHIFT key. It's a real time saver! This session was 6+ hours at normal speed, about 2 hours with the SHIFT key so reducing the amount of times I had to test run the route was important.
There will be some issues that crop up. Sometimes I'll need to adjust the amount of cars that are setout or picked up because the siding is shorter or longer than I originally figured. Or I need to adjust the order of the cars in the initial consist. I make notes of what needs changing, make the changes and re-run the session until I get it right.
It it very important to get this part of the session right, I call it the "task list". If you try to add or subtract a setout or pickup later on after you've added all the bells and whistles, you'll cost yourself lots of time and frustration making the changes.
Once I've locked in the task list, I write the HTML text. All triggers for the HTML are labeled with a logical labeling system. In my case, HTML01, HTML02, etc. This makes later troubleshooting easier.
Once the HTML text is put into the session, it's more testing, finding issues, fixing those issues, etc. Having the HTML show up at the right time was important. A message needs to show in time for the player to act on the information presented. The introduction HTML was written and added at this time.
Once huge key in writing your HTML instructions is trying to try to put yourself in the position of the player that has never seen the session or route before. It's easy for you to run the session since you are creating it. I struggled numerous times trying to write clear instructions. I feel I did OK with this aspect as I only got a few people that misunderstood the instructions.
Graphics were needed in the HTML so they were created and added.
Sound files came next. Same process - text was written, files made, inserted into session, test and re-test.
Next was AI trains. First figure out where to put them then place triggers to set them into motion. I have them travel to an Un-portal so they disappear from the route. Test and re-test.
Last thing added was the "eye candy". I added extra cars to fill out the yard, numerous buildings, vehicles, people, etc were added to spice up the route and add visual appeal. I selected the time for the session and the weather condition.
And that's all there is to it! Well, it's not quite that easy but I hope you get the idea.
I feel the key is the planning and organization. Have a goal for the session and always keep that goal in mind as you test. Write down problems and issues, check them off as you correct them. And take a break every once and while. It's easy to get too caught up in the process or get frustrated. Coming back in a day or two gives you a fresh start. Start with a relatively short, simple session and add complexity as you gain skills.
Todd