Wednesday, July 22, 2009
Day Job Fun That Has (So Far) Not Gotten Me Fired
Well, it has not quite been a year since I left the mainstream games business (again) for greener pastures in the simulator industry. I'm enjoying it a LOT more than at my last games job (though I still miss workin' at NinjaBee sometimes... though I do not miss the commute).
Apparently, I'm something of a generalist at work, as they've had me working on little bits of everything software-related so far - overhauling the audio software, installing the development environment and all libraries on new systems, converting older software to use the new IO system, overhauling the motion-base code, and a bit more stuff that would probably only make sense if you know the software.
My recent tasks have included the motion-base software, which was a little intimidating, as we've got cabs with a whole bunch of big plasma displays that each cost more than I take home in a month - not to mention lots of other expensive equipment. And a person, sometimes. Normally, if you have a bug that causes a crash in your software, it's no big deal. When working with the motion system, a crash is semi-literal.
Intimidating, but interesting to play with. Here's kinda what they look / move like:
So far, I've only had about three "incidences," and I haven't been fired over any of them yet.
The first was minor. Apparently somebody had set a power supply (like you have for a laptop computer) on one of the rails of the cab and forgotten about it, as it had been idle for a couple of weeks while we were working on other things. My first tests didn't cause enough motion to move it much. But as I was testing the yaw upper bounds, the force managed to hurl the power supply about four feet. I think it still works, though.
A couple of days later, as I was testing a sound bug as well as some motion issues, I inadvertently discovered a short in our safety interlocks. The motion system is not supposed to activate while the stairs are down, but in this case there was a short in the wiring that was telling the interlocks that the stairs were always in the "up" position. I was paying attention to the racket caused by the sound bug (it was starting a new collision sound every frame), and so I didn't notice the bad noise the stairs made when the motion platform raised up with the stairs still hooked onto it. Fortunately, the damage was minimal and easily repaired, and the hardware guys not only found the short but actually improved the interlock system so nothing like that will even come close to happening again. But that happened late on a Friday afternoon, so I had all weekend to stew over whether or not I'd have to clean out my desk come Monday.
And then I discovered what an uninitialized vector can do. An uninitialized variable is a horrible source of bugs in software, as it has never had an actual value assigned to it yet - so it uses whatever value happened to have been in that memory location at the time. Often, that value just happens to be a zero or something, which might behave very well. But then you get some value like -32768 or something like that, which might only happen when you are, say, running a release build (without debugging information) outside of the IDE. And with your project manager inside the cab at the time. When that particular value (994.00, in this case) ends up being assigned to the speed at which the motion base is supposed to "bump" to the left.
In feet per second.
On the very first frame.
Of course, the motion base has limiters to how far it can move, so it only yanked over at its maximum speed to its maximum deflection. Otherwise, we might need a new project manager. And I might need a new job. But it definitely gave us both some unexpected excitement the moment I hit the "run" button.
Labels: Geek Life
Comments:
Links to this post:
<< Home
Very cool - I was playing on one of those motion simulators at Silverstone a few weeks ago - run by a company called HexatechRacing, and leased out to Michelin/World Series by Renault.
Awesome things, love 'em :D
Awesome things, love 'em :D
building the next mechwarrior cabinet?? :)
I'd pay to see you send your project manager flying across the room in the cab.
I'd pay to see you send your project manager flying across the room in the cab.
That was my first response when I came to work here. "Dude, we could build a kick-butt Mechwarrior sim with these things!"
But I really don't want to send the PM flying across the room. He's a good guy. He took the unexpected thrill ride in very good humor.
Post a Comment
But I really don't want to send the PM flying across the room. He's a good guy. He took the unexpected thrill ride in very good humor.
Links to this post:
<< Home


