• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

MSFS24 Custom aerial CGL for a fictional island: works up close, random flat-colored tiles at altitude + one constant band — what am I doing wrong?

Messages
23
Country
italy
Hi, I wanted to create a fictional island in MSFS 2024, and since I'm not an expert, I tried using Claude Code (the Fable model). However, in five days, all I managed to do correctly was make the island emerge from the sea.

The island has a dormant volcano, and at the other end, a plain where I would have to build a full airport, a port, and two beaches.

I tried covering the entire island with an orthophoto, this one.



However, Claude Code has never succeeded. The AI has read all the documentation provided by Asobo, knows how to use the SDK, the editor, etc., but has never achieved its goal.

I'm asking for your help to understand where it's going wrong and why. I'm attaching the link to download the scenario folder.

Zip file scenario: https://www.swisstransfer.com/d/bec7b96c-dbf9-463d-bc85-d6238c5d1fc0

This is a zip file with the images of the "disaster" (these are just a few): https://www.swisstransfer.com/d/82c163a9-e989-4c79-a51c-024fb260e718

Thank you for any help you can give me. 🙏

Below is the post that Claude Code has prepared for you, with all the details (or almost all) of the work done.

Hi all,

long-time reader of the custom aerial guide thread here — it got me most of the way, so first of all thank you. I could use some experienced eyes on the last mile.

== Setup ==

Fictional island, 20 x 11 km, open sea, Sicily Channel (37.166667, 12.716667).
NATIVE MSFS 2024 package (SDK 1.7.3, sim 1.8.14.0). The rest of the package works and is verified: terraforming via Rectangles+Heightmaps (elevation checked in flight: 1.7 m / 0.3 m error), water exclusion OK, StretchUV orthophoto material OK up close, named custom biome OK.

The aerial imagery: 8192 x 8192 orthophoto (2.5 m/px) sliced into 256 x 256 quadkey-named tiles. The SDK says "16bit PNG", so I write RGBA PNGs at 16 BITS PER CHANNEL with my own writer (Pillow can't). Alpha per the documented semantics (0 = in-game aerial, 1 = provided). One CGLBuilderConfig.xml, type SecondaryAerialImage. All tiles share a 7-digit quadkey prefix, so the build produces a single .cgl (verified). Only one CGL in the package. Builds done with fspackagetool, sim closed.

== The four builds ==

1) 225 tiles @ LOD 20 test -> 84.6 MB CGL. Works perfectly in flight (placement, colors). Above ~4.5 km the parent LODs show the well-known average-colored blurry square (partial coverage — expected).

2) 453,600 tiles @ LOD 20 (I know — too many; painted the whole square including the sea, opaque) -> 49.57 GB, 605,405 entries. In flight: turquoise checkerboards, giant blurry rectangles, bands. Removing the CGL from layout.json removes those defects.

3) 28,560 tiles @ LOD 18 -> the compiler still generates children down to L20 (counted 580,884 intermediates), 6.42 GB, 609,437 entries. Same defect families in flight.

4) Current: 23,342 tiles @ LOD 18 with the open sea made TRANSPARENT (full alpha up to 1,200 m from the coast, fading to zero at 2,500 m, no tiles beyond). Rationale: the coarse pyramid levels are averages of the tiles, and 2/3 of opaque dark sea was polluting every distant LOD. Result: 6.98 GB, 498,137 entries (~14 KB/entry, which is in line with working freeware CGLs I measured). layout.json size matches the file byte-exactly.

== What I see now (build 4) ==

Settings: Terrain LOD 200, vegetation Ultra, textures High. No photogrammetry in the area. Rolling cache cleared. Nothing else mounted.

a) Below ~300 m AGL: everything correct — my imagery, aligned, right colors.

b) At mid/high altitude: individual tiles render as FLAT SINGLE-COLOR squares — beige ones (exactly the average color of my land imagery) and light-blue ones. Hovering perfectly still for 90 s: the pattern is frozen. Moving a few meters: different tiles go flat. So the sim is clearly reading my file (a beige average can only come from my data), but for a subset of tiles — reshuffled at every camera reposition — it draws only the average color instead of the texture.

