Slowly, but surely, performance is being improved. That's the current task first and foremost.
Expect updates in alternating content/optimization phases until performance is where it needs to be, or at-least as good as it reasonably can be, beyond throwing more fancy hardware in your box.
Firstly, I appreciate everyone's support. This really helps out, not just because I poured a few hundred bucks of my own money into upgrades and software to get this going smoothly (16GB was not enough for both modeling software Maya and BeamNG and all the other things I need to keep open while working, to keep the flow smooth). Used memory and an Ebay new copy of Windows 7 Anytime Upgrade (Home to Pro, 16GB limit issue with Home), helped keep costs down by over half. This was prior to even signing up for this donation site here on Patreon. These were not 'I wants' these were 'I hit the 16GB limit daily about an hour or two into things and the BeamNG software did not like hitting the RAM limit'.
A lot of folks loved Roane County TN USA map mod for BeamNG. Thanks for taking the time to review it, those who have done so, and for those with more than 8GB (or at-least that) of system RAM, do take a look if you haven't tried that monster of a map (just shut your reflections off!). It's certainly got a lot of work, even if it has not yet benefited from my back-porting of models from my current "City" map. It will in due time, but in the mean time, now for what's been going on.
So for those who donated - and all should have received by now - a beta link which I host privately on a backup site, should have been sent out to everyone in the 10$ tier. If you didn't get it, contact me on BeamNG site as soon as convenient. I am not perfect, and sometimes I miss folks, hence the announcement there. Those links went out Friday.
Those donating for the remainder of this month will receive that Friday beta until I get the next performance-improved version out (this is a performance and consistency update that is up-and-coming, I won't be building tons of content during this time for consistency reasons with performance testing). That next beta is likely at-least two weeks out. This takes a *LONG* time, and, as you may already know, there's over 700 pieces just to the road/street/highway/subway/rail kit already (the MRK kit as it's known). They don't all need to be done, thankfully. I am fixing the last of the remaining bugs, and improving issues with DRAW CALLS.
Draw Calls... oh the draw call nightmare that is Roane County's urban areas, which is why I held off development a bit for now. This is what makes my maps a bit slow, and very CPU heavy. I am working on addressing this issue right now. But what's a draw call?
Each object has a set amount of textures, let's say 6 textures, which a complex large intersection has (tops).
For each texture on one object, it makes a draw call, that draws all that texture in. For the next texture on the SAME object, it's another draw call. This repeats until the object is drawn in completely. It's likely that reflection and bump-mapping are yet additional draw calls. Similar objects in games are often 'batched' by the game engine (put together and done at once), but that's not always the case. By contrast, high poly-counts aren't usually the source of slowdown in BeamNG maps, it's the high draw calls, with few polys, so there's a lot of busy work for the CPU.
That normally wouldn't be a big deal if it was all on the GPU, but it's the CPU that sends this DRAW CALL request to the GPU. So, while this isn't so much of an issue in games that aren't physics heavy, this simulation is *VERY* CPU bound. The more draw calls - without so much regard to the amount of surfaces used - creates more load. When you hit around 3500~4000 draw calls on anything intel Haswell or AMD Ryzen CPU-based (3.5~4.0ghz) systems, it starts to get close to dropping down below 60fps. Over 4000 and you will definitely drop out of that sweet 60fps spot. Some spots of the heavily populated and well-developed (finished for the most part) urban areas had almost FIVE THOUSAND draw calls.
Just with doing about two dozen objects out of the 700-something pieces, I've already knocked hundreds of draw calls off and improved things on average around 5~9FPS in just one spot. I am not going to re-do every last piece, as they wouldn't all benefit that much & hence would be a time-sink for little gain, but the more common and complex ones will be done right away, with the slightly less complex/common ones done shortly there-after.
But what? What is 'THAT' that you're doing? you might ask this...
Okay, simple, if you do a mosaic texture, which is basically, every texture that an object uses, is on that texture, like the doors, windows, roof trim (eves and such), the shingles, the bricks for the walls, and so-forth, it can draw the whole object with one draw call. This isn't always practical, but it DOES work very well with LOD's as you'd never notice. That's where I am sinking the changes into.
Each house is *MAX* 5 or 6 draw calls. These will be changed last if at all, because this is pretty good, all things considered. This shouldn't be exceeded however unless the building is very huge. However, some of those road objects were commonly 3~6 draw calls a piece! So on average, there's no more than 20 of them close to you at any given point, so that's not the big deal. Even 20x5 is only 100 draw calls, a mere pittance of 4000 (not including reflection and bump-maps/normals, which can drive it up to 300 from 100, still not huge).
It's all the 100+ pieces that are far away from the camera, as Levels-of-Detail (LOD's from here on out). 100x5 = 500, this then becomes 1500 once all the specular (reflection) and bump mapping (normals) are done. I can reduce this to ONE or possibly in some rare cases TWO textures, per object. This means it will only be 100x1 or 100x2 draw calls for all the road LOD's, the remainder of which gets the x3 because of specular and normal maps. So 300~600 *MAX*. That's basically meaning that you'd get a whole lot more stuff on screen, for a whole lot less burden. This, folks, will fix the issue with draw calls (not entirely, but will be a large improvement) that were hogging the CPU previously.
So if you haven't cleared your cache between versions, browse to:
Documents\beamng.drive\cache.0.13.0.5\levels and delete the TSH folder.
This removes the OLD compressed DAE cache files and other stuff, that would have there-for ignored my changes between versions. This should be done especially if you didn't notice much performance improvement between versions. Anytime you update ANY map mod, this is GOOD to do, otherwise, you might have issues with old model data lingering. You'll have to do this each time this map updates to realize all the performance benefits.
So that's the low-down on what I am doing. Using a mosaic texture for all LOD's on road objects. It's going to take a very very long time, however, I am adamant on doing this, since there's already a number of kind folks wishing to support making a much-needed large-scale city map for BeamNG. In my typical self-less nature, I am going to be giving out this MRK kit basically for free when the map releases. That's the biggest reason I want to get this done right. It's a complete puzzle-piece kit for ANYONE with map editor knowledge to make maps of their dreams.
So helping this project helps everyone who's into map modding for urban-looking maps, and anyone who enjoys that - likely you also.
For those who sent in their house requests, and don't see their house in the map yet, please be patient. I am working on performance for the next good week or two. It's extremely monotonous, it's considerably not the most exciting part of mapping for sure, but it MUST BE DONE.
There will be a large airport. It's not in yet. I have to do performance stuff first, otherwise it will throw my figures off. There will also be a small airport as a possible destination if you like flying from one place to the next. It's no fun flying and then landing back at the same place.
There will be reasons to drive across the map, fun things, like a race track here or there, or a stunt park (there will be a few of these scattered around, like skate parks on steroids, for your car or truck!). There's already one stunt park.
If you drive long enough on the inner-loop of highway (not the surface road that hugs the central lake - which is a mess right now anyways - the highway that's less than a mile from it in spots), you'll see the first stunt park as it's right up against the highway. Can't miss it. Don't mind the super-heavy amounts of WiP stuff nearby though. It's a disaster area, but 90% of it is fixed up enough to drive on.
I otherwise tried to avoid tearing up the map more than I have to without finishing things.
So no promises on 'the best performing map ever' but I am trying very hard and learning a lot along the way.
I couldn't do it without the knowledge and support of everyone out there who took the time to donate funding or models, or even shared articles related to 3D game development to help make this map BETTER.
If things keep going and this product starts bringing in a decent amount of money, I will be able to eventually pick up some better software (not just assets) to assist and expediate map design. I've been doing my research and there's a lot of nice things out there. This isn't the only map that would get made/improved with said software, either.
--Thanks!
P.S. In the screenshot included, you can see the lighter colored portions of some roads here, these are how I can tell where the improved LOD's are. In the finished product, you won't be able to tell the difference, but this is just so I can tell.