Wednesday, January 12, 2005, 5:55pm

Wednesday, January 12, 2005, 5:55pm

In recent days I’ve been debugging a Thief campaign segment called Reversing the Order where Alisha is chased and where Garrett must help her find safety – all without her becoming aware of his presence. The mission has lots of bugs, many of which are the result of previous debugging attempts. Some bugs happen under only special circumstances or in ways that can’t be fixed directly.

When something must work right I’ll often create a backup process to take over if the main process fails. Yet such redundancy requires that two things must work properly should the main process crap out. Some sort of event sensor must first sense a failure and then a secondary system must respond to a failure alert message.

Unfortunately failure detection has to be running in parallel with the main process, and just as in the Heisenberg Principal, the effort to sense a process (failed or otherwise) will distort its function – oftentimes causing to it fail when it might not have failed without the effort to make it more reliable.

In addition to the complexity of these watchdog systems, the total load on the game engine increases with any effort to increase redundancy. A seemingly unrelated problem can emerge simply because the whole system is overtaxed – like when Neil and Buzz were approaching the Moon with 1201 and 1202 alarms blaring because the descent and ascent radars were running at the same time. Their computer memory was only designed to hold one or the other – but not both at the same time – so the computer was constantly resetting itself as the only way to focus on the critical tasks at hand. By pre-arming the ascent program Aldrin’s intent was better preparation, yet this instigated a much more harrowing final approach.

The best way to achieve reliability is to begin with robust components. For example, the locomotive of this train is easily capable of pulling a load throughout the Boston area twice the weight of the largest commuter configurations running out of South Station. So at the very beginning of reliability, the machine itself should not be overworked. Also, the engine is not overtly complex – a giant diesel motor powering an electric generator. Other than a set of thick copper bars transferring electricity to electric motors mounted at the drive wheels, there is no transmission.

In addition to simple and robust assembly it is also important to understand my design goal, and not build anything extra. Unused functionality adds risks without adding a benefits. For example, to include overhead racks on this train along with lots of handrails to grab when exiting or boarding adds lots of practical value. Adding an entire dining car would be far from worthwhile considering how the trip is so short. This is a commuter train, not a long haul train, so there no reason to add the complexity of breakfast and an early dinner.

The last of the main elements that make a big difference in reaching a reliable and stable design are the economics of the result. Is the investment in design and production worth the effort? Without fare-paying customers there would-be no commuter rail; without some scientific or strategic or business benefit there would be few satellite launches. We went to the Moon for hubris, and not some much for humanity (as the lander plaque up there proclaims). We haven’t returned because there’s been no clear value in spending the money and taking the risk. We made our nationalistic point, and as far as most people care, we collected enough rocks. Eventually we will abandon the International Space Station for a similar lack-of-reason. In the real world of economics, significant expenditures must lead to significant economic return (either directly or as a protector of the economic process — such as security supplied by spy satellites). Mission like GPS, telecommunications, mapping, and weather satellites will always be well-funded (and I suppose creaking old commuting railroads as well).

Sometimes new opportunities arise. In a future age the glacial crude-oil-obsessed political system and SUV-centric economy may find value in Helium-3 as a clean fuel for atomic fusion power. H-3 is an isotope rarely found on earth, but abundant in the surface layers of the moon. Perhaps we will one day return to the moon – but this time with mining equipment not for flag-waving symbolism.

With respect to my Thief campaign – like all design projects – I’ve been at the ‘90% done’ stage for a long time – not because I’m really 90% done, but because it sounds close enough to the end to act as a motivator, while not too close to sound unreasonable. Once I have the present mission working and debugged enough for volunteer play-testing, I’ll probably have reached the 90% level for real or perhaps a bit closer. From here on, I won’t be pushing the limits of the game engine any further – I’ll simply be trading resources to improve and stabilize what is there.

Tonight I’ll be commiserating with Randy who’s struggling with his own Thief campaign. Our game stories are actually quite similar, though for now I can’t tell him why without spilling the beans. Perhaps in the end they will diverge. After all, I don’t know where he is going with his design. As a matter of fact, despite careful planning, I can’t say for certain exactly how my own design will work out once the trade-offs are complete.

Again, as we leave West Natick for Framingham I realize how I’ve managed to make another step towards my ultimate destiny in life however it turns out with another four thousand heartbeats pecked away on this keyboard. Barring some unforeseen event or extreme measure of exercise and overall healthy living, my lifespan is pretty well locked into some number of years before the machine wears out and is no longer salvageable.

In the meantime I’m trying to get the most out of this engine as well.

Advertisement

~ by kenramsley on January 10, 2010.

Leave a Reply

Please log in using one of these methods to post your comment:

Gravatar
WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.