Wondering what’s changed from Version 9 to Version 10? The biggest new features are:
- a brand new system for auto-generating plausible scenery for the entire world,
- a new, highly-detailed cloud and weather rendering system,
- a flight model with improved accuracy and even greater power,
- a completely redone ATC and AI Aircraft system, and
- the ability to more fully utilize multi-core CPUs for enhanced realism.
Things You Need to Learn in Order to Use X-Plane 10 Properly
- 1 Things You Need to Learn in Order to Use X-Plane 10 Properly
- 2 The Main Driver of X-Plane 10: The New Plausible, Dynamic World
- 3 The Atmosphere the New World is Cloaked In: The New Weather System
- 4 Creating an Active Environment: The new ATC and AI Aircraft
- 5 New Flight Modeling Features and Accuracy
- 5.1 New Flight Model Running on Its Own Thread (Available on Multi-Core and, Better Yet, Multi-CPU Machines)
- 5.2 New Lift Display and Structures Model
- 5.3 New Jet Engine Model
- 5.4 New Trim Model
- 5.5 New Starter Model
- 5.6 New Clutch Model
- 5.7 New Hydraulic Pressure Model
- 5.8 New Electrical System Model
- 5.9 Hydraulic System Model Improvements
- 5.10 More Realistic Dynamics
- 6 Internal Object-Oriented Redesign
- 7 New Features for Designing Aircraft
- 8 New Features for Flight Training
- 9 Refinements
- 10 Other New Features
It may be annoying to learn a new set of keys, but the new default keys are designed to
- group similar functions to similar keys,
- allow much more control of the camera, allowing for more interesting movies,
- use keys that are available on laptops and small keyboards, as well as the bigger desktop keyboards
Once you learn the new keys, you will see that their layout is better than that of X-Plane 9; the layout allows for greater consistency, better camera control, and more power on laptops.
So, here are the basics. The rest of the default keys can be found by opening the Settings menu, clicking Joystick & Equipment, and selecting the Keys tab.
Main X-Plane 10 Default Key Assignments
– W : FORWARD WITH PANEL
– SHIFT W : FORWARD WITH HUD
– CONTROL W: FORWARD WITH NOTHING
– SHIFT 1 : MOVING SPOT!!! (EXCLAMATION MARK BECAUSE IT MOVES!!!!)
– SHIFT 2 : HOLD AT A LOCATION (“@” SIGN TO HOLD A LOCATION)
– SHIFT 3 : ON THE RUNWAY! (“#” TO BE ON THE RUNWAY, NEAR THE NUMBERS!)
– SHIFT 4 : CIRCLE ALL AROUND THE AIRPLANE (“$” BECAUSE YOU SWIRL ALL AROUND A VERTICAL ROTATION AXIS! THE $ LOOKS LIKE THE ROTATION PATTERN AROUND THE VERT AXIS!)
– SHIFT 5 : TOWER VIEW. “%” KEY BECAUSE SOME PERCENTAGE OF YOUR TAX REVENUE WENT TO PAY FOR THAT TOWER. (HEY… YOU CAN REMEMBER IT NOW, RIGHT?)
– SHIFT 6 : RIDE-ALONG: THIS IS A CAMERA MOUNTED ANYWHERE ON THE AIRPLANE! TRANSLATION KEYS TO MOVE IT!, ROTATE KEYS TO ROTATE IT! THE “^” IS A LITTLE CAMERA AIMING DIRECTION.
– SHIFT 7 : TRACK ANY FIRED WEAPON! “&” BECAUSE THERE IS A CAMERA ON THE PLANE >AND< ON THE WEAPON!
– SHIFT 8 : CHASE! THE “*” LOOKS LIKE THE EXHAUST STACK OF AN AFTERBURNING ENGINE, WHICH IS WHAT YOU WILL SEE WITH THIS VIEW ON A FAST-JET.
– SHIFT 9 : 3-D COCKPIT, TRANSLATION AND ROTATION COMMANDS TO MOVE ABOU
– SHIFT 0 : 3-D COCKPIT, TRANSLATION COMMANDS TO MOVE ABOUT, MOUSE TO LOOK ABOUT (O-key to hold an angle to hit a control with the mouse or something)
This is powerful because you can translate, rotate and zoom in almost all views without using strange keys not found on laptops!
– ARROWS: TRANSLATE LEFT, RIGHT, UP, AND DOWN AVAILABLE IN MANY VIEWS!
– < AND >: TRANSLATE FORE AND AFT! AVAILABLE IN MANY VIEWS!
– + AND -: ZOOM IN AND OUT! AVAILABLE IN MANY VIEWS!
– Q,E,R,F: ROTATE AROUND! AVAILABLE IN MANY VIEWS!
Once you see the difference between rotation, translation, and zoom, and see how many views these keys can be applied in, you will start to like the new key assignments!
You can translate and rotate, all at the same time, while choosing from a wide variety of views, to get some pretty nice youtube videos out there.
– / : PROP BETA TOGGLE
– SHIFT / : PROP OR JET REVERSE TOGGLE
– 1,2,G,B : FLAPS UP, DOWN, GEAR AND BRAKES TOGGLE
CONTROL R : REPLAY TOGGLE
CONTROL P : FLIGHT-PATH TOGGLE
SHIFT P : FLIGHT-PATH RESET
CONTROL M : SHOW THE FLIGHT-MODEL FORCES
SHIFT M : CYCLE-DUMP THE FLIGHT-MODEL FORCES
CONTROL SPACE : TOGGLE QUICKTIME MOVIE RECORDING
SHIFT SPACE : TAKE SCREENSHOT
Of course there are a hundred more key commands, all listed in the joystick and keyboard windows, but those are the basic ones that I use the most often, and the camera control you now have is pretty darn nice.
Now that we have that out of the way, let’s get to the new stuff in the sim that you can just enjoy without having to learn too much more:
New Camera Control System, Based on the New Keys
Really new camera-control system to give fewer types of views and fewer commands, but much more control over the camera. We do this by taking just a few commands that we are already used to and applying them to maximum effect in every view.
Here are the commands you need to know:
Arrows: They move you left, right, up, and down in almost all views.
Page Up/Page Down: They move you fore and aft in almost all views.
+/-: They increase and decrease zoom in almost all views.
In addition to these keys, which let you do things like move farther from the plane while you zoom in on it or vice-versa, moving the mouse (while dragging) directly, and instantly, aims the camera in most external views. This lets you pan and tilt the camera with the mouse as fast, slow, and freely as you could ever move a mouse.
The variation and control possible from this are unlimited… no more having only some keys work in some views. No more having the view move slowly as you drag the mouse.
Then, we added joystick axis to control pan, tilt, and ZOOM with any axis of any stick, and we hooked those joystick axes up for direct, instant control of the pan, tilt, and zoom. With the joystick directly controlling zoom, not the rate of change of zoom, you can zoom in as slowly are quickly as you like, simply by how fast you move the stick or throttle lever that you have assigned to the zoom axis. This lets you zoom in as slowly as you like, or jump in instantly, just as if you were rotating the zoom lens on a professional-grade camera… far above the cheap stuff where that annoying electric zoom will only go at one speed.
With almost all pan, tilt, and zoom controls working the same way in almost all views (scoot back while moving up and zooming in from the linear-chase view, anyone?) the system is incredibly powerful and easy to use. With mouse and joystick providing direct control of the camera angle and zoom (not rates of change of camera angle and zoom, which is slow and annoying), the pan, tilt, and zoom will be as slow, quick, free, and organic as your motions. Throw in our cinema verite to keep some lifelike camera motion going on, and we have the recipe for some incredible movies with great camera aiming and motion. We also have more room for joysticks and axis so you can have a separate joystick just for view control if you like!
Then, once you get the camera-control down, you can make amazing movies better, and here is how:
- Fly the flight you want to record, then go into replay mode and load up the rendering options to a higher setting if desired.
- Then do the RECORD MOVIE replay button in that higher-res setting… the replay will look even more amazing as X-Plane replays the movie (as fast as it can, and as slowly as needed, to capture every frame at the movie res and framerate you specified) .
This new RECORD MOVIE replay button is nice because no matter how high your rendering options, no matter how high your resolution, no matter how high your quicktime movie resolution and frame-rate, X-Plane WILL capture every frame… even if it needs to run in slow motion to do it. This lets you fly the plane at some low settings, then crank the rendering options up and replay the movie at any level of detail you like to make a smooth, fast movie! Cool! How hi-res a movie can you make?
Check the view menu carefully to see the new keys… they are a bit more consistent, logical, and easy to learn than the old set.
The Main Driver of X-Plane 10: The New Plausible, Dynamic World
Other than a gajillion various flight-model and scenery over-hauls and a near-complete internal re-write to make the code more object-oriented and thus easier to modify and debug, let’s look at the fundamental requirements I have laid out for my team for X-Plane 10:
In a sentence, X-Plane 10 has a plausible, scalable, dynamic world.
Here is what I mean:
Orthophotos are garbage. I see this all the time. I am zooming along in an airplane looking that rooftops of WalMarts painted flat onto the ground. And the rooftops are blurry. And pixelated. And with a magenta or purple tint. And with big blurry shears right through the middle of them when they fall between offset satellite passes.
It looks just terrible.
Then, to make the 2-dimensional, blurry, pixellated, mis-colored, distorted roof of a WalMart painted on the ground look even worse, if you throw in some REAL roads or auto-generated buildings, they invariably fall ACROSS the roof of the WalMart painted on the ground, compounding the wretched orthophoto with an Escher-like rendering-error.
This looks terrible, and is not even plausible. Throw on a bunch of roofs of cars photographed, flat and motionless, onto the roads, the result is just so awful I cannot believe anyone would want it in a flight sim.
Enter the plausible world for X-Plane 10.
We will build every city in X-Plane UP FROM THE FIRST BLADES OF GRASS.
Here is how it works: We will start off with grass or field textures for THE ENTIRE WORLD, INCLUDING THE CITIES, and then build up from THAT. We will take each individual parking lot and place it on top of the grass. We will place each building on the parking lot, in 3-D. At no point will the PAINTING of the ROOF of a building appear on the ground. This will NEVER happen. EVERY building will be a real 3-D building, planted by an algorithm in a location that is at least physically possible. Do we know where every building on earth is? Of course not. But, we DO have incredibly detailed road databases, and we have the algorithms to place parking lots, sidewalks, buildings, etc all alongside these countless roads. This means that our artificially-intelligent city-planning algorithm will build PLAUSIBLE cities. Cities where you would fly over them at 5 miles per hour, 10 feet above the ground, in a helicopter, and NEVER see anything that looks ‘impossible’. Everything will be completely 3-D. Every city built from the first blade of grass. There will be no discoloration, blurriness, satellite mis-alignment or 2-D Escher-illusions… all of the cities will be completely plausible. If you turn down your rendering options to zero, then New York will be empty green fields. If you turn them up to max, then it will be a sea of 3-D roads and buildings at a level of detail that you could DRIVE in a driving sim, and Central Park will NOT be an overlay… it will simply be a part of the field that they have not put buildings on! This is the plausible world, and it is the first step towards a really detailed and convincing virtual reality.
As well, X-Plane 10 will be SCALABLE. While you will be able to taxi right down the roads, with plausible intersections at every crossing and only 3-D buildings off of either wing, you will be able to zoom out all the way to space and see the landmass from orbit. You will see the reflections and lighting of the land and sea from space, with smooth transitions all the way from space to sitting in someone’s front yard,
never with any sudden switch-over to a different rendering technology. Everything is done with level of detail that delivers smooth transitions from street-view to orbit, all in 3-D. The WEATHER system will be detailed enough that you will see cloud whisps right around your plane as you fly through clouds, but will go HUNDREDS of miles in every direction WITHOUT any repetition. This will let you have fronts and thunderstorms, areas that are VFR and IFR, clear and cloudy, all at once, depending on your location. If you want to fly like you would in reality, you will work through/over/under/around those thunderstorms and fronts getting from one place to another, since the weather is NOT homogenous or repetitive. It scales from local detail around your plane clear out to region-wide fronts and storms visible from orbit. Totally scalable across a tremendous range.
As well, the X-Plane 10 engine is DYNAMIC. I have now, for X-Plane 10, made it so that EACH FLIGHT MODEL RUNS ON IT’S OWN CPU. Here is what
that means: If you have 20 processors, then you can run TWENTY AI PLANES WITH BASICALLY ZERO FRAME-RATE HIT. Crank the number of planes up to
0 in X-Plane 10 and watch what happens to the frame-rate. Try it now: Set the number of planes to 1 and look at the frame-rate. Then set it to
20 and look again. See the hit? That is because all of those flight models are running on ONE CPU, one after the other, in order. With X-Plane 10, each flight model can run on it’s own CPU, all at the same time… if you have 20 CPU’s, running 20 planes is no slower than running 1. Now, most of you don’t have 20 CPU’s, but if you have a quad-chip dual-core (per chip) Mac like I do, then that is EIGHT cores… and they can handle 20 flight models while hardly breaking a sweat… the frame-rate impact of 20 planes is small: We have eight cores splitting the work! As well, we have optimized the RAM-use of each airplane to be considerably lower. This means that there is less RAM impact to having 20 planes flying at once, making it much more feasible to have 20 planes at one time. So, X-Plane 10 will use less RAM, and give more frame-rate, than version 9 when loaded up with planes (all other settings being equal, of course).
So, THIS is the plausible, scalable, dynamic world that we are building for X-Plane 10, all of which sits on top of an object-oriented,
RAM-optimized, CPU-optimized, multi-core-capable code-base. You will SEE these results as X-Plane 10 reveals incredible detail, motion, and accuracy at all scales … while the activity bars on ALL your CPU’s run up into action.
NOW, if you only have ONE CPU and a LITTLE BIT of RAM, you will still be able to run version 10 just fine.. in fact you may see it even run
FASTER and with LESS RAM than Version 9! BUT, you will have only ONE airplane, and the cities will be simply grass fields, and the air traffic controller will have very few people to talk to. BUT, if you get the 4 gig of RAM to load up the rendering options, the 8 CPU cores to run 20 AI planes with full flight-model at once with minimal frame-rate hit, THEN you will start to see the whole world enrich and come alive. But there is no way that is happening with 2 GIG of ram and one CPU. This type of world is all about parallel-processing: A lot of stuff happening at once. No surprise it will eat up all the CPU’s and RAM (up to 4 Gig) that you can give it.
The Atmosphere the New World is Cloaked In: The New Weather System
Modern video cards cannot draw every bit of cloud for the entire world in high-detail… it is simply too much information for a computer
to memorize or display. So, how do we render these clouds in x-plane 10?
The answer is levels of detail, which is a display of resolutions of buckets.
we have a HIGH resolution of cloud geometry. each puff is 1 meter across. BUT, those puffs only go out, say, 10 meters. in other words, sure: you can see cloud puffs that are 1 meter across. but you can only see them up to 10 meters away. you see the small, detailed puffs up close only. that ain’t many puffs. just 10x10x10, or 1,000 puffs. we can handle that.
then, for puffs that are 10 meters away to 100 meters away, we draw puffs that are 10 meters across! how many puffs to fill that space?
well, we have 1 puff every 10 meters, we go out 100 meters in visibility for a moment, so that is 10 puffs north/south x 10 east/west x 10 up/down, for 1,000 puffs.
we just covered 10x the space, but without using the exact SAME number of puffs as we did for the smaller area, by making each puff bigger.
sure, the bigger puffs are less detailed, but since they are farther away, you could not see the 1-meter-diameter puffs anyway… they are too far away to see when they are that small.
then, from 100 meters to 1,000 meters, we draw puffs that are 100 meters across. we have 1 puff every 100 meters for 1,000-meter range. that is that is 10 puffs north/south x 10 east/west x 10 up/down, for 1,000 puffs.
again, only 1,000 puffs. BUT, we are covering a full kilometer! the better part of a mile!
how about we go out 100 kilometers??? each puff is, say, 10 kilometers across if drawn so far away. that is 1 puff every 10 kilometers for 100 kilometers. so that is 10 puffs north/south x 10 east/west x 10 up/down, for 1,000 puffs.
AGAIN! NO MATTER HOW BIG THE SKY, EACH LEVEL OF DETAIL ONLY COSTS US 1,000 PUFFS!
7 levels of detail is plenty of detail. we call each level of detail a ‘resolution’. so 7 resolutions gives 1-meter wide puffs of close, and huge puffs very far away, as seen from orbit!!! and we wind up with: 7,000 puffs.
diddly-squat for a modern video card.
so THIS is the trick to the cloud-rendering in x-plane 10: we draw a LOT of SMALL puffs up close, and a FEW HUGE puffs out far away. this gives the detail you want up close, with the general cloud layout visible from 100 mile away. there is no need to draw tiny 1-meter-wide puffs 100 miles away: you could never even SEE them from that far away!
so, our DISPLAY of the weather uses about 7 RESOLUTIONS of cloud-puffs, with maybe a handful of thousands puffs at each resolution… a total result of maybe a small handful of tens of thousands of puffs.
why, you don’t need 51 million video cards to draw that at all! in fact, you could even use just ONE video card! the perfect amount to fit inside your computer!
BUT, we are not done yet.
each resolution contains all the cloud puffs around you… including the ones BEHIND you! we certainly don’t want to tell the video card to draw the puffs of cloud that are BEHIND you. that would slow you down for nothing. SO, we break each RESOLUTION down into 27 BUCKETS (a grid, in 3-d, measuring 3x3x3… EXACTLY like a rubics cube). BUT, this is a rubics cube that you fly around INSIDE of, with each cube being a BUCKET. of course, we only draw the buckets that are FRONT of you where can SEE them! this doubles the frame-rate again, since maybe half of the buckets are in front of you, and half behind… we simply draw only the ones that are in front of you.
so, the weather display in x-plane 10 contains about 7 resolutions, with each resolution distributing it’s several thousand puffs into 27 buckets. this way, we only draw the cloud puffs that are in front of you, at a level of detail that you can see at that distance.
THIS is what makes it possible to run at 100 fps in my mac with 1 video card with clouds visible.
THIS gives is the detail we want, with the long-range visibility we want, at the frame-rate we need.
Creating an Active Environment: The new ATC and AI Aircraft
The new ATC will control ALL of the planes in the sky, including yours, to deliver incredible ATC realism.
Using pre-recorded audio files, you will HEAR the controller giving instructions to the OTHER planes, and see them following those instructions on
your TCAS and out the window. The other planes will all take-off, land, taxi, stop on the ramp, miss approaches and do touch-n-goes, all while
taking commands from ATC, all of which are audible on your radio.
Of course, all of the other planes will use the same accuracy flight model as your plane, so you will see them move perfectly realistically
across all phases of flight, from flying right down to taxiing. Put in a strong wind or turbulence and see how they handle it. It might not be
pretty, but it WILL be realistic. Set enough wind and an icy runway, and they will all blow right across the ramp. Watch out.
The ATC system, like most systems in X-Plane, will be highly customizable.
New Flight Modeling Features and Accuracy
New Flight Model Running on Its Own Thread (Available on Multi-Core and, Better Yet, Multi-CPU Machines)
Multi-core flight-model: If you have 20 planes, X-Plane will use 20 cores if you have that many! If you don’t, then it will use however many you have. So, buy up to 20 cores and you won’t be wasting your money!
To show you how much faster the new system is when flying many airplanes, see below how it is over TWICE AS FAST as X-Plane 10 when 20 planes are flying, when run on a machine with plenty of CPU cores!
No-scenery case to test flight models, and everything EXCEPT scenery:
1 acf: 500 fps, 370 meg
20 acf: 55 fps, 481 meg
1 acf: 320fps, 417 meg
20 acf: 115 fps, 461 meg
New Lift Display and Structures Model
We now have wing-bending! Check out the wing deflection in Plane-Maker, where you enter the max wing deflection. Once you enter that, X-Plane knows how stiff your wings are. As well, enter the fraction of the total aircraft WEIGHT that is in the wings. This lets X-Plane know how HEAVY your wings are!
Then, in flight, based on the G-load encountered from lift production in the wings and hard landings as well, the wing deflection should be pretty darn accurate! I have seen many hacks to bed wings in X-Plane 10, but none of them touch the accuracy of this system in X-Planed 10, and it is built right into the default models… you need not take an object file to see the results! Once you see the wings of the 777 flex under hi-G and bad landings, and look at them in severe turbulence, you will really start to see what airplane go though as they make their way through the air!
As well, to show lift, we now have condensation due to production of lift! This condensation is based on wing loading, lift coefficient, temperature, and humidity as estimated by the cloud altitude! So, this should be a fairly realistic (analytic, not empirical or hacked) display of condensation, and when and where it occurs!
Updated standard atmosphere model from -15,000 to +600,000 feet in finer detail: more accuracy in all flight modeling. More detail, more accuracy, higher altitude.
lift bauble approaching effective translational lift, and effective translational lift, in the helos are now more accurate. more accurate flight dynamics based on wing-sweep, now looking at the change sin effective sweep on a per-element basis due to your changes in chord width and offset in the wing planform editor in plane-maker. less turbulence behind other airplanes, which is more realistic simulating aerial refueling operations. smoother transition between subsonic and supersonic flight models as REGIONS of airflow around the wings go supersonic, as in reality.
New Jet Engine Model
Go to Plane-Maker, Engines screen, Jet tab.
See how bypass ratio effects thrust at altitude and Mach number… These curves are what you will get in the sim.
These curves are very carefully modeled after real engines… X-Plane’s jet engine model should really be a lot closer to reality now,
as it follows these curves and bypass ratio, altitude, and Mach number. As well, X-Plane will correct these curves for air density due
to temperature and barometric pressure, giving another level of refinement. This is the engine model that I used to refine and test
my X-1 Cavallo (single-engine light-jet) design.
New Trim Model
The aileron, elevator, and rudder trim are now set up more intuitively and simply in Plane-Maker:
Enter a number of DEGREES OF DEFLECTION (instead of ratio) for stabilizers, stabilators, and elevators.
This is a lot simpler because it clearly applies to all surfaces, including flying stabilizers, as are used on all airliners.
Aircraft designers: Be sure to recheck all your control defs and trim defs in Plane-Maker.
They are set up more nicely now, but be sure all the numbers are correct since they were auto-imported from an older format!
New Starter Model
In Plane-Maker, SYSTEMS window, note that you now check boxes to control WHAT the starter DOES.
Does it turn on the fuel? Engage the igniters? Arm them? Turn on the ignition?
Check the right boxes for your particular airplane!
New Clutch Model
Clutches available per-engine and per-prop.. have more clutch switches to take individual engines and props off-line.
kind of fun or useful, maybe, in some applications
New Hydraulic Pressure Model
Hydraulic pressure now trends to terminal over some time thanks to regulators to prevent instant changes.
This should allow the pressure to come down slowly on engine shut-down, as in reality.
Also, hook hydraulic pumps up to any engine or rotor, up to all 8 of them if needed, powering the A or B system, or both.
Then, add buttons in plane-maker buttons/engines, to turn those pumps on and off to pressurize the system (or, heaven forbid, NOT)
New Electrical System Model
The generator output should now be much more smooth and steady.
The primary EFIS systems now draw power from any electric bus, whether the avionics are on or not. This is consistent with modern avionics design.
The landing gear only draws current when in the cycle process, as in reality.
You can enter the amperage of each system now to resolutions of a tenth of an amp, up to 999 amps… a much wider range and accuracy than previously.
Hydraulic System Model Improvements
There are 4 engine-driven hydraulic pumps, each individually fail-able.
There are electric and ram-air-turbine hydraulic pumps as well, each with their own pressures.
Now, there is an amperage for the electric hydraulic pump that you can specify along with all the other system amperages.
All pumps pressurize with hydraulic systems, and all hydraulically-driven flight-controls and accessories drive off of the highest-pressure system.
More Realistic Dynamics
We now have more realistic dynamics in the spinning of the aircraft to make spins more realistic,
simulating the intertial-coupling that makes it more likes for planes to enter the dreaded flat-spin.
Improved propeller-sweep dynamics. This gives improved accuracy with propellers that have swept tips.
(the improvement is very very small, because the error in version 9 was very very small for any properly-designed propeller)
Improved hydroplaning model, applying hydroplaning effects only for localized areas of standing water, when the runway is wet and precip is set to near-maximum.
Internal Object-Oriented Redesign
As X-Plane grows in scope to be a world simulator, not just a flight simulator, with many process to fly airplanes by air traffic control, drive cars along the roads and highways, and build forests and cities according to Interesting little algorithms, all at the same time, it becomes clear that the organization of the code is becoming absolutely critical to handle all of these many processes at once without introducing extreme complications and bugs from countless interdependencies. Weather controls absolutely everything that is going on from the deer and birds to the hot air balloons to the rain and snow and ice to the type of instructions you get from air traffic control. Forests are actually planted in front of you on secondary CPUs’s as you fly, and cloud puffs, radar images, and even the flight models of other airplanes are running on secondary CPUs at the same time.
There are countless processes all running at once to drive this virtual world, and if each process is not well-designed and insulated from the others, then crashes, bugs, and chaos will ensue.
So, how do we deal with this? The answer is object oriented programming. Here is how it works: each entity in X-Plane (say, for example, the deer that run across the runways from time to time) is it’s own little object of code. This object is it’s own little bit of instructions and memory, and this object is not allowed ( and in fact does not know how) to access the functions or memory of any of the other objects in the X-Plane world. Each object contains it’s own logic and instructions, and I can safely forget how each object works when I am done coding it, because it is an insulated unit that cannot effect anything else. For example, the deer object will look at where you are so they can run and bound about at whatever airport you are near, using their own little primitive brains to decide where to run based on the size of the airport, weather, time of day, and your location, but the deer object does not know how to change the location of your airplane… Because your airplane is, of course, a totally different object. Since the brains, memory, commands and accessors for each object live within that object, they are not easily messed up by any other object. (a command for an object might be: “deer object! Run out onto the runway! I command you!”, and an accessory for an object might be “deer? Where are you? I need to know your location to plot you!”) you will notice that neither the command nor accessor is actually allowed to get inside the logic or memory of the deer object… That would be dangerous because it kith mess the deer object up. Instead, there is a firewall around every single object in X-Plane that keeps one object from messing up another, and only allowing commands (which the object can follow if it deems fit) and accessors (which the object can provide safely)…other object cannot go through this firewall to mess with the internal logic of each object. This object-oriented programming is what makes something as complex as X-Plane 10 possible. In the movie “the matrix”, it was clear that the virtual world was complete, and made of countless computer programs all running at once… And this is where we are going with X-Plane 10: a virtual world, not just flight sim, where countless things are all happening at the same time. Now, one obvious fallout of this is that you will want your commuter to have processors. Lots of them. With my 8-CPU, 16-core Macintosh, I saw over 100 frames per second (with no scenery) with 20 planes all flying at on e yesterday. Try setting the number of planes to 20 in X-Plane 10 and see how fast it runs. The difference is that X-Plane 10 has each airplane as it’s own object, and each object running on a different CPU, all at the same time. Multiply this by the ever-growing forest (the trees have to be planted in front of you as you fly… You do not have the ram to memorize them all) animals, cars, air traffic controller, boats, ever-changing weather, and you start to see why it will take a lot of CPUs to run this whole world. But, an interesting thing is that with no scenery, I am seeing X-Plane 10 run much faster, and use less ram, than X-Plane 9… This is because the objects are all packed so efficiently with minimum ram use, and run many at the same time to give more speed. (note: this ram check wax done before I finished installing the new weather system. The new weather system, when complete, may cause the total ram use to be slightly greater in the won-scenery-case… We will see when the weather system is done. Interestingly, the system that determines what the weather is in X-Plane 10 uses almost zero memory!!! This is because the weather is stored as a fiendishly-clever little algorithm that tells X-Plane what the weather is at any given location and then promptly forgets what it just said. This gives all the variation in the weather we could want, but without using any ram at all! It does use memory, however, to memorize where to draw the clouds. The drawing part must be memorized for speed, because the video card can only do it’s work fast if you hand it the whole world of clouds to draw at one time… Not one little cloud-puff at a time. So, for speed, we must use memory to store the location of every cloud-puff in the sky, but not the weather tat caused those cloud-puffs to exist: that part was done by the weather making object and it’s own internal algorithm.
Another nice thing about this object-oriented system is that it makes it much easier to track down and solve bugs without causing new bugs to appear by solving old ones. Because each object has it’s own logic and memory, any bug should, in theory, be traceable back to the object that is malfunctioning, where it can be fixed without affecting any other objects.
So, while X-Plane has been gradually broken down into objects for some years now, with version 10 we are really making it all object-oriented internally, and combined with the multiple-threading, the results are really quite impressive.
New Features for Designing Aircraft
I have been doing some design-work on a potential real airplane recently, and am using Plane-Maker and X-Plane to help.
As I do this, I see new features that would be great in X-Plane to help, and am adding them for Version 10.
Here are the ones I have done so far:
New weight and balance calculator in Plane-Maker!
Enter the locations of fuel, passengers, cargo, etc, and Plane-Maker will plot the range of weight, and center of gravity, that will result.
This lets you see where the fuel, passengers, and cargo should go, and how wide a CG range you need to enter in the CG range section!
New data output: Trip stats. This lists miles per gallon, range, speed, and endurance all in one output… very good for rapid evaluation of an aircraft design!
To use it, load up with the fuel and payload that you want to test with, and take off and climb to cruise altitude and get established in cruise.
X-Plane will look at the fuel used and distance covered to climb to altitude, and the speed and gas mileage you are getting at the moment, and use this to instantly predict the
TOTAL range and endurance of the flight, based on the climb that you just made, and extrapolating the cruise condition to dry tanks.
New control of the landing gear. Each gear may be given it’s own steering angles, eagle-claw angles, and presence of brakes.
This lets you do the eagle-claw configuration of the 757, the aft-steering option of the 747 and A-380, and other interesting gear configurations with good accuracy.
New checkbox in plane-maker viewpoint screen: STROBE lights. This lets you specify strobe as well as nav.
New item in the SPECIAL menu: View Bouncers. This option lets you see little line-charts of the bouncer positions as they bounce around in flight. These are bouncers that you set up in the SYSTEMS screen in Plane-Maker to drive datarefs that can then be hooked up to various objects in the cabin if you make a custom OBJ for the airplane.
They can be hooked to things like maps, bouncy rattling old instruments, or perhaps sleeping dogs in the back seat, as they will float about the cabin and bounce with rotor or prop vibration, and turbulence.
We now have a new sound: fire bell. This will go off when ever an engine catches on fire. Kind of useful. And easy to customize: It lives in the sounds/alerts folder.
Now you can make the weapon appear as any object you like instead of the standard weapon geometry… this can let you make better drop-tanks, weapons, etc. Simply choose the object (WHICH MUST LIVE IN THE SAME FOLDER AS THE WEAPON FILE ITSELF) in the weapon-editing screen in Plane-Maker.
New User Interface
Plane-Maker lets you look at more fuselage sections on wider monitors. This makes editing a hair easier.
Powerlines show up better on the maps… Little powerline icons run along the vector so you can easily tell powerlines from roads!
Obstacles show up on the sectional maps as well. This just makes the maps a bit better!
Plane-Maker: When you specify to edit in METRIC in the viewpoint-screen, you get weights in KG as well.
Plane-Maker: Undo and Redo menu items that show the keys so you have a convenient key-list as well. This just lets everyone know what the undo and redo keys are, really.
much easier to edit the wing chord on a per-element basis
simply enter the leading and trailing edge offsets now.
New Features for Flight Training
dual GPS system: you can have 2 gps’s or garmin 430’s, each with a different destination… if you want.
more equipment failures.. gps and adf and nav com 1 and 2 individually-fail-able.
joystick-button command for the timer MODE. select it to move the GA and BC chronos into timer or clock mode to run the timers
hobbs meter only builds up time when the electrical system is on… not otherwise
the autopilot on dg-equipped planes will fly the dg heading.. no matter how badly mis-calibrated the old dg is! so a mis-calibrated dg will result in an equally-confused autopilot, as in reality!
pitot-tube blockage totally blocks the pitot system, freezing the airspeed indication, but ICE BUILDUP on the pitot tube causes the indication to fall off as the ice builds, disrupting flow into the tube… pitot-heat will solve that one!
this is just a little more detail for excellent flight-training
real garmin 430, 430 waas 530, and 530 waas support.. the ultimate in garmin 430/530 training, with and without waas
indicated airspeed for supersonic flight should now be more accurate
engine-fire annunciators available for all 8 engines, not just ‘left’ and ‘right’
flaps are electric, and depend on the electrical system to be working, if they have a current specified in the bus menu in the systems windows in plane-maker
flaps are hydraulic, and need a hydraulic source, if they are checked to do so in the systems window in plane-maker
if neither of these are the case, then they are manual, and will move by hand, regardless of electrical and hydraulic status
failures window should do a better job of filtering out systems that you do not have for failure-presentation
for example, you should not see a ‘landing gear retraction’ failure on a plane that does not have retractable gear
slung-load is tracked in replay… kind of fun if you are dragging slung loads around under a helo
set-to-gross-weight in the weight and balance screen loads you up properly, even considering any ORDNANCE you might hav on board
rudder trim effect drag-rudders as well
no more skidding sound when touching down on grass
cd plot in airfoil-maker at half the scale, letting you see twice the drag… this lets you do lo-reynolds numbers foils for small rc planes,
but certainly does not prevent you from continuing to do larger planes at higher reynolds numbers as well
in the LIMITS screen of Plane-Maker, you can now enter the pressure supplied by the electric backup fuel pump,
and the pressure below which you will get a low fuel pressure warning…
this lets you get the fuel pressure modeling just right.
Other New Features
new commands for rotor rpm trim
set the rotor rpm trim in plane-maker, and use commands in X-Plane to run it up and down
bomb craters do smoke if the bomb does have a warhead
overhaul of the entire system for setting external visuals, IOS’s, etc
the net screen is laid out in a much more intuitive format, and there are options in the rendering options screen
to default to panel view, default to full-screen-no-hud view, or lock to panel view,
to handle all supported configurations of master machine, external visual, external cockpit, etc.
the engine fire bell and warning lights are no prortrayed more accurately.
here is the sequence:
1: there is an engine fire
2: the BELL starts playing
3: the master WARN (not caution!) lites up
4: we hit the master warn button
5: the bell shuts up
6: the lite stays on until the engine fire is put out
Pretty fun new situation in the aircraft and situation window. get in the NASA 747 and try it out! You can carry the Space Shuttle!
AURORA BOREALIS is now 3d not 2d like it was before.
we are simply moving everything over to real 3-d multi-processed geometry, with fewer and fewer 2-d overlays.
button in joystick screen to do the joystick and frame-rate test on startup… or not, as requested by users.
new projector-test menu item in the special menus is really nice for multi-machine setups
new options to blend the projector images to make big sims, with instantly-visible result as you tweak the adjustments.
new failure: flame-out.
turn on the igniters to get the flame back
new failure: battery failure.
will get pretty exciting if you this is coupled with a generator failure or two