Outerra forum
Outerra Engine => Technology => Topic started by: Steve.Wilson on December 06, 2012, 03:47:26 pm
-
As opposed to 64 bit floats, 64 bit processing is another whole technology point worth addressing, especially since X-Plane is now venturing in that direction.
Right now, I'm sure that Outerra is doing fine, memory-wise, since it's still relatively unpopulated, despite evidence to the contrary provided by some very ingenious environment development. But as the number of unique objects increase, and as new biomes and weather enter the processing picture, it's likely that system resources are going to be challenged.
So....Brano, what are your intentions in this area? Are you planning to migrate to 64bit at some point?
-
Yes, we are planning to move to 64 bits. Should be relatively easy, our own stuff is mostly prepared but there are some external libraries that need to be handled.
However, biomes and weather and similar rendering stuff actually do not need 64 bits; they need to be handled on the GPU side where the limits are lower, and we need clever management of GPU memory anyway.
But you are right, 64 bits will be needed soon when the number of unique objects become too large. At least on the CPU side it will make things simpler.
-
About the processing of a world populated with players and objects, could the Server -> Client approach be sucessful? I mean, one dedicated server is responsable for handle/store the whole Anteworld, objects and conecting multiple players in a single session? This could free the client of some heavy CPU/RAM/HDD stress, making 64-bit only needed for server.
But since Anteworld right now needs the x/y/z files to be fully downloaded to each client, maybe this cannot be done.
That makes me think twice about the viability of a mobile client for an Outerra server.
-
That's good news, Brano. Glad to hear it.
Allan, it's not about static storage. In a client-server situation that is managing a whole planet full of possibilities, where the variety of objects can be staggering, given a whole world to populate with regionally specific architectural styles, vehicles types and the like, objects can be downloaded and used only when needed.
But when you have a truly well populated scene where you see all these objects pretty much at one time, you're going to run out of addressable memory with a 32 bit operating system. That's been happening to a lot of power users ever since the introduction of X-Plane 10 with a much richer plausible world than ever before. So it's not about CPU or GPU, it's about the data pipeline and dynamic memory that has to keep track of all of the objects, and all the objects' textures. In a country setting, this won't really be a show stopper, but if someday we get into realistic cities, and no reason we shouldn't, then all havoc will ensue if working within a 32 bit operating system.
-
In fact, i'm favor to 64-bit clients, only if it not take a lot of precious time from devs.
-
There's good news about that, Allan. Since the team has been planning for 64 bits, their code is likely already 64bit safe. Then it's just a matter of compiling the code with a 64 bit compiler rather than a 32 bit compiler. Well....sometimes it's not *that* simple, but in reality, compared to the sort of mind boggling stuff that Brano and team are doing, it's not going to rob excessive time. Just my admittedly somewhat uninformed opinion. But 64 bit is essential for the future. We've had 64 bit OS's for some time now, and all computing is migrating that way, just as we did going to 32 bits back in the mid-90's. Got to keep up with the times.
-
Thats remember me of practice some 64-bit coding and throw my olds 68000/z80/8086 books away. Never ever saw how 64-bit looks like.
-
Why do I picture both of you as mortimer and randolph
(http://middleclasshell.com/wp-content/uploads/2012/02/Randolph-And-Mortimer-Duke.jpg)
-
Sorry mate, don't know these fellas.
-
Time to explain the humor.
-
You are both very lucky.
Trading Places (4/10) Movie CLIP - Pork Bellies Going Down (1983) HD (http://www.youtube.com/watch?v=uI4fVgVVpiw#ws)
-
ROFL!!! Gotta love the humor on this site...
-
You never been with me pissed drunk for months lol.
-
back to the main line (at least the 2nd main line), would a server-client aprouch for Anteworld be possible? The server stores and handle and the world and the clients only interact with it?
-
About the processing of a world populated with players and objects, could the Server -> Client approach be sucessful? I mean, one dedicated server is responsable for handle/store the whole Anteworld, objects and conecting multiple players in a single session? This could free the client of some heavy CPU/RAM/HDD stress, making 64-bit only needed for server.
But since Anteworld right now needs the x/y/z files to be fully downloaded to each client, maybe this cannot be done.
That makes me think twice about the viability of a mobile client for an Outerra server.
In theory, yes. The problematic part is that the server would have to hold a huge amount of data to be able to simulate clients that could crawl away over the whole globe. At the physics simulation level (~15cm resolution) the whole land surface of Earth is ~10,000 TB of data. The server would have to do the same thing the clients do - unpacking the data dynamically as needed, but for all clients, with some clever management. Also, the server side needs to be able to scale, split to multiple machines, each managing a part of the world.
-
If Outerra/Anteworld, somehow, have some differents caracterists (like a worse physx, less terrain details), could the Server situation be more viable in reality? Or, no matter what, it will aways be as hard as you said?
-
One can always do some tricks, reducing the parameters and such, but as long as there is supposed to be the whole planet replica accessible at the ground-level detail, it will be always more complicated than conventional games with a limited area (levels). Just as the rendering of the whole world at this detail, the other aspects here require some non-conventional approaches as well.
For example, the servers would have to have a powerful GPU with lots of on-GPU memory.
-
I tought it would be just like a dedicated server for games like GTA IV or Minecraft, but with just some more HDD and RAM.
-
I always imagined a different physics/render instance for every 40x40 mile square. There really isn't a need for Australia to have it's physics events waiting and ready if I am farming in Nebraska. The key would be activating those chunks and how well the chunks could hold 200 players should a city arise.
-
Maybe the development way for a dedicated server would be totally different from the way of a single user situation. Maybe they'll have to undone a LOT of thing in order to make that work different. :(
-
I always imagined a different physics/render instance for every 40x40 mile square. There really isn't a need for Australia to have it's physics events waiting and ready if I am farming in Nebraska. The key would be activating those chunks and how well the chunks could hold 200 players should a city arise.
The problem is what if there were people in Australia and in Nebraska. Both sides would have to render on the server using lots of resources. Though, if you wanted to play a game in a restricted area, servers could set boundaries for out-of-bounds areas. So instead of loading the whole world and people being all over it, you could set it to say... Alaska only or something.
-
The problem is what if there were people in Australia and in Nebraska. Both sides would have to render on the server using lots of resources. Though, if you wanted to play a game in a restricted area, servers could set boundaries for out-of-bounds areas. So instead of loading the whole world and people being all over it, you could set it to say... Alaska only or something.
Well I don't see the same physical server setup a counterstrike or garrysmod or Arma2 server would use. There will need to be a CLUSTER of servers.. Hundreds of individual servers in the cluster each responsible for a set area based on population. 5000 people in a city.. 50 servers dedicated to that area.. Nebraska, Oklahoma and the entire mid-west with 60 players.. One server. And the crazy coding it will take to do that... One cluster per simulation instance or per continent..
Cameni and AngryPig GO!
-
The problem is what if there were people in Australia and in Nebraska. Both sides would have to render on the server using lots of resources. Though, if you wanted to play a game in a restricted area, servers could set boundaries for out-of-bounds areas. So instead of loading the whole world and people being all over it, you could set it to say... Alaska only or something.
Well I don't see the same physical server setup a counterstrike or garrysmod or Arma2 server would use. There will need to be a CLUSTER of servers.. Hundreds of individual servers in the cluster each responsible for a set area based on population. 5000 people in a city.. 50 servers dedicated to that area.. Nebraska, Oklahoma and the entire mid-west with 60 players.. One server. And the crazy coding it will take to do that... One cluster per simulation instance or per continent..
Cameni and AngryPig GO!
Planet-side 2 is also able to hold a large amount of players (2000 players max per server (half full most of the time))
-
Planet-side 2 is also able to hold a large amount of players (2000 players max per server (half full most of the time))
Not sure how their server hardware is setup.. The view distance is low enough that players 500 meters apart could all be on difference instances or boxes completely.. Only when 300 players are all attacking the same installation would several servers need to combine or communicate positional information rapidly.. Would love to know the technical specs of those PS2 server farms
-
Planet-side 2 is also able to hold a large amount of players (2000 players max per server (half full most of the time))
Not sure how their server hardware is setup.. The view distance is low enough that players 500 meters apart could all be on difference instances or boxes completely.. Only when 300 players are all attacking the same installation would several servers need to combine or communicate positional information rapidly.. Would love to know the technical specs of those PS2 server farms
Hehe. The flaw in combining servers is that it would loop. If one server had to help another, THAT server would need help too. And have a domino effect. Though, a nearly empty/not very active server helping another server is possible without such effect.
-
How is this even remotely related to a 64 bit version of Outerra?
-
I know that in traditional Flight sims, (and maybe some other types of programs/games) switching to 64 bits can cause issues with pre-existing content. I wonder if Outerra will face those types of issues?
-
There should not be any, our content formats aren't storing any platform size specific data types (AFAIK).
-
There should not be any, our content formats aren't storing any platform size specific data types (AFAIK).
Good, I suspected not, but wasn't sure.