Category: Scenery

When Are We Going To Get High? The Plan For Cities

I realized the other day that while Chris and I have discussed cities with a bunch of people, I left out the city plan from my series of “road map” blog posts a while back.

The picture on the right is downtown Seattle from the upcoming X-Plane 10.04 beta 7, which includes an update to the urban art assets: new facades, a bunch of lit textures, and careful library tuning by Propsman. (There’s also some clever use of spill lights next to the tall buildings.)  This update is part of ongoing work to build out our new city autogen; this post will explain the road map for that work.

A Radical Approach to Cities

Before I describe some of what’s failing in the current city scheme, how it’s supposed to work, and what we’re doing to fix things, let me take a few paragraphs to describe the “big idea”.  Cities in X-Plane 10 are completely different from X-Plane 9, and they’re completely different from any other flight simulator that I’m aware of.

Before X-Plane 10 there were three approaches to cities that I am aware of:

  • Land class tiles.  You create repeatable square orthophoto textures of cities and put matching 3-d on top of them.  What’s good about this technique is that it runs on really minimal hardware, it looks good without using a lot of resources, and it’s fairly easy to code.  The down side is that you will not get accurate cities.  There is no way to use additional data to put roads or buildings in their actual correct places.  You will always get a plausible but non-accurate city, a “city in theory”.  This is the technique X-Plane 6 and 7 used, and the technique FSX uses.
  • Vectors over land class tiles.  You create repeatable square textures of city (just like above), but instead of attaching the 3-d to them, you build your 3-d off of real vector data.  This is what X-Plane 8 and 9 did.  What’s good about this technique is that it runs on modest hardware, and it puts your roads and buildings exactly where they should be.  The down side is that the 3-d is completely misaligned with the textures underneath, creating a “stew” effect when viewed up close.  (Some users consider this mismatch absolutely unacceptable; others seem to not care.)  There’s no question that the texture mismatch is not plausible, but the shape of the city is accurate.  This is the technique X-Plane 8 and 9 use.
  • Fully custom cities.  If you can afford custom non-repeating orthophotos of the real city and you have the matching 3-d data, you simply build the city and everything matches up.  This is the ideal way to build a city, but it assumes custom data for every city; this is great for custom scenery but not scalable to a global product.  It is plausible and accurate but not global.

For X-Plane 10 we wanted a way to have it all: a city that was plausible (e.g. looks good and doesn’t have weird artifacts) but also accurate (e.g. shaped like the real city, using data that’s now available – we can know where every road is, and even some of the buildings) and for the default sim, our approach has to be global; we can’t simply build a custom city for every city on the planet.  And when we looked at the technology out there, it looked like it was for the first time possible.

Here’s what we came up with: in X-Plane 10, the unit of autogen is not the landclass orthophoto tile (a 1 km x 1 km square of terrain whose entire interior is defined by the texture and 3-d).  The landclass tile has wonderful properties, but it’s just too big to be accurate for a real city.

Instead X-Plane 10’s unit of autogen is the city block.  Each city block is an individual autogen unit, and the autogen is capable of flexing and shaping itself to fit the demands of a real road grid based on real data.  This means we can have plausible autogen with tons of detail while sitting inside the real road grid of a real city.

This approach is significantly harder than using landclass tiles.  Each autogen primitive needs to be able to resize and contort itself to meet the demands of real world data while still looking like it was meant to be there. The road grid has to look really good even as it is built from vector data, because we can’t just bake the pictures of the roads into the terrain.  The terrain has to contain no city details in the near view (because the autogen defines where there is city), and the autogen buildings have to have “skirts” of orthophoto that they drop down to put their driveways and other ground details in place.

Then the rendering engine has to somehow take all of these disparate parts and render them at high speed!

So Does It Work?

When the new system works, it really does work and we get plausible and accurate cities with good performance on a global scale.  But this system is entirely new – because it is such a radical change ,we couldn’t recycle any art assets or code from previous versions of X-Plane and thus it is very new, and frankly a bit raw.  So when it fails, the artifacts are sometimes quite spectacular.

As the system ships now, a few things tend to go wrong; I will describe what’s going on under the hood and what we expect to do to fix it.

