Project: Unofficial 1.07 Patch

A private forum for those folks working on patches for RRT3.
milo
Engineer
Posts: 512
Joined: Sat Nov 11, 2006 5:36 pm
Location: End of the line

Project: Unofficial 1.07 Patch Unread post

The Big Kahuna. ETA sometime around the end of 2007 if ever, this monster patch duct-tapes a Python interpreter onto RT3 to make some very interesting stuff possible. It probably represents as close as we're going to get to RT4. It's also gonna take a ton of work...
  • improve AI's track-laying algorithm (CJNyfalt, milo) [30%,C,weeks] - May require scripted AI
  • improve AI's business sense (Grandma Ruth) [30%,C,days] - May require scripted AI
  • give player option to freeze AI after company 51% owned (ExpressWorld) [20%,C,days]
  • optionally specify goals for AI in scenario (milo) [20%,C,weeks] - Requires scripted AI
  • let AI take over/sabotage other companies (milo) [30%,C,days] - May require scripted AI
  • fix AI's inability to recover from damaged track (milo) [30%,C,weeks]
  • be able to write AI's algorithm using scripting language (milo) [30%,C,weeks] - Requires nearly same work as scripted events; may slow down game
  • be able to supply patches and assets with scenarios (gwizz) [30%,C,weeks]
  • fix color washout problem on multiple saves (Grandma Ruth) [40%,C,days]
  • fix event display in debug window for long scenarios (milo) [30%,C,days]
  • be able to delete territories (Grandma Ruth) [40%,C,days]
  • add math expressions to events (JSS, Wolverine@MSU, Grandma Ruth, davey917, milo) [30%,C,days] - Requires script support
  • support Python extensions to events (milo) [30%,C,months] - Hard, but opens up so many possibilities…
  • split track-laying rights from train-running or industry-buying/building (HighVoltage, davey917) [30%,C,weeks] - Requires several new events and possibly more scenario file storage
  • add city-to-city or terr-to-terr load delivery tests (Wolverine@MSU) [20%,C,weeks] - Not sure if cargos have individual IDs; may slow down game
  • support multiple-engine and double-ended trains (ExpressWorld) [50%,A?CF?,days] - Bombardiere already demonstrated one way to do part of this
  • increase effect of slow delivery on perishable cargos (ExpressWorld) [90%,F,hours]
  • bring back train robberies from RT2 (ExpressWorld) [50%,AC,days] - Probably add as alternative to train crash
  • reduce cargo natural flow rate (Steve) [60%,C,days]
  • support 'all except' consists (Steve) [40%,C,weeks]
  • add cuts and fills when building rail through mountains (dj, milo) [40%,C,days] - Cost: may open some terraforming exploits
User avatar
bombardiere
Dispatcher
Posts: 425
Joined: Tue Nov 14, 2006 9:07 am
Location: Turku, Finland

Unread post

uuuffff dream stuff :shock: But I guess it requires several coders. (sadly here I can't help)
milo
Engineer
Posts: 512
Joined: Sat Nov 11, 2006 5:36 pm
Location: End of the line

Unread post

It's unfortunately also looking quite unlikely, now that we know the patches don't work under Vista. Bad enough that we've already dumped the Mac crowd. Is it worth spending a year to build something that won't run on contemporary machines by the time it comes out?

I think I'm leaning back toward starting from scratch. There's more to do - but it'll take a lot less time, and less skill to help with it.
User avatar
Wolverine@MSU
CEO
Posts: 1166
Joined: Fri Nov 10, 2006 2:14 pm
Location: East Lansing, MI

Unread post

I for one have no intention of "upgrading" to Vista. If I buy a new machine that comes with Vista, the first thing I'll do is wipe it off and install XP. Since the majority of us die hard RTers already have "trains in their blood" and "current technology" machines, I don't see the need to spend a lot of time making the 1.07 version usable by a few newcomers. I doubt that the RT3 gamer community is going to grow by leaps and bounds over the next decade.

Just my !#2bits#!
User avatar
Hawk
The Big Dawg
Posts: 6503
Joined: Fri Nov 10, 2006 10:28 am
Location: North Georgia - USA

Unread post

I'm with Wolvy. It's bad enough I have to put up with XP. Vista will never see the light of day on my rigs. This new one I have better last me a long, long time.
I wouldn't concern myself to much with Vista milo. Most of us die hards probably won't be upgrading to it and I doubt there'll be a major influx of newbies. :wink:
Hawk
User avatar
bombardiere
Dispatcher
Posts: 425
Joined: Tue Nov 14, 2006 9:07 am
Location: Turku, Finland

Unread post

Perhaps after finishing the 1.06 Patch we could “sit down” and take a good what really needs to be done. I guess part of the list is possible to forget, but of course stronger AI is always welcomed.
Gwizz
CEO
Posts: 1100
Joined: Sat Nov 11, 2006 6:45 pm

Unread post

I'm still undecided about loading XP, except my new graphics and photo program will only run on XP, so I may go ahead and get it.

Milo, I hope we can put a top on what has been done so far. Just say not supported by Vista.

One question: I'm planning on building some structures with my new program. At this point my plan: each will just replace one of the game structures. How do-able will this be?

One more thought. Could this upgrade of RT3 be put into a package with the different user made componants already added in. (If necessary replacing some normal less used Game componants)

My thinking is it might produce fewer problems if one upgraded package could replaced one Game package. I know this is already being done but I was thinking a major package that included all game patches as well.
milo
Engineer
Posts: 512
Joined: Sat Nov 11, 2006 5:36 pm
Location: End of the line

Unread post

Hawk - Note that something "forced" you to XP. What makes you think something else isn't going to force you to Vista? Microsoft - and, I have the feeling, most of the software industry - has a huge economic stake in getting you to buy more of their software; leaning on you to upgrade your OS means more money for all of them.

We have effectively a 'closed' community here: because the game isn't really available in stores anymore, much less supported, we aren't getting new members to replace the ones who leave. Many of the remaining members, if they had something to put into a scenario, have already done so. Without an influx of new ideas... well, we aren't going much farther. I think 1.06 is probably enough to renew interest for another year or so, but beyond then we have to think of ways to bring more people into our world.

If we can build an open-source train sim, one that anyone can download and play, there's a much better chance of attracting new talent over a long period. Furthermore, if we build it before too many of the experts in this community drift away, we won't have to make the same mistakes that PopTop and Firaxis did. Lastly, if we have the source code, we can add new features or improve the AI far more easily than without it.

You've had some bad experiences with RT3 not living up to RT2, and then Railroads! not living up to RT3. There's no guarantee that a new game wouldn't be even worse - and some aspects, like the graphics and the machine requirements, almost certainly will be worse - but you'd be able to influence the development process this time.

Gwizz: not sure if your request is in the context of 1.07. I'll reply when I get more time, probably on the main board; this is an important idea and probably affects Bombardiere's loco packs and pure al's cargo chains as well.
User avatar
Hawk
The Big Dawg
Posts: 6503
Joined: Fri Nov 10, 2006 10:28 am
Location: North Georgia - USA

Unread post

Hawk - Note that something "forced" you to XP. What makes you think something else isn't going to force you to Vista?
Well, from what I've seen of new games that may interest me I don't even need XP to enjoy my game play time on the computer. I seriously doubt any games designed for Vista will interest me. Especially with programmers adding in such crap as 'Dynamic Advertising' and creating games more intent on eye candy than playability.
Nope, I'll just stick with the old tried and true thank you. :wink:

Hopefully, when the new patch is finished and ready for prime time, with a little subtle announcing, we can get some new interest fired up and maybe drag back some that have left.....and I'm going to win the lottery tomorrow. :lol:
Hawk
User avatar
Wolverine@MSU
CEO
Posts: 1166
Joined: Fri Nov 10, 2006 2:14 pm
Location: East Lansing, MI

Unread post

I thought we were talking about patching/upgrading RT3.

If you're talking about creating a whole new game, that's another story. Any wholly new game should be compatible with Vista as long as it's also compatible with previous windows versions, even as far back as '98 (for Hawk's sake). Personally I don't think it's worth the investment of time and effort to build something from the ground up. I doubt that there would be a RR sim community large enough to justify it in the long run.
milo
Engineer
Posts: 512
Joined: Sat Nov 11, 2006 5:36 pm
Location: End of the line

Unread post

Well, let's see. I've probably spent over 500 hours just on the 1.06 patch, and this is the easy one. About half of that time was reverse-engineering the existing code and building tools for it, leaving 250 hours of new code development. Patching existing code under space constraints in a low-level language is considerably less efficient than writing new code in a high-level language; my guess is that I could have managed about 8-10x the work in C++ and more like 30x the work in Python. So figure 1.06 is the equivalent of about 10-25 man-hours of new game coding time. That feels about right; with the source code and the ability to recompile/relink, this would have been far easier.

Judging from the credits and what we know of Firaxis' schedule (~60 people x ~30% time spent on one game x 6 months development), Railroads! likely took about 20K man-hours to develop. Hmm.

Point to you, sir. Unfortunately, I think that analysis also suggests that 1.07 isn't worth the time - and it's rather unlikely I'll get even another 500 hours before the end of the year to work on it.

Not really sure what to do. May wait and see how 1.06 does for a while after it goes out.
User avatar
Wolverine@MSU
CEO
Posts: 1166
Joined: Fri Nov 10, 2006 2:14 pm
Location: East Lansing, MI

Unread post

Not really sure what to do. May wait and see how 1.06 does for a while after it goes out.
Almost all of the things on the list above are frosting on the cake. Although there are some things from the list I'ld like to see, it seems that the major "gripes" about shortcomings of the current (1.05) game have been addressed. Give it a chance to sink in, relax a bit milo, and enjoy the fruits of your labor (i.e. play some scenarios).
As you probably are well aware, no good deed goes unpunished, and there will probably be some little bugs that pop up from time to time as more and more folks upgrade to the 1.06 patch.

I, for one, am extremely grateful to you for the time and effort you've put into this thing. Without your dedication and expertise, this would probably have never gotten off the ground.

Hip-hip hooray for milo ::!**! ::!**! !$th_u$!
User avatar
Hawk
The Big Dawg
Posts: 6503
Joined: Fri Nov 10, 2006 10:28 am
Location: North Georgia - USA

Unread post

I'm with Wolvy in his post above.
Take a break milo. Play some. Have fun.
Your work and efforts are greatly appreciated.

Now if only I can find some time to play. :(
I've taken a job building a web site for an antique firearms restorer and it's been keeping me pretty busy considering he keeps changing things. :lol:
Check it out and let me know what you think.

http://www.riflerestorer.com/
Hawk
Gwizz
CEO
Posts: 1100
Joined: Sat Nov 11, 2006 6:45 pm

Unread post

We are very fortunate to have people like Milo for this update, And PJay who built the Gwizzport for me and showed a clunk like me how to do it. The loco packs are another plus that benefits us all as are the tables and charts made by steve. Of course many different inputs by a fair number of people are all adding to this benefit.

For me testing has always been the hardest part of something new.

Hopefully this work will pass the testing and generate more life for RT3.

I've been a bit slow doing my part, but hopefully I will do better with my doctors help.
Gwizz
CEO
Posts: 1100
Joined: Sat Nov 11, 2006 6:45 pm

Unread post

How close is 1.07 to a point where I can build a new map using it.

This computer is about ready to load RRT3.

With this one about done I will start building the new computer for the graphics programs.
User avatar
Hawk
The Big Dawg
Posts: 6503
Joined: Fri Nov 10, 2006 10:28 am
Location: North Georgia - USA

Unread post

Actually Gwizz, the patch you should be looking for is 1.06, which will soon be in beta test.
It's currently still in alpha test. :wink:
Hawk
milo
Engineer
Posts: 512
Joined: Sat Nov 11, 2006 5:36 pm
Location: End of the line

Unread post

One piece of good news for the 1.07 hopers - just rewrote the keyboard handler to be a little more space-efficient, and freed up something like 5K of program space. That may be enough for the Python bindings even if I have to give up on extending the DLL import segment and call LoadLibrary directly.

This project is still pretty unlikely without another coder or two, though.
GranBichus
Cat
Posts: 9
Joined: Thu May 03, 2007 8:18 pm

Unread post

Well, I don't know about Railroads but for the RRT3 engine alone it took me (one person) circa 7 months, working 10-14 hours a day, 6-7 days a week just to go from a "hello world!" Visual Studio Project Wizard sample to a "feature complete, lets polish before the game production" state. Out of those 7 months, I'd say about 5 percent was spent on making my own 3D models, textures, and creating the 1st ever map and doing some audio work for the 1st audio engine. The engine took ~1 entire year of development alone by 1 person before the rest of the programmers started working on my codebase.

EDIT = 7 months, averaging at 11 hr/day for 26 days a month turns out to be about 2100 man hours. In the case of reverse-engineering it takes a whole lot more time than coding games straight up in ASM because you have to start with an unknown codebase and "mapping" eveyrthing alone is going to take a large amount of time (as you probably already know...)
milo wrote:Well, let's see. I've probably spent over 500 hours just on the 1.06 patch, and this is the easy one. About half of that time was reverse-engineering the existing code and building tools for it, leaving 250 hours of new code development. Patching existing code under space constraints in a low-level language is considerably less efficient than writing new code in a high-level language; my guess is that I could have managed about 8-10x the work in C++ and more like 30x the work in Python. So figure 1.06 is the equivalent of about 10-25 man-hours of new game coding time. That feels about right; with the source code and the ability to recompile/relink, this would have been far easier.

Judging from the credits and what we know of Firaxis' schedule (~60 people x ~30% time spent on one game x 6 months development), Railroads! likely took about 20K man-hours to develop. Hmm.

Point to you, sir. Unfortunately, I think that analysis also suggests that 1.07 isn't worth the time - and it's rather unlikely I'll get even another 500 hours before the end of the year to work on it.

Not really sure what to do. May wait and see how 1.06 does for a while after it goes out.
GranBichus
Cat
Posts: 9
Joined: Thu May 03, 2007 8:18 pm

Unread post

Milo, I've had first hand experience understanding the meaning of the phrase "we won't make the same mistakes as X, Y or Z did." There will be other mistakes instead. In my 18 years of making videogames I came to the conclusion that there is no such a thing as a perfect game. At the end of the day, a game is a matter of taste and that you would never stop adding more features to it to please everybody (been there, done that, btw). The only way you can make a perfect game is if you had an infinite amount of time to add an infinite amount of features that statistically speaking will satisfy an infinite amount of ppl thus making it a perfect game. However, considerng that the average 'work-capable' lifespan of a human is around 50-60 years, thats hardly infinite.... To add to that, most game companies these days tend to do a 1-2 year dev cycle, 1-2 years support after release for any given game, so that reduces the time to add features even further.
Additionally, if you would've worked with us, I think you would have a much better understanding of what went down back then at PopTop and why RRT3 turned out to be what it turned to be... and believe me Milo, I, amongst others and above most of all, wanted it to be so much more... specially after I poored 1 year of my life, all my soul and brains into building the engine for it.
milo wrote:Hawk - Note that something "forced" you to XP. What makes you think something else isn't going to force you to Vista? Microsoft - and, I have the feeling, most of the software industry - has a huge economic stake in getting you to buy more of their software; leaning on you to upgrade your OS means more money for all of them.

We have effectively a 'closed' community here: because the game isn't really available in stores anymore, much less supported, we aren't getting new members to replace the ones who leave. Many of the remaining members, if they had something to put into a scenario, have already done so. Without an influx of new ideas... well, we aren't going much farther. I think 1.06 is probably enough to renew interest for another year or so, but beyond then we have to think of ways to bring more people into our world.

If we can build an open-source train sim, one that anyone can download and play, there's a much better chance of attracting new talent over a long period. Furthermore, if we build it before too many of the experts in this community drift away, we won't have to make the same mistakes that PopTop and Firaxis did. Lastly, if we have the source code, we can add new features or improve the AI far more easily than without it.

You've had some bad experiences with RT3 not living up to RT2, and then Railroads! not living up to RT3. There's no guarantee that a new game wouldn't be even worse - and some aspects, like the graphics and the machine requirements, almost certainly will be worse - but you'd be able to influence the development process this time.

Gwizz: not sure if your request is in the context of 1.07. I'll reply when I get more time, probably on the main board; this is an important idea and probably affects Bombardiere's loco packs and pure al's cargo chains as well.
milo
Engineer
Posts: 512
Joined: Sat Nov 11, 2006 5:36 pm
Location: End of the line

Unread post

My apologies, GranBichus - this wasn't meant as a slam at you or PopTop. I'm frankly amazed that PopTop was able to put out RT2 and RT3 given the expected return on investment. Other than Civ IV, it's hard to think of another game that exposes as much depth in its editor. Railroads! shows what we can more normally expect: engineering effort strongly limited by the need to recoup costs.

The advantage to writing an open-source sim isn't that we could make a 'perfect' game; it's that we wouldn't be battling the need for a company to make a profit. Anyone with time, willingness, and coding ability could jump in and change the pieces that bothered them. Right now, for example, we're stuck with a limited set of cargos because there are simply too many places in the program where the limit was hardcoded. If the same problem happened with an open codebase, it'd ideally be a matter of just changing a #define, recompiling, and then dealing with a two-year unholy war over the scenarios that that change broke. :)

Life's not much different in the applications industry than in the game industry in the aspects you're describing. The need to make a profit and to get product out the door before your competitors meshes nastily with the inability of the average customer to judge the quality of your product before buying. Result is an astounding amount of crap, unhappy customers who nevertheless purchase this crap in droves, and a lot of bitter engineers who can't sleep at night. I work on projects like this as penance for what I've done in the name of money.

Open source is different. Because there's no financial agenda involved, and no driving force beyond the egos of the coders involved, projects tend to take longer but to exhibit astonishing quality. Subversion beats most of the commercial source-control systems I've used; Eclipse is one of the best IDEs out there; good luck finding a better webserver than Apache HTTPD; and while the code base is horrific, Firefox still stomps IE in usability. Microsoft warns everyone that Linux is the unsupported creation of a thousand madmen, but what does support in Windows really get you?

I'm not sure what other path we have, right now. There aren't enough customers for a game development company to justify spending the time on an advanced sim, other than perhaps a modding-hostile economic MMORPG. Extending RT3 has a short horizon for reasons I discussed earlier in the thread, and is likely to get us in trouble with certain parties sooner or later. Unless there's an insane company out there who'd like to work with us to build a new engine, we pretty much have to go it alone - and, as your calculation points out (thanks for that info!), there aren't enough of us to pull it off unless we merge with another modding group.
Locked