How open worlds could be implemented

Discussion in 'Ideas and Suggestions' started by gigawert, Feb 21, 2017.

  1. gigawert

    gigawert
    Expand Collapse

    Joined:
    Sep 6, 2015
    Messages:
    2,029
    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.
     
  2. CreasingCurve

    CreasingCurve
    Expand Collapse

    Joined:
    Jan 19, 2016
    Messages:
    940
    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.
     
  3. Dr. Death

    Dr. Death
    Expand Collapse

    Joined:
    May 12, 2016
    Messages:
    1,963
    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.
     
  4. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    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.
     
    • Agree Agree x 1
  5. crazikyle

    crazikyle
    Expand Collapse

    Joined:
    Sep 3, 2013
    Messages:
    869
    They have better game engines that are built for and optomized for open world driving games.
     
  6. Dr. Death

    Dr. Death
    Expand Collapse

    Joined:
    May 12, 2016
    Messages:
    1,963
    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.
     
  7. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    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.
     
  8. Funky7Monkey

    Funky7Monkey
    Expand Collapse

    Joined:
    Oct 12, 2014
    Messages:
    977
    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.
     
    • Agree Agree x 2
  9. Dr. Death

    Dr. Death
    Expand Collapse

    Joined:
    May 12, 2016
    Messages:
    1,963
    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.
     
  10. Aboroath

    Aboroath
    Expand Collapse

    Joined:
    Aug 25, 2013
    Messages:
    3,804
    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:p.
     
    • Agree Agree x 1
  11. Rainvest

    Rainvest
    Expand Collapse

    Joined:
    Dec 26, 2014
    Messages:
    1,902
    It's fine dude. I love your "techspeak".
     
  12. Funky7Monkey

    Funky7Monkey
    Expand Collapse

    Joined:
    Oct 12, 2014
    Messages:
    977
    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.
     
    • Agree Agree x 1
  13. Aboroath

    Aboroath
    Expand Collapse

    Joined:
    Aug 25, 2013
    Messages:
    3,804
    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:p.

    Makes for some really interesting pondering.
     
    • Agree Agree x 3
  14. JohnnyB9000

    JohnnyB9000
    Expand Collapse

    Joined:
    Aug 31, 2013
    Messages:
    58
    The reason they changed from CryEngine is because the licensing was too expensive at the time.
     
    • Agree Agree x 1
  15. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    6,782
    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.
     
    • Informative Informative x 5
    • Like Like x 1
  16. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    Now that was the explanation I was looking for, thank you.
     
    • Like Like x 1
    • Agree Agree x 1
  17. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    6,782
    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 :)
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice