Some suggestions for improvements for the next versions -4.5 ?
-
@jstnj said in Some suggestions for improvements for the next versions -4.5 ?:
I am a little ignorant of the current progress w terrain revamp, but it would be awesome to consider implementing these items in the future:
-
LIDAR and/or DEM-based heightmapping (e.g. using this type of data)
-
Generally improving terrain view distance, being at FL250 you can only see <10nm of earth around you
-
Not directly terrain-related, but a refactor of the TGP to take advantage of new terrain:
- Ground textures should not have IR signatures
- Classifying objects (vehicles, aircraft, certain structures) as HOT, COLD, etc.
The main problem with holding such high res data for elevation isn’t even a rendering resolution one (Today’s HW can digest a lot of triangles), but the fact that you need to keep the physics as well… In order to do that you must hold data in RAM, and don’t forget MP where the server need to keep data for ALL units, all players, everything. Let’s do the math…
Altitude value require at least 2 bytes right? Because you need values higher than 255. So 2 bytes (signed, because there are also negative values, so-32768 to 32767, that’s good enough for the entire planet):
A Falcon theater size is: 1024x1024 KM i.e 1024,000x1024,000 squared meters.
Let’s say you can have 10m resolution per DEM pixel
1024,000 / 10 = ~100K right?
Your DEM size is 100Kx100K in pixels.
100Kx100Kx2 bytes per pixel = ~20GBJust that is a crazy amount of data… and trust me, even if you will go as low as ~30m (31.25m to be exact ), you can get along with a 2GB DEM and still have VERY high res.
-
-
@i-hawk
Is some kind of LOD-like approach possible? Where terrain would be split into tiles, Hi-res elevation data would be used just in players/targets bubbles and lower res everywhere else.BTW I don’t care that much for so high definition lightining on external models (‘tho’ if reflections could make objects easier to spot it would make sense) but I’d love to see that in the pit. It would make it feel less flat, with better perception of depth (3d)
-
@xeno
LOD-like sure, you can’t practically render modern terrain with high details and no LODing (Too many verts, every GPU will come to a crowl with such numbers). But, there is HW tessellation in DX11Tiles you mean what? textures? Because all these aspects will change.
Sure 3D models need an upgrade for lighting and such similar stuff. Cockpit or not, that’ll upgrade the overall look and immersion of the sim
-
@i-hawk
I’m talking about elevation data used for physics, could it be split into tiles, and high resolution data being used in for tiles in the bubbles and lower res data for the rest. I’m wondering ho to avoid allocating multiple GBs of RAM for the things outside of players horizon. -
@xeno
Yes this can be done, easily, only problem --> MP -
@i-hawk
Server would have to keep list of deaggregated tiles for all players. RAM usage would be significantly higher than in SP, but still better than keepin’ all the hi-res data loaded into memory.
Probing available memory program would have know how many tiles it can keep at once. -
You know you’re basically talking about the way the terrain is done in DCS - whole meshes held as chunks in memory. This is not only wrong, but it’s also tech of the past. Photogrammetry - 3d scanned assets are far superior, this includes terrain data. MSFS is basically all photogrammetry with only a few bespoke 3d models for detail (mostly stuff that does not scan well from satellite data, like eifel tower). Even its community adds assets this way - adding large bits as photogrammetry exported from google earth and detailed parts (airports) as kitbashed hand modelled assets. Here’s one video:
As I-Hawk has mentioned, there is no LOD-less way for such large amounts of data as terrain in flight sims. I would add that LODless tech exists, but it is a) very limited in scope currently b) owned and developed by a company with bottomless budget. Look up unreal engine 5 beta and demos, that’s their tech they called nanite.
-
@depapier
And how it solves problem with whole huge map sitting in the RAM? It’s about data sources not how it is loaded into sim.My point is, is it really nesesary or desired to have no less than 20 GBs of RAM to fly BMS?
As I-Hawk pointed out terrain (elevation) data has to reside in RAM because of physics calculation.
And the question is how to have it with possibly high resolution and not consuming insane amount of system memory.For me there’s nothing wrong with LOD based techniques
MSFS looks cool, but it’s because MS have deep pockets and huge cloud loaded with maps to back the sim. I don’t think BMS has any of those. -
@xeno Its totally fine if you don’t understand complex rendering techniques and tricks that go into creating engines that work with terrain and a huge number of assets, you can just say so. After all this is really obscure knowledge and highly specialized stuff! No shame in it.
Photogrammetry and its imitation solve a massive problem of having very detailed mesh that looks good. I-Hawk already mentioned hw tesselation - well this is a key aspect of it. You are adding details to a mesh that are not there in topology of an object, but they are added during one of the rendering passes. This is a job for gpu. Physics are a complete different matter and usually this is done with a different LOD of the mesh you see - a much simpler one. Especially when ray casting is used for solving stuff ie radar and radio signal propagation. So, the question of having a massive terrain with a lot of detail is not about dumping a huge detailed model (with detail and resolution that is completely redundant for a flight simulation), but rather in dividing the tasks within simulation and offloading them to respective hardware. And MSFS is great not because “it looks good” (though it does), but because how cheap in terms of computation its looks are, hence I mentioned it, rather than to compare directly to BMS. Anyway, 4.35 dx11 engine already made a big leap forwards in this direction of separating tasks and I’m very happy to see it. It’s a massive change to an engine and we’re lucky to have this being done by BMS devs. Can’t imagine how such a task would be accomplished in other, commercial simulations.
-
Just to clear what is practical for us let me say that:
-
Regarding everything but terrain mesh, we aren’t MS and we don’t see FS2020 as something we can compete with (I don’t think anyone can, I mean not really) - We don’t intend to ever get to that level of details, we don’t have the manpower nor the means to hold/stream this amount of data.
-
The way ED are doing their terrain is probably the worse I can think of (Hold chunks of “3D models” and render them)
-
In order to create detailed terrain you need DEM data, a flat grid and then use HW tessellation to displace the vertices. That’s the only sane way I know of and literally all engines/samples (And I bet all modern sims/games except DCS) I’ve ever seen are using this way to create a detailed terrain mesh. Of course then when you get into details there are other difficulties to tackle - For example a main one is the tessellation factors that DX support are limited to 1-64. The practical meaning of that is you can only create geometry at scales of 1-64 from the most detailed to the least. It sounds a lot but for a flight sim terrain, this will not be enough and so there are more complications.
-
When I started working, I thought the main concern will be the terrain mesh - Well after some years I can tell that the mesh is really just the tip of the iceberg and there are many many more complicated challenges
-
Adding details “by hand” to the general mesh can be performed but this isn’t a main goal and will remain a “later work” probably. Maybe also some randomness can be created in order to add even more details when very close, but this is for later.
-
There is still time until it is ready for release, but we are working hard to make it happen and I have faith in the team and the excellent guys supporting this work to establish the goals and beyond.
Regarding those “20GB of RAM”, well that was just an illustration I made to let people understand the meaning of holding a 10m mesh data. Of course we aren’t going to hold 20GB of RAM, more like a tenth of that However, loading DEM in chunks isn’t a bad idea, but something that I still didn’t tried. It’ll be a challenge due to view distance, and the ability to “jump” between distanced locations by a key press, action camera etc… I’m not sure how much it’ll worth dividing actually, but that is a low priority for now anyway, there are higher priorities to tackle first
-
-
@i-hawk
Thanks alot I-Hawk, we all have faith in the you, BMS team and yours and team ability to do magic with the code.
Adding extra details to basic terrain mesh - i’m all for it. I think it doesn’t need to be totally correct in terms of elevation of any point down to 1m accuracy. It just has to look “right”.
Anyways, i’m pretty sure whatever you guys bake for new releases it’s gonna be fantastic. -
Thanks for this very interesting discussion. Might OSM-data be an option for a more detailed terrain? XP11 makes good use of OSM data to “autogen” terrain and to fill it with buildings, forests, mountains, bodies of water, (rail-)roads and the like.
I don’t know if usage would be permitted in a product which requires a commercial license (however small the amount), but I guess that’s a question for the lawyers. (I think it should be ok as XP11 is using it as well).
All the best,
Uwe
-
@hoover
OSM data is free as ‘as in freedom sense’. It is used in many other projects including FlightGear, Outerra, XPlane, also for many navigation/gps apps.
IIRC Google Maps data are proprietary and using it might require permission/licence from Google/Aplhabet. -
OSM data of course we know about… and we are already using some of those. I don’t see a problem with BMS, it’s not considered a commercial product anyway.
-
Once I posted this (KTO DEM):
-
@i-hawk said in Some suggestions for improvements for the next versions -4.5 ?:
Once I posted this (KTO DEM):
Dat DEM data.
-
Hey @I-Hawk you may find this presentation
and paper https://advances.realtimerendering.com/s2021/Karis_Nanite_SIGGRAPH_Advances_2021_final.pdf an interesting read regarding current and future LODless rendering! Pretty sure you’ll find this interesting. -
Google Earth (in most areas) uses a 50m DEM and I believe the MSFS stock DEM does the same.
Honestly, I do not see a reason to do use a more precise DEM in Falcon if it needs so much RAM. It is an air combat sim, not a mountaineering sim and 50m is good enough for me.
-
If I may be so bold…I speak as an inconsistent flyer. I go through phases of totally ignoring Falcon or BMS and then I go through a phase where it is what I play when I have any free time. I also suffer from a bit of impatience and tend to be a skimmer rather than a deep reader, unless I get super interested and FOCUS. That’s when “deep learning” takes place for me.
I remember that the original Falcon 4.0 had a very nice series of progressive training engagements all neatly written up in the spiral bound book that came in the retail box, which accompanied the training TEs in F4. SUPER helpful and useful.
BMS…well, honestly I miss the list of TEs that were in F4. Because I’m relearning . And that brings up a big point I want to make, the reason for this post:
I understand that what sets BMS apart from all competition is the level of hardcore realism to flight models, operational procedures, tactics and strategy, etc. To the point that sometimes it has bumped up against the fence surrounding classified data. Although it’s never talked about much if at all, I think it’s really impressive that the BMS team has communications with government monitors whose input keeps the sim out of classified territory. This a sim that is not to be taken lightly.
But…it’s not user friendly toward a newbie or someone who’s getting back into it after an extended period of time away from it, who basically is starting over.
I would very much like to see a built-in training syllabus that systematically teaches a new recruit how to fly and employ various systems, one TE at a time, and which essentially follows the educational path that a live pilot in training would follow in the USAF’s pilot training, generally following the UPT, IFF, and B-Course syllabuses. Of course, it would be adapted to be entirely in-cockpit as much as is possible, with academic exercises being in the included documentation for the student to explore if he wishes. (That, I think we have in existing BMS docs files, more or less.)
This particular training path would even serve the desire to keep it as realistic as possible, while providing a step by step, logical, and systematic training sequence.
I’m less concerned with eye candy. I also fly DCS and I consider BMS’s F-16 implementation to be FAR superior to that of DCS, and that matters more to me than the eye candy that DCS does offer, which is admittedly on a higher level than BMS 4.35. Yeah, it’d be nice to update the cloud generation, yeah, it’d be nice to improve the crash and explosion animations, but those are mere trivialities to me.
I’d also like to suggest that it would be nice to make it easy to switch aircraft types (and that includes reskinned models) for any TE or other mode of play. There are lots of F-16 liveries to fly with, and even lots of specific F-16 variants, why not let me switch to any of them any time I want to?
One final comment/suggestion/request: The control assignments screens could be substantially improved. I would like a feature that lets you press a button on your controller (Cougar HOTAS in my case…I’m old school) and have it identify the function assigned. And have a search feature that lets me find out if there is an assigned control for a named function. And…be able to create a control to feature assignment. For example, if I press the weapons cycle/NWS switch on the upper right side of the Cougar stick, it should list the commands and commands with modifiers that are assigned to that button. Or if I don’t know what the Nose Wheel Steering assignments are, type NWS or Nose Wheel Steering into a search bar and get the assignment.
-
@buzzbomb said in Some suggestions for improvements for the next versions -4.5 ?:
I would very much like to see a built-in training syllabus that systematically teaches a new recruit how to fly and employ various systems, one TE at a time
But that’s what the training manual does with the accompanying TEs (training missions).
One final comment/suggestion/request: The control assignments screens could be substantially improved. I would like a feature that lets you press a button on your controller (Cougar HOTAS in my case…I’m old school) and have it identify the function assigned.
The in-game button mapping UI already does that.