Things That Are Not Jokes
Just to clarify, these things are not April Fools Day jokes.
- RC3 coming out.
- The installer installing to the desktop.
And as always, relax, you will be able to put the install anywhere you want via the “destination” button.
Just to clarify, these things are not April Fools Day jokes.
And as always, relax, you will be able to put the install anywhere you want via the “destination” button.
I am intentionally announcing a decision that might make experience X-Plane users unhappy – my goal here is to solicit arguments against it (if there are any) since it’s a sort of a strange change.
The proposal is to make the default installation location for a new copy of X-Plane be…the desktop.
EDIT: to clarify some of the blog comments, this is a default installation location; the user will be able to customize both the folder name that is created to contain X-Plane (default will be “X-Plane 9”) and the folder into which this new X-Plane 9 folder will be placed.
The desktop? What are you hacks thinking? Well, here’s what we’re thinking:
The desktop solves all of these problems. Every user has write-access to his or her own desktop, and every user knows where it is.
If, like me, you don’t want X-Plane on your desktop, you can simply click the “destination” button in the installer to put it somewhere else.
As a final note, the strongest alternative to this on Windows was to put the app in program files and build a start menu short-cut. But this starts the sweater unraveling…if we have a shortcut, we need an uninstaller rather than trashing the folder…if we have an uninstaller, how do we cope with multiple installs…by the time you solve these problems you have a huge amount of new untested code.
I’d like to get a more Windows and Mac interface compliant installer, and we’ll get there eventually, but the work I’m doing now is aimed at the biggest real problems we face:
Okay, there it is, fire away!
There’s a bug in X-Plane 900 RC2 that will be fixed in RC3. Basically when you’re flying in the Cirrus with a friend (also using the Cirrus via multiplayer) you’ll see your own control deflections on his or her plane.
(Note: this second feature only works correctly in RC3.)
Generally opt-in is the safest thing we can do to leave previous content working; if we make a change globally then we break any content that doesn’t work well with our changes. Datarefs are used so heavily that a fundamental change in how they work would probably not be safe.
In other words, when the pitot tube ices up, sim/flightmodel2 shows the real airspeed and sim/cockpit2 shows the incorrect airspeed. When the hydraulic system fails, sim/cockpit2 shows that the pilot wants to bank, and sim/flightmodel2 shows that the ailerons aren’t really moving much.
X-Plane 9 allows you to put roads in an overlay DSF, but this isn’t actually that useful yet. The problem is that roads are specified using MSL elevations – that is, they are positioned in absolute space. So you have to know where the ground is to build a road, which defeats the whole idea of an overlay.
Like most philosophical things I debate, this isn’t scheduled to go into the sim that soon. Improved shaders, a more complete airplane SDK, and a better texture pager are all ahead of road improvements, which pushes roads out quite a bit I think.
The livery system lets you replace the image files used by an aircraft’s exterior paint, and it lets you replace the image files used by the objects that are attached to the plane via the “objects” folder.
But the livery system does not let you replace the objects themselves.
(It also doesn’t let you replace or modify the actual ACF file or generally change the functional behavior of the plane. The livery system is just for paint, not airplane mods.)
Nine women cannot have a baby in one month – that’s the classic example that gets thrown around computer science for the difficulty of parallelization – that is, just because we have ten times as many resources doesn’t mean we’re going to go ten times as fast.
Problems of scalability via parallelization have become very important for graphics engines as everybody and their mother now has at least two cores, and users with more serious hardware are going to have four.
I get asked a lot: “will X-Plane utilize X cores…” where X is a number larger than two. My general answer is: sometimes, maybe, and probably more in the future. I can’t make strong predictions for what we’ll ship in the future, but the general trend for the last 18 months has been us using more cores every time we go into a piece of code to do major architectural changes.
I’ve been doing a lot of work on the installer this week – the first major overhaul of the installer since we originally coded it all the way back at X-Plane 8.15. And the new installers and updaters will try to take advantage of multiple CPUs where possible. A few cases:
Now on one hand, our top performance goals are for the sim, not the installer. On the other hand, faster installations are good. But my main point here is: when we wrote new code four years ago, we assumed one CPU and a nice graphics card. We now assume at least two cores and possibly more, and that informs the design of every new feature, not just the rendering engine. If we don’t create a multi-core-friendly design, we’re effectively leaving at least 50% of the CPU on the table.
If you look at the about box for X-Plane 9 RC1, it still lists itself as a beta.
Here’s the thing: that label is dynamic. Right now when X-Plane calls up the server to see if there is a new patch, it notices that its current version (900Rc1) is newer than the latest “final version”. (This is because we haven’t declared any version of 9.xx final yet.)
So it thinks for a second and goes “oh – I’m newer than the latest final version, I must be a beta.” And that yellow beta label appears.
When we finally declare a version final (which involves tweaking the versions listed on the servers) the existing code will then look at the server and go “oh, I’m the latest version” and that beta label will disappear.
Let me answer two questions right now:
Now about this global scenery folder…
X-Plane stores its scenery in packages – a scenery package is a folder that contains all of the files needed for a given scenery element, whether custom or default. In X-Plane 7, scenery packages were only used for custom scenery, and always lived in the Custom Scenery folder directly next to the X-Plane application. This provided an easy way for users to drag third party packages into a single location to install them. (Before the custom scenery folder, installing scenery could involve a lot of “put this file here, and that file there”.)
X-Plane 8 added a second location, the Default Scenery folder, which is hidden away inside the resources folder; it acts as a repository for scenery packs we ship with the sim, such as the one that contains various airport elements, and the default road packs.
In X-Plane 7 the global scenery lived directly in the resources folder in its own home; in X-Plane 8 the global scenery lives in packages inside the default scenery folder…this allows us to use one piece of code (the package loader) to load all scenery, custom and global.
The only real differences between the default scenery and custom scenery folders was priority and intended use; custom scenery is loaded with higher priority than default scenery (so you see your custom add-ons replace our default work), and the intention is that the default scenery is for Laminar to update via the web-updater and custom scenery is for you to put things into that you download off the web, etc.
With X-Plane 9 we are introducing a third location for scenery packages: the “Global Scenery” folder. It will live next to the Custom Scenery folder and X-plane application and be the location for global scenery. Its priority is intermediate – higher than default but lower than custom.
Now here’s the funky thing: the X-Plane 9 beta DVDs place the global scenery into the custom scenery folder. If you’ve ever looked at the ranking of scenery packages, you’ll see that they come out lower priority than all custom scenery, regardless of the alphabetical sorting that is usually used. The sim recognizes the peculiar placement of the global scenery and effectively labels it “global”.
Future DVD pressings will simply place the global scenery in the new global scenery folder. Thus we get to the original two answers:
I have posted the first “combined” scenery tools release. Basically ObjView, ObjConverter, and DSF2Text (now named DSFTool) are packaged together with DDSTool (for making DDS images from PNGs) and the new MeshTool (for making base meshes); a UI application called XGrinder provides drag & drop support for most of the converters.
The tools releases will be by month (e.g. March 2008) and each release will contain the latest for all of the tools in the release. WED and the AC3D plugin will continue to be separate downloads.
I have also posted another snapshot of the source code, and generally I’ll try to do a source code post whenever I do a tools post to keep the two in sync.
The AC3D plugin has been updated; I hope to have a new WED posted in the next few days.
X-Plane 9.00 is going to be going final pretty soon – we’re on RCs right now. But this is hardly the end of the road; rather it’s the first step for a number of new development areas. What comes next?
Tools: I am working on tools releases now; a few users already have alpha copies of MeshTool. My hope is to have some new tools posted tomorrow, with more by the end of the week
More rendering engine/shader work: X-Plane 9 only begins some of the shader work we want to do; more engine enhancements will be coming in 910. Like 9.00, more advanced rendering will consume more hardware, and will be scalable via rendering settings.
Systems and Airplane SDK: X-Plane 9 introduced a lot of new features for airplane modeling, but there’s still more to do. I hope to have the panel region system and advanced lighting options all fleshed out for 9.10. Austin is doing a lot of work on systems modeling. We’ll be making more new airplane-related datarefs to tie it all together.
Orthophoto Scenery: I don’t know if this is going to happen or not, but we get more and more requests for large-orthophoto-scenery support in X-Plane; MeshTool is only going to increase that desire by making it possible to cover large areas with orthophotos without sacrificing framerate. So I would like to do some work on the texture pager, but I do not know if I’ll be able to do that in time for 9.1.
My hope is to get 9.1 into beta early so that we can start getting third party aircraft authors involved with trying new features. If you are working on an advanced airplane, keep in touch!