c) One band (~2 km wide, roughly N-S, crossing the west part of the island coast to coast) always displays wrong — grayish with a row of pale blobs. Same place at all altitudes and in all three full builds. The source tiles under it are clean (decoded per-pixel: normal land colors,
alpha 255), and the devmode vector debug shows no shape of any package overlaying it.

Extra data points:
- I probed the public Bing tile server at the defect coordinates: imagery exists only up to L13 (dark navy sea); L14+ returns "no-tile". So the wrong colors seen in flight are not incoming photo data.
- Vegetation tint follows the displayed ground albedo, so the grass turns cyan/gray exactly over the bad tiles — handy for spotting them.

== Questions ==

1) Bit depth: the SDK page just says "16bit PNG". Do your WORKING aerial packages use 16-bit-per-channel RGBA sources, or 8-bit? Could 16-bit-per-channel sources be behind the random "flat average" tiles at runtime? (My 225-tile test with the same writer displays fine, so the writer itself seems OK at small scale.)
2) Has anyone seen this "flat average color tile" behaviour at altitude, and found what fixes it? (File too big? Too many entries? Source format?)
3) Is there a known practical ceiling for a single .cgl in a native 2024 package? Mine is 6.98 GB / ~500k entries and I can slim it further if that's the lever.
4) Any ideas on what can make ONE fixed band misbehave across otherwise independent builds, when the sources under it are clean?
5) Are CGLs from NATIVE 2024 packages handled differently at runtime than the classic 2020-format ones? All the working examples I could inspect are 2020-format.
 
Why not read and understand the SDK documentation and process yourself instead relying on Claude? What's wrong with learning?
 
Why not read and understand the SDK documentation and process yourself instead relying on Claude? What's wrong with learning?
I read the SDK document and I found it very vague and confusing. What’s wrong with using AI to try to make sense of it?
 
I read the SDK document and I found it very vague and confusing. What’s wrong with using AI to try to make sense of it?
Well - I am trying to be constructive here. How can you expect AI to give you any meaningful results if the documentation is, as you pointed out, "vague and confusing", and as @Freccia pointed out, still has many "TO DO" sections? AI will not "figure things out" on its own. If the info is missing, you will get what the OP is getting from AI: Garbage.
 
And I'm 60, I don't want to waste time. If I were 30 years younger, I would.
Waste time? Learning is NEVER a waste of time. I am older than you, my friend, and I am learning something new every day ;) If you are telling me that the documentation is incomplete, how do you expect AI to "figure it out" for you? AI doesn't do that. If it doesn't have any sources to learn from, it will not come up with an original solution on its own.

Ok, now for some real, constructive answers - this section, literally, has a comprehensive guide on how to do what you want to do. It is made by Augustin Winther, and it has a long thread of questions and answers from other users that successfully used it to create custom aerial CGL imagery scenery. It is a PDF file and it is pinned at the very top of this section. Have you tried that? It requires you to use GIS tools like QGIS and OrthoXP. Yes, it is complicated and has a steep learning curve, but if you spent 5 days fiddling around with AI, you will have another few hours to patiently go through it and get it going. The main point is, it works - I used it myself successfully many times, as have many other developers whom are now selling their creations on Marketplace.

I suggest you go through it slowly, follow it step by step, try it out first on some default imagery, and then, after you get some useful results, try it on your custom imagery.
 
Last edited:
Anyway, I started from scratch, one step at a time, so let's consider this thread closed, but I've opened another thread with some specific questions. I hope you can help me.

Thank you.
 
Waste time? Learning is NEVER a waste of time. I am older than you, my friend, and I am learning something new every day
Thanks friend, but I didn't mean what you mean. I also get a lot of satisfaction from learning, but for now, I'm focused on other time-consuming projects in my life and can't spare the time to read the interesting SDK documentation. So, that was the point of my "Waste Time."

P.S.: The document you recommended is interesting, but it doesn't solve the problem for me, as I'm working with MSFS 2024 (a lot has changed since 2020) and on a completely invented island, not on modifying something that already exists.
 
Last edited:
I too am not a fan of reading copious pages in documentation only to often feel more confused as ever - getting too old at 81. I often search YouTube for a video tutorial (eg MSFS CGL), which sometimes doesn't exist but often does.
 
Back
Top