Hi all I woudl lik eto get some informations about openworld game engines and the size actually managed by them , the ones I know so far are the Bethesda engine and the Rage engine from Rockstar for RDR , according to the info I gound on the web here I made a small image comparison also putting the map heightmap of oblivion inworldmachine and Cryengine to see what is actually the visual feeling inside cryengine for a world of the dimensions of Oblivion , so in Skyrim or oblivion the world is 16 sq miles , almoust 4 x 4 kms and it feels enough big in game , but in cryengine the same map size feels like a fishtank , now why this feeling? I knw that walking around in Oblivion it soon ends by going from a side to a side in few ...
I of course played RDR and it feel enourmously bigger , as an estimate I thinkits actually the double of the size of Sandras GTA and Oblivion , so more or less a 8192 x 8192 map wich is the same of the crysis island , but crysis island is not explorable in all of the size , but just a small level portion , so is not an openworld , but RDR is and I suspect is even bigger than 8 x8 ... someone can give me more info ?
Woudl be possible to make a openworld with cryengine?
What would need for work as an openworld?
and what are the sizes actually ?
Replies
As far as the Oblivion vs Crysis map size goes, I'm going to take a guess and say that, per pixel in the height map, they are either using a different unit of measure, or a different size. A pixel on that map can be 10 meters x 10 meters OR it can could be 100 meters x 100 meters. It really depends on much you scale the height map.
Just by looking at the oblivion map inside the cryengine, it look's like you're several times bigger than you should be. I bet if you shrunk your character down, it would look a lot more normal.
Yes, you can make an open world in the CryEngine (See Crysis). You can make the maps any size you want. The great thing about using an existing engine that can handle those open worlds is that it's taking care of the scene for you. When I programmed my own terrain program, I had to create Octree's so that only the parts of the scene that were in front of my character were visible. It was a lot of work.
Hopefully that helps?
Eh? Wait what? I remember being able to go anywhere on the island. Perhaps my memory deceives me?
[ame="http://www.youtube.com/watch?v=nluloXlnV2I&feature=related"]Crysis (PC) (EA) - YouTube[/ame]
http://en.wikipedia.org/wiki/Crysis
That probably explains why you're seeing what you're seeing. Get what I'm saying?
EDIT: I don't know the inner workings of cry engine, but that is what I'm assuming you're seeing. I've never opened the cry engine.
Perhaps you can get some info from Crytek's tech page: http://mycryengine.com/index.php?conid=2
maybe waht you are look more into is echnology of multiple taerrains objectstogether on the grid.. more like JQuerry brick function or you can make them all same size, same resolution and set them as neighbours so their shared edge tesselation wil match by heightmap, but this must be supported by engine of your choice.
for loading and unloadin og object in general position sorting mechansims are essentials along with LOD..
good practice is to update LODS in inrregular intervals so your screen is not busy whole at once.. hiding and unhiding of object based on frustrum culling and precalculated occlusion culling for static meshes.
open worlds are real playground for your creative thinking.. also keep in mid that terrain can be visually designed in a way that by obfuscating vision range or views seems to be bigger.
in your comparison, cruccial is to figure out original heightmap density and units of engine.. then you can proceed to calculate setttings as terain size and height for other engines.
keep in mind to compare look and feel you mus make them look and feel similar so scale is very important.. i noticed that on cacti.. if you make trees larger or smaller your preception can be destorted by know fact that you think that you know how big that tree is (cause it is in general known object) so you derive distance from this improperly scaled "known" object.
final note: does not count with that that all engines have same units setups..
Object positions are generally stored in 3 float variables in games. The way floats (floating point variables) work is the bigger the number gets the less accurate the number gets on the right side of the point ("."). This means that as your environment gets bigger the positions of your objects begin to lose accuracy, and eventually may jerk around in strange ways, and eventually completely stop moving. At first person detail where 1 unit = 1 meter you probably want to keep the player (and anything requiring accurate physics updates) within 10,000 meters of the world origin.
So when you want to make a game that requires larger levels you need to dynamically move the world around so that your camera and player are constantly within an acceptable range from the world origin. As you can imagine this complicates things terribly and makes adding new features to the engine much more complicated and time consuming, which is why its almost never done unless absolutely necessary.
AFAIK Cryengine does this which means it should be possible to make very large environments with it, Unreal Engine does not do this, which is why it has a hard limit on the level size.
Im not sure if anyone has used double accuracy variables (64 bit instead of 32 bit) throughout the entire engine to overcome this (or if its even possible considering graphics hardware), but maybe that is another option.
Hello,
That UDK Information is very inaccurate. You can do a totally open world that is 19 km x 19 km with the Landscape system. And that is just 1 landscape. And you can have multiple in a single level. Not to mention Level streaming. Landscape has a very good LOD system built into it. Also, There is no limit on level size. You can make a level as big as you want in UDK, just make sure your PC can handle the load in the Editor while developing it. That is the limit, Hardware while developing.
I do not know much about Cry-Engine. But UDK, I do know this. It is all explained in the UDN.
Thanks,
Lee
I say "pretty much confined" because you can apparently move objects further outside of this box, but your editor cameras are restricted to within the box making it more or less impossible to work out side of it, and even if you could you would soon run into the float accuracy errors I mentioned.
xxoxx
xxxxx
x-terrain tile
o-player
simple concept.. streaming data as player goes around.. pooliung objects helps a lot with memory peaks at creating and destroing objects [tip: reuse not create and destroy unless engine is designed for that]..
when player is too far away you can shift "centre of the world reference point" to engine origin without player knowing that and for instantianting use this offset vvector on anything.. be aware that if you using static meshes you can have serious penalty within engine for moving them.. (needs to be recalculated)