Crazy, Deformed Roads.  This is the most common reported bug.  (Hint: please stop reporting this.  I know about it already.)  We feed extremely detailed road data from OpenStreetMap into X-Plane; unfortunately due to bugs in the code, sometimes when X-Plane analyzes an overpass, it can’t figure out how the roads should stack up, and it instead creates some kind of ridiculous bridge, e.g. a road that shoots straight up into the sky or a giant 1000-foot tall arch.

The good news is: this is just a bug in the rendering engine; when I fix the bug (which I hope to do for the 10.05 patch), the artifact should go away without the need to redo any DSFs.

I brought this bug on myself by insisting that the roads be draped on the terrain.  X-Plane 9 placed roads at absolute altitudes in 3-d space, which was easy for X-Plane, but meant that roads weren’t easily used in an overlay.  For X-Plane 10 I wanted to make it easier to work with roads directly; once the road bridging bugs are fixed, this should be doable.

The road system is already doing a number of things we are pretty happy about though:

  • Roads are made of bezier curves.  Once we go 64 bit we’ll be able to crank up the smoothness factor for users who have a lot of RAM.
  • The road junctions are flexible – that’s how we get clean, real, custom-looking junctions out of raw vector data. Over time we can add more junction definitions to make nicer looking overpasses.
  • City roads drape on the ground, avoiding Z thrashing and some of the other ugly version 9 artifacts.

Where Are the Buildings?  The second bug report we get is that cities don’t contain enough big buildings, or enough sky scrapers.  Most commonly the problem is residential houses appearing downtown.

The problem here is that the new autogen requires new art assets; we couldn’t just reuse our substantial pile of buildings from X-Plane 9.  So we’re building more buildings; what you see in the meantime is the existing art assets shoved into the wrong kind of library slots.  Once we have more appropriate buildings for a given library slot, things should look better.

We have also discovered some cases where the placement of autogen in the DSF isn’t very good.  This was the first global render where we built the new autogen and there are some clear cases where we can do better.

So when it comes to building placement, things should get better by putting more art assets in a net update; we’ll probably recut some major city DSFs to get even better use of that autogen.  (One nice thing about cities: there aren’t that many of them.  There are over 18,000 DSFs in the global scenery, but the top 100 cities world-wide..well, that’s probably about 100 DSFs.)

There are two aspects of the buildings that are already working right now:

  • There is a ton of detail.  If you get in close to the autogen, you’ll see a scene similar to what you might get in a custom scenery pack.
  • It’s fast.  You can max out the road and building density on today’s hardware and get 25-30 fps.  Compare this to X-Plane 9 where even four years after the product shipped, “insane” objects is often not reachable.

I put Seattle from v9 on an i5 machine for testing and compared it to v10 with insane roads, insane autogen, moderate forests, and shaders.  I got > 25 fps in v10 vs. approximately 5 fps in v9.  We’re going to try to keep that kind of capacity for huge amounts of autogen with high performance as we add more building types.

One last note about autogen and buildings: in X-Plane 10 the autogen can optionally be “height sensitive” – in this case the buildings in the autogen block take on an AGL height based on the DFS.  We only use this for appropriate autogen types.  For example, a dense urban city block might be height sensitive (since the DFSs contain heights for skyscrapers) but a block of residential houses is not height sensitive – they’re always just little houses.

In most cases the height data is already in the DSF; once we get the right autogen art assets in place, they should start repsonding to the height data.

Green Terrain.  The third bug report I hear about is green terrain – that is, a city is filled with nothing but a big green expanse. To understand this bug you have to understand how our autogen creates the look of the terrain.

Austin posted in one of his early rantsmanifestos that we would build the terrain from the ground up, with green grass for the ground and no cities if 3-d is not enabled.  This is a massive simplification of what actually actually happens.

The terrain is a composite: the actual base terrain is indeed devoid of any recognizable city details – because they will come from overlays.  The ground instead contains “natural turf” patterns that try to impart some detail while accepting overlays.

The road grid then puts down a layer on top of the ground, with sidewalks and the actual pavement.

On top of that, the autogen system puts down a ground tile for each building.  (One autogen block consists of multiple tiles, and the tiles are moved around to fit the block shape.)  The tiles are mostly transparent, but contain details that mask parts of the ground, such as sidewalks and driveways.

Thus the combination of three layers (ground, road and autogen ground tiles) composite together to form the kind of detail that you would normally get in an orthophoto.

So when we have green terrain, there are actually several problems conspiring to ruin this “composite orthophoto” effect:

  • If we don’t have the right autogen buildings (see above) we won’t have the right ground tiles.  More buildings will help fix this.
  • It’s actually a bit tricky to build the ground terrain that can sit under the autogen; the only really complete climate we have supported right now is a northern climate (which works well in Seattle).  So as we add more urban base terrains the bottom layer will start to work better.
  • When you turn down autogen density, some autogen city blocks disappear.  This is a hold-over from version 9.  What we want to do is keep the base tiles but remove the 3-d  when you turn the rendering settings down.  This will lighten the rendering road, but the 3-layer orthophotos will still look good.  (Similarly, we’d like to reduce detail but keep all roads for lower road settings.)

In other words, once we have more buildings, more ground terrain, and a better way to turn down detail, the terrain should look more like a real city under a wide range of rendering settings.

(If you’ve really watched the sim carefully, you may have noticed that the ground textures actually crossfade from “just grass” to orthophoto-like as you get farther away from them.

What Next?

Everything listed above represents incremental improvement of our cities – more art assets, bug fixes, smarter LOD and rendering settings.  But that’s just the beginning.  I believe that what we have on our hands is a fairly big fundamental improvement in how cities are handled: we have a way to build cities that provides a huge amount of up-close detail while working from detailed data (and representing that data), and it can run at good fps on today’s hardware.

Down the road I think we’ll be able to integrate and utilize OSM data to get even more detail into our cities and further push the envelope for how much detail, realism and accuracy we can get into cities at a global scale.

Posted in Development, File Formats, Scenery, Tools by | 45 Comments

New X-Plane Beta, new WED Developer Preview

Announcements on the plethora of betas that went up this weekend.

Edit: beta 5 is temporarily offline while we resolve a missing scenery texture.  So you’ll get beta 4 if you update.

X-Plane 10.04 beta 5 is now available.  Release notes here.  I think we will be winding down the 10.04 patch in the next week and going on to 10.05.  There are a number of cosmetic bugs that I hope to get fixed shortly; it looks like they’ll have to go into 10.05 and not 10.04.

What’s the logic behind this patching?  Basically we’re going to keep doing small patches until we get a certain set of bugs fixed – bugs that we think are important and that we can fix without tearing the sim to bits.  The patch runs sometimes have to be closed off to burn new DVD masters* (this is the case with 10.04).  In all cases, if you don’t want to deal with beta chaos, you can ignore the betas and get a new patch every few weeks with a little more performance and a few more bugs fixed.

I spent some time yesterday retuning cloud performance and the effect of the cloud rendering setting.  Besides trying to find a better performance-quality trade-off point, the old slider had way too much range on it.  It defaulted to 50%, but that 50% point really represented “a good setting for a high end gaming desktop”; going past that would put you into the range of “this isn’t ever a good idea, but the engine can do this without crashing”.  The side effect was that running at 25% clouds (a very reasonable setting) would feel demoralizing because the setting scale was so vast.

The new scale marks a “100%” point at about where I would put it for high quality if you’re just sitting on GPU power (e.g. small screen, nice GPU).  You might still want to turn it down for performance reasons.  The range from 100%-150% is highly experimental land…if you want to turn it up to eleven, we’re not going to stop you.

WorldEditor Developer Preview

There is now a binary build of WED 1.2 (download here).  This is a developer preview: WED is still in environment and doesn’t meet the criteria for beta software.  Basically: do feel free to poke around with it, but don’t use it on your real work.  Don’t edit your scenery packs with it – make a copy first.  WED 1.2 has not been tested enough to use for production yet!

The main feature of interest is ATC taxiway editing: WED 1.2 contains complete support for taxiway networks, as well as “flow” information to control the direction of operations.  A number of weird ATC bugs actually stem from the automatically generated taxi layouts that X-Plane produces when the apt.dat layout contains no taxi information.  By providing a custom layout, you can get the AI planes to behave quite a bit better.

* We periodically re-burn the disc 1 master to put the latest sim on it whenever we are preparing new DVD inventory.  If you have an old DVD, please do not panic!  Once the updater is run, the sim looks the same no matter which DVD you have.

Posted in Air Traffic Control, Development, News, Scenery, Tools by | 51 Comments

New DSFTool Available

Chris and I bashed at the developer site (that is, this site today); sorry about any dead URLs – things should be more stable now.

I have (finally) posted a new build of XPTools; there are two items of note:

  • The new build of DSFTool, which can read and write X-Plane 10’s DSF raster data layers.
  • The new DDSTool can write gamma 2.2 DDS files for X-Plane 10.  This should provide better color fidelity for content that targets only X-Plane 10.

 

Posted in Development, Tools by | 18 Comments

Scenery Tools Update: WED 1.1, Documentation, and Website Changes

We’ve been making steady forward progress with the scenery tools over the last few weeks; finally there is some stuff to see.

Moving the Website

First: we’re moving the scenery tools into WordPress.  All of the new tools and docs are hosted at developer.x-plane.com; over the next few weeks I’ll try to make the theme less bare-bones.  As I update documentation to version 10, I will move it here.

What about the Wiki?  We are retiring it as our content management system.  MediaWiki makes everything possible, but it makes nothing easy.  Well, that’s not true – it makes it easy to collect link spam.

We can possibly keep the Wiki open on a smaller scale for developers, but my preference is strongly in favor of a mailing list.

New Tools

The first binary tools release is a final version of WED 1.1.  If you have been using a WED 1.1 beta, get the final one – it fixes some bugs and adds control over object density in custom scenery.

I will have binary releases of the base scenery tools pack including DSFTool and a WED 1.2 preview over the next few days.

New Documentation

The DSF specifications are updated – see here.  The DSFTool binary will let you create version 10-style DSFs.  I will continue to update the documentation over the next few weeks.

New Source Code Repository

The scenery tools source code is now natively hosted in GIT – previously it was hosted in CVS and was bridge to GIT for public preview; the bridge broke down during v10 development a few months ago.

Chris and I are now using GIT internally, putting us in sync with the Linux community; if you want to work on the scenery tools or modify them beyond patching, you can clone the repository and merge in changes.

Posted in Development, Scenery by | 23 Comments

Three Kinds of Optimization

I spent a few hours last night working on X-Plane’s facade engine – that is, the part of X-Plane that builds buildings, fences and structures from their shape traced on the ground.  Besides fixing some v9 compatibility bugs, I had a chance to add in a few last features that didn’t quite make the 10.00 cut.

I used Tom’s “classic”-style parking garage (you’ve seen it – it’s the one used at KSEA in the demo area!) to test some of my work; some of the work on the facade engine illustrates three different ways to optimize a program.

Be More Efficient

The first way to optimize is to find ways to accomplish the same work in less time – that is, to write more efficient code.  This is certainly the least risky form of optimization: there’s no trade-offs, you just get more for your hardware dollar.

In the case of Tom’s parking garage, after putting geometry in place for the roof of each floor (to fix a rendering bug) I noticed that we were building the mesh for each floor twice – once for the roof of the level and again (but facing in the opposite direction) for the floor of the next level.  I added some code to the engine to recycle the mesh, but create duplicate indices; now two-sided roofs in facades use about half the vertex count.

There are still a number of places in X-Plane 10 where we can be more efficient.  But rewriting code to be better takes time; these performance changes will come out incrementally, and any one change may not be that noticeable.  What is important though is the net effect of improving efficiency over and over again.

Cheat!

This sounds negative, but when it comes to computer graphics, cheating is preferable.  Clouds behind the panel?  Just cheat – don’t draw them!  Trees too far away?  Use a billboard!  No airplanes in the game?  Use a painting for the sky and don’t bother with 3-d clouds.  What I am referring to here is finding ways to deliver the appearance of eye popping graphics for significantly less work.  This kind of optimization is critical to making a competitive rendering engine.

In the case of Tom’s garage, the facade engine puts the same number of cars on every level of the garage.  This is hugely wasteful; while you might want cars on the roof, you don’t need very many on the lower levels.  The lower levels are only visible from the side, and from the side even a few cars are enough to create the appearance of a non-empty garage.

So I am adding to the facade engine the ability to specify mid-level objects and roof objects separately; Tom can use that to “thin out” the objects in the garage. The result will be a big reduction in OBJ count for almost no visual quality loss.

I think there’s a lot of fine tuning we can do like this to make sure that we spend our hardware budget only on things that really matter most.

Scale Down

This isn’t really a type of optimization, but it’s important to make sure that the rendering engine can throw visual detail out to meet the requirements of older computers.  One of the problems with X-Plane 10 is that some parts of the rendering engine only have one mode: “maxed out”.

10.04 beta 2 will allow facades to specify attached objects (like the cars on the parking garage roof) that decrease in density with the rendering settings.  The result will be a full garage when objects are on “insane” but a mostly empty one with just a few cars when objects are on “default”.

Tom and I are working to put this kind of object density control in all of Seattle (as well as the airport library it uses and the rendering engine components that the library uses); the result should be a Seattle demo area that becomes significantly cheaper when the rendering settings are dialed back just a bit.

Posted in Development, File Formats, Scenery by | 15 Comments

Collecting Legos (or: the Roadmap For Airports)

I had a chance to catch up with Robin the other day and discuss airports with him.  Here’s the basic road map for airports in X-Plane 10.

In version 9, an airport consisted only of taxiway layout data.  Robin collected and managed a big database of contributed airport taxiway layouts, which are available under GPL and ship with the sim.  WED 1.0 lets you edit these layouts.

In X-plane 10 we now have three categories of airport data:

  1. The taxiway layout – this lives in the apt.dat file.
  2. The ATC taxi layout and flow information.  This also lives in the apt.dat.*
  3. Lego brick building placements.  This lives in an overlay DSF.

Our plan for the version 10 run is to collect all of this data together and redistribute it all, just like we do the current apt.dat file.

We also plan to build a few airport building layouts ourselves, using the existing lego bricks, without custom elements.  This will help us further debug the bricks, get users some more airports quickly, and help us understand the authoring process.  We have some of Tom’s time earmarked for this.

WED 1.2 will support taxi layouts and airport building placement.  Based on my talk with Robin, I believe I will also need to build a more specialized “Send to Robin” export function that pre-checks and packs the submission to streamline the process; since an exported airport will include DSFs and apt.dat files (and should not contain custom OBJs) having the packing be automatic will save everyone a lot of time.

What about autogen buildings?  I don’t know.  We wanted to try this before we shipped and ran out of time.  I think we could autogen buildings for small airports that just have buildings next to the autogen taxiways, but for custom layouts I don’t know that autogen will ever be good enough to make humans happy.

Over the next few weeks I’m hoping to have more time to roll out tools and documentation to move this process forward.  The library is already complete, so the quicker we can get everyone using it, the better.

* If you have an airport layout wihtout taxi layout and flow information, X-Plane automatically generates default flows and layouts.

Posted in File Formats, Scenery, Tools by | 9 Comments

Where Is My Water (The Roadmap for OSM and Vectors)

In my previous post I announced that we have the ability to recut DSF tiles in an update and that we have already started doing this.  I pointed out that we’re not signing up to recut the whole planet because we don’t how we will manage distribution yet.

This sets us up to talk about OpenStreetMap (OSM).  First the basics:

  • The X-Plane 10 global scenery gets its vector data from OSM – that would be roads and water.
  • X-Plane 10 does not get its raster data from OSM – we get land class and elevation data from a composite of sources , both integrated by Alpilotx using a mix of tools I wrote and some GDAL/GRASS voodoo.  (I think he may have had to sacrifice a live goat.  I try to not ask questions about what goes on with the raster data!)
  • OSM is the only source of water body data in X-Plane 10.

The result is a lateral move for water body data quality and an ironic one: for the first time the US isn’t the area of the world with the best data sources.  OSM coverage in Western Europe is often near complete.  By comparison, the US is still quite sparse.*  The result is that water bodies that were present in the US in version 9 are now missing in version 10.

(To make matters a bit worse, the OSM extract for the global scenery is from July.  I had to take an extract and stop updating to stabilize the scenery development process.  We’ll take new extracts in the future but what you see now is months older than the current OSM data, not weeks.)

Why didn’t we use multiple water data sources?  There were two problems:

  1. We ran out of time.  It’s really tricky to integrate multiple data sources that don’t line up spatially, and while we had some promising tech, it made the DSFs worse as often as it made them better.
  2. Because all other sources of water were not in OSM, we had the potential for road/water conflicts, which makes the integration very tricky.  In the old days when we used terrible VMAP0 data for roads, we could just nuke the road if the water didn’t match.  But OSM road data is quite accurate and we didn’t want to manually edit it.

So my thinking is that what we really need to do is make OSM as good as possible and then recut tiles.  Improving OSM improves the global scenery in the long term, everyone can participate, it helps everyone using OSM, and once OSM has the correct water data, getting it into a DSF is just a matter of recutting the tile.  If the water data is all in OSM, then we don’t have to worry about water/road conflicts.  This is the true power of using OSM: for the first time we can all focus on the source data, because the source data is public and community owned.

I did some work a few months ago to prepare NHD (the US national hydrography dataset) for OSM use.  I am hoping to find a little bit of time to continue with this effort – my goal was to make it easier for people to import high quality NHD water into OSM, but there were some unsolved workflow problems when I left off to focus 110% on getting v10 out the door.

What Other OSM Data?

One question that comes up over and over is: what other OSM data will you use?  The short answer is that I don’t know, but I think individual building shapes is not on the short list.  The problem is that I don’t think we can adopt our autogen at the quality level we like to such arbitrary shapes.

That doesn’t mean that other third party scenery can’t use the data now, or that we won’t use it someday.  But it’s not next on my list.

One type of data that I do think we could make good use of is “point of interest” data – e.g. we there is a school tagged in the OSM data, we could drop in a school autogen art asset for a given location – this kind of “shaping” of the autogen could, I think, provide another level of richness and accuracy while leveraging the existing autogen and DSF generation technology.

OSM vs. Airport

One last note on OSM and recuts: in the past we have cut out roads near airports.  Our older road data was often very inaccurate and would run right over a runway.  The cutting process tried to minimize the insanity.

OSM data is often very good and there are many cases where the OSM data could be left alone for perfect perimeter roads.  I do not yet know how we will modify the cutting code to ‘preserve’ such road data, but I would like to get this right in future renders.

One problem that makes this difficult: often the on-airport roadways are modeled in OSM, but without any tagging.  The result (when road cutting is off) is a city street down the middle of the tarmac, often where the vehicle paths should be.  So we need a way to know whether a given OSM road is okay or not.

* The US road grid was first seeded by integrating TIGER road data into OSM.  This gives the illusion of total mapping when in fact some areas have never been hand edited.  The TIGER water was not brought in during the initial import, hence areas with roads but no water.

Posted in Development, Scenery by | 24 Comments

The Shady Side of Chicago (The Road Map For Airports)

With X-Plane 8 and 9 we had a perpetual problem: the airport layouts ship with X-Plane and are updated frequently by Robin; if an airport layout is changed significantly or a new runway is installed, the airport layout may conflict with the base terrain and autogen from the underlying DSF that was cut when the sim was first shipped.

This resulted in a huge amount of stress for users who were building airport layouts.  When is the cutoff for new layouts? What if I don’t make it?  It will be years before the DSF is fixed.

I think the solution for version 10 is actually quite simple: we will recut individual DSF tiles and “push” them in sim updates.

In fact, we are already doing this.  Five tiles, including the tiles containing Paris and Denver, rolled off the production line broken and we didn’t detect the problem until after we burned the DVDs.  The patch is already online, and if you are running with current betas and installed Denver and Paris from DVD, you should have the corrections.

I think we’ve reached a point in X-Plane’s development where we need to evolve the global scenery from a static product that never changes to an ongoing one that can be updated in pieces, on the fly.

The History

I have been involved in X-Plane since version 6; for as long as I’ve been around, the product has been updated frequently with frequent patching.  Starting with X-Plane 8 we developed a proprietary installer that let us easily push patches to three operating systems, with users downloading only the changed bits of the sim.*

The problem with the update strategy was that the global scenery was always too big.  And what we found was that if we perpetually recut the global scenery, it made everyone who had already bought the scenery crazy mad.  The last thing you want to do is buy the sim and discover it would have been better if you waited.

The idea of the “update” strategy is that you can  buy into a major version run as soon as you want or late, and if you jump in early you get all of the future updates for the version run for free over the net.  So we would update the sim and leave the global scenery alone.  Thus there was never an update to the version 9 global scenery.

The Brave New World

The problem with not updating the scenery is that it takes us years to fix bugs, share improvements with users, and integrate changes from users (e.g. better airport layouts).  Using OpenStreetMap raises the stakes: anyone can improve raw vector data using OSM at any point.  How long do we wait to ship the improvements to everyone?

So I think it’s time to start recutting tiles and shipping them in updates.

Now to be blunt: I have no idea how we are going to go about doing this.  So far recut tiles come down in free updates to users who have them installed, but this is just a beginning; we don’t have scalability problems yet because we have recut only 5 tiles.

Airport Anomolies

In the long term I don’t know how many tiles we will recut, when we will recut them, or what percent of the Earth we might recut in a given version run.  We are not promising to recut any particular area or set of tiles.  Please read that sentence twice.  Don’t come back to this post and say “but you promised me free global scenery.”  I don’t know how much recutting we can do or what the terms will be.  I just know that it is the direction we need to investigate and move in.

With that disclaimer in mind, I do think we will be able to recut tiles that have airport anomalies.  For example, I have two bug reports on class B airports.  KSFO has an incorrect coastline, and KORD has a collision between autogen and runways.  In both cases, I don’t know what went wrong and will need to investigate.  And in both cases, pushing the fixed tile in an update seems like a reasonable solution.

* As far as I know, no commercial solution would give us three operating systems, deltas from any past version, while making it quick to cut a patch.  Since we use the installer for every beta, the initial development time was worth it to make patching quick for users and for us.

Posted in Development, Scenery by | 16 Comments

Scenery Tools GIT Repo Down (Temporarily)

We maintain a live copy of the scenery tools code via GIT.  But as of now it’s in a temporary coma – I made a CVS admin change to the original CVS repo to fix a screwed up checkin and the GIT bridge somehow got out of sync.  Janos is trying to figure out how to fix things now.

If we need to release new builds of scenery tools before we fix this, I’ll post snapshots of the source code. If you need live access (e.g. you take source updates via GIT) ping me, or perhaps ping Janos directly.  I’m hoping we’ll have this fixed in short order.

Posted in Development, Scenery by | 7 Comments

Art Assets and the Library

My last few posts have tried to paint a picture as to where the various art assets and files will live for the new ATC and airport lego bricks in X-Plane 10.  I want to specifically point out how the library interacts with these features because the library lets you do some very powerful things, and I suspect that it is often misunderstood.

First: if you want to use our art assets, you get them via the library.  Almost every scenery art asset we provide in X-Plane sits in the library somewhere.  This includes most of the art assets we use to build airport apt.dat layouts.  So whether you want our lego brick terminals, ATC voices, taxiway centerline light strings, or autogen buildings, they’re all in the library and you can “just use them” in your  custom scenery by referencing the library.

But second: since the default scenery goes to the library to get art assets, you can replace our art assets with your own using a scenery pack.  Don’t like our runway lights?  Make your own and put them in the library via a custom scenery pack.  Want more variety of cars?  Make a few more and put them in the library via a scenery pack.

Since the library can be customized in location specific ways, you can also make new themes.  Replace our autogen with something appropriate for your own country, and put the pack in the library with the locations you want your art used for.

There are only a few files we intend to collect and redistribute – and they’re all files of data.  But modifying the sim’s art assets is still really easy – if you want to add art assets to the default parts of the scenery system, just make a custom pack that puts your assets in the library – it’s as good as if it was built into X-Plane.

Posted in File Formats, Scenery by | 18 Comments