|See what's going on with flipcode!|
Question submitted by (06 July 1999)
|Return to The Archives|
|Do simulation-type games such as flight simulators/pod racers etc work just like industrial simulations? That is, do these games have differential equations that need to be integrated through time?|
As for pod racing games, I can't say. If I had to guess based on common
sense, I would say "probably not rigorously simulated." There is no
real-world "pod" to simulate, so where is the basis for simulation? Also,
a full blown simulation would not be necessary. They could accomplish
their goal (make a fun game) without the simulation. If it were me, I
would write some simple simulation code that avoids all the hard work that
accomplishes the goal and gives the right feel.
A flight-simulation, however is a completely different story. Having been involved in Fly! for the past 11 months has taught me quite a lot. First, the target market (the 'sim-heads') are fanatical about precision. We've learned that you simply cannot please them all. As a matter of fact, you'll be lucky to please a small fraction of them, so the simulation is quite necessary. If you are (or anybody else is) targetting an audience of this nature, I have a story for you before you make any decisions...
Fly! has five aircraft, starting with our simplest is the Cessna 172R Skyhawk (80% of all pilots learn to fly in one of these.) It's a small single-prop plane that seats only four. We've taken on the job of actuating every single switch, knob, dial and gauge in the cockpit. And this is just the cockpit detail. The flight dymanics and subsystems simulation is just as full-featured. For example, if you roll this aircraft onto its back and try to climb, you'll find that the engine cuts out at a certain angle. This happens because the fuel tanks are gravity fed and at a certain angle the fuel is no longer feeding the engines. The guys on the Fly! team actually simulated this, and this is just one tiny example...
As a comparison, the top selling flight simulator of all time (Microsoft Flight Simulator) has a 747, one of the largest commercial airliners ever made, seats hundreds. Our Cessna has more working doo-dads in the cockpit than their 747 does. But are our beta-testers happy? Yes and no. They're happy to see the detail we've put into our aircraft, and they're relatively pleased with the flight model (yes, we do actually integrate through those heavy equations) and they're happy to see that we've gone through the trouble of actually re-creating a fully working GPS navigational system. But are they truely happy? No. They've still got more suggestions on top of suggestions on top of suggestions. This is great, since we'll always have lots of great ideas for things to add, but they want stuff like a fully simulated weather system with real-time updates from online METAR weather sites (the US government doesn't have this kind of computing power.)
"Fine," we think.. just wait until they see our most sophisticated aircraft, the Raytheon Hawker 800 XP. This is a business jet that seats eleven (including pilot and co-pilot.) This particular jet makes the Cessna look like a toy (both, in our sim and in real life.) Following the same path we took on the Cessna, you can't imagine the amount of detail we put into this jet. Of course, when the sim-heads started playing with the Hawker, they had more suggestions than they had with the Cessna!
Don't get me wrong, the simulation community is a very tight community and full of some great people. I'm not just saying this to cover my butt in case I offended anybody, they really are a great group of friendly people. Just remember that they're as fickle as they are friendly. So use their knowledge and their willingness to help and LISTEN to their suggestions. They know what they want more than you do. But also remember that their expectations are FAR beyond the means of today's technology. If you try to please them all, you WILL go insane.
And remember this too: the best goal is a goal that cannot possibly be achieved.
Response provided by Paul Nettle
This article was originally an entry in flipCode's Fountain of Knowledge, an open Question and Answer column that no longer exists.