I was thinking there could be a system where there are tiles, possibly 2x2 km each, and only the one you're on + one that is closest could have terrain collision enabled and the rest would just be there for visuals until the player decides to drive over there.
This would require a Gtx 1080 and overclocked processer as well as 16 plus gig of ram. In theory it sounds good but when you start to break it down you realise the amount of stuff that would be wrong with it. Sorry for bursting the bubble but for the time being, instant level swaps is not possible without loading in background. This means that you need huge amounts of ram and an rpic CPU for it to load fast(ish) and without killing the computer.
Big worlds will be hard on your GPU. However there seems to be a set limit objects that you can place on the map editor and a set limit size (although its a size of like 20km by 20 km). The MAIN problem with making it open world its the AI drivers. Not the AI itself but to have a shit ton of cars driving around. That will hog your CPU.
If that is the case, then how do other games go about creating such worlds as these? I mean, look at the maps of Skyrim, The Crew... or Fuel for that matter... How do they manage to get away with such huge maps and still have a playable game? I am not trying to rebuke anything here, I am just curious. Edit: Also, I understand why AI cars driving all over the place would be an issue in Beam, but I am talking more about the map aspect of things.
Because there's this thing called "Engine" in each game that works as the framework and behind-the-scenes oiled machine that makes the games work. And each game could have a different engine. Look, i know you are trying your best, but its hard for me to explain to you that not every game is made the same and that just because they are games released in a similar frame of time or look almost the same graphics-wise has the same limits. There are flight games which have giantic terrains but absolute awful close to the ground details, and maps like BeamNG with amazing terrain details but not very big terrains. As for the object limit, i dont know much about it. That's what the dev of Generic City said. He wanted to go on but he said that he hit a bump of like 4k objects in the map and the editor wouldn't let him add any more. He asked to the devs and either the devs told him that it was a dead end or didn't reply to him. Either way he couldn't continue the map anymore and that's why its no more.
By how, I meant more along the lines of how does the engine do it and not the physical game itself. I understand that games run on "Engines" just fine. What I was referring to was How is it done in said engines. Do they run specifically off of a LOD system, do they incorporate geometry tessellation, do they just use render distance to tame the triangles needing to be rendered, do they use more complex lighting and shadows the closer they get to the player, do they reduce texture size at a further distance... more along that route. Not it runs on an Engine.
The BeamNG physics engine is built on the Torque3D game engine. As I understand it, Torque3D is what is holding back the map size and number of objects. And converting to a different game engine would require months of work.
Well, why i said about engines its because each game engine works in its magical different mystical way. Long time ago the first BeamNG demo was built on Cryengine. No idea why they changed. Maybe it was for the better. However the game is so advanced in development that changing an engine into one much different will delay the development of the game itself back probably an entire year or more. Of course, some other physics engines could shorten that gap and so on. But like i said. Physics engines work in misterious ways.
Precisely....an open source royalty free engine supported by enthusiasts. No big names or money behind Torque 3D whatsoever. With that the BeamNG devs are taking the engine and modifying it to their liking and most likely will turn it into a custom engine specifically tailored to BeamNG....and with that the BeamNG devs would need to code the engine to do tiled terrains. That is a tremendous undertaking even with a bit of cash involved. I really doubt the idea of tiled or 'paged' terrain schemes is much beyond the very furthest back burner at this time. The vanilla Torque 3D engine is probably closer to tiled terrains than the BeamNG engine is now. Apologies if my 'techspeak' is flawed here.
It is probably much more stable as well. The BeamNG physics engine can only handle a small number of physics objects before crashing. In addition, large numbers of static objects cause the frame rate to tank, as the physics engine has to check for collisions with every single one.
All in all I would suspect the current iteration of the BeamNG engine will only deviate further and further from the original T3D source code until it is unrecognizable. Makes me wonder if eventually this engine becomes it's own proprietary and stand alone game engine that the devs could eventually license out, not just the physics part of it but the whole enchilada. BeamEngine3D if you will. Makes for some really interesting pondering.
F11, set visual distance to 400 meters, observe in awe how much less CPU load is. Next update contains optimizations, I would not make very strong points of bigger worlds being impossible while it might already be better in next version. Currently most islands are rendered fully, visual distance is often set to be such that at any point of car on map, whole map towards camera facing direction will be rendered. That is street lamps and traffic lights from 4000 meters away are still taking processing time. So if one bases estimation what is possible to current state, I would say estimation will be quite bit off, there is no technological limit of why there would not be two or more different visual distance limits, you could draw terrain quite far without too much of performance impact, you would get nice distant mountains while objects that use lot of CPU time in current version, could have separate distance, this is no Arma where you might want to try and snipe mailboxes from 2000 meters, it might be fine if mailboxes are visual only from 200 meters or something like that. So what little I have played with world editor, I would say performance is not the reason, even with current game version it should be possible to do tricks to make it possible to use low visual distance while maintaining acceptable visual quality, for example drawing 15 000 meters might have better alternativities. But object limit in game engine might be another problem all together, what I see from East Coast USA, there are some buildings and city streets put to single object, naturally it requires bit different approach, but even with current version one could cheat a bit and combine meshes to single objects, if you have a city and some buildings right next to each other, it might be sensible to group them as single object, which then increases performance and helps with object count. Surely it can make maps bit harder to make, but when you are determined to go beyond limits, that is what one must do in order to be successful. If I'm bit nasty, I might say something like GPU power is only issue if you have too big resolution compared to capabilities of GPU, sadly limited CPU power is not as easy to compensate to, but optimizations to maps I mentioned earlier are what can make world of difference in that, there are mod maps currently in BeamNG that probably will choke any stock clocked CPU on market if one sets graphics so that GPU will not be limiting factor, so naturally optimizing for less CPU usage should be a priority, it would allow these bigger worlds. About world loading, this could be made possible by setting some gameplay elements, like for example road toll stations where you have to stop, level loads, gate opens and you are traveling on new area. I'm sure there are many, many, wonderful alternatives to that which would work just as well, it is about what is wanted, what is feasible. It can be made poorly, it can be made to blend into game world really well, there are lot of possibilities, but for certain, this does require quite bit of work from dev team, saving vehicle position and state, trigger to initiate level load, some new maps, objects, animations, but it is not that much different from loading a map currently. Surely game engine needs to support it, so that might need to be implemented into engine I guess. I guess hardest part would be saving and restoring vehicle state as map loading could be pretty much same as it is now, saving vehicle position would just create new spawn point and vehicle would be spawned upon map load complete. Well, there are always issues rising that cannot be foreseen so it is never quite that easy, but there are limitless possibilities if you can say doing such would add 50% more fun to game and 100% more sales, sadly such is not always the case So that is rather lengthy explanation why I'm not going to believe any claims about CPU or GPU power being limiting factor or this odd world "impossible", I am more willing to believe lack of gains in business wise, or lack of imagination upon this subject, however I doubt latter not to be case with this dev team, they have such incredible creative ideas already implemented.
What I'm seeing, that limit will happen somewhat after shadows will kill fps by chocking CPU, it is not really shadows alone, shader quality and shadows / light quality, combination of those with lot of objects seems to cause high CPU load, those can be taken care by changing settings, then comes limit from collision checking I guess, I don't have any better one for why on some object heavy map CPU load is high when shadows and such are eliminated as a culprit. I guess using visual mesh for collision is quite big impact for fps, at many cases I would think that bounds would be sufficient and be lot easier for CPU, naturally best would be collision model, but it can be challenging to make, depending what tools one is used to. Of course I'm sure new versions of BeamNG will work differently, so I don't know how much map makers should optimize now, but maybe some methods that would optimize performance could be also good practice, however it might be that at some point distant objects and those which are practically touching each other are combined in game engine, bit skeptical about last one happening, but I know that it could improve performance too and allow maps to be made with less usage of external tools, if such is even a desire. Reason I'm learning Blender is such that I could make objects for map makers as well as for my adventures in vehicle modding, it is one thing to find the problem and speak opinion aloud, but to get improvement one should usually at least try to do something to improve things himself, so that there will be benefits for everyone. I'm not sure if level loading could be initiated by some scripting work? Could it be possible for a modder to make couple of maps and script level loading and vehicle state saving? Might go bit further than what could be achieved by scripting, but maybe it could be more feasible to have some kind of interface to such things so that modders could make the multi level maps, or maybe it is just stupid brain fart, sometimes things just pop to my mind out of nowhere