Outerra forum

Outerra Engine => Technology => Topic started by: Steve.Wilson on December 06, 2012, 03:47:26 pm

Title: 64 Bit Outerra
Post 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?
Title: Re: 64 Bit Outerra
Post by: cameni on December 06, 2012, 04:42:14 pm
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.
Title: Re: 64 Bit Outerra
Post by: Allan Davidson on December 06, 2012, 06:22:45 pm
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.
Title: Re: 64 Bit Outerra
Post by: Steve.Wilson on December 06, 2012, 06:52:28 pm
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.
Title: Re: 64 Bit Outerra
Post by: Allan Davidson on December 06, 2012, 08:01:09 pm
In fact, i'm favor to 64-bit clients, only if it not take a lot of precious time from devs.
Title: Re: 64 Bit Outerra
Post by: Steve.Wilson on December 07, 2012, 10:58:08 am
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.
Title: Re: 64 Bit Outerra
Post by: Allan Davidson on December 07, 2012, 12:11:49 pm
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.
Title: Re: 64 Bit Outerra
Post by: ZeosPantera on December 07, 2012, 01:35:40 pm
Why do I picture both of you as mortimer and randolph

(http://middleclasshell.com/wp-content/uploads/2012/02/Randolph-And-Mortimer-Duke.jpg)
Title: Re: 64 Bit Outerra
Post by: Allan Davidson on December 07, 2012, 08:33:27 pm
Sorry mate, don't know these fellas.
Title: Re: 64 Bit Outerra
Post by: Steve.Wilson on December 07, 2012, 09:51:03 pm
Time to explain the humor.
Title: Re: 64 Bit Outerra
Post by: ZeosPantera on December 08, 2012, 12:31:04 am
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)
Title: Re: 64 Bit Outerra
Post by: Sunnyyello on December 08, 2012, 04:11:04 pm
ROFL!!! Gotta love the humor on this site...
Title: Re: 64 Bit Outerra
Post by: seppen on December 15, 2012, 09:57:25 pm
You never been with me pissed drunk for months lol.
Title: Re: 64 Bit Outerra
Post by: Allan Davidson on January 06, 2013, 06:01:48 am
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?
Title: Re: 64 Bit Outerra
Post by: cameni on January 06, 2013, 06:47:25 am
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.
Title: Re: 64 Bit Outerra
Post by: Allan Davidson on January 06, 2013, 06:57:54 am
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?
Title: Re: 64 Bit Outerra
Post by: cameni on January 06, 2013, 07:26:37 am
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.
Title: Re: 64 Bit Outerra
Post by: Allan Davidson on January 06, 2013, 10:25:10 am
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.
Title: Re: 64 Bit Outerra
Post by: ZeosPantera on January 06, 2013, 01:01:45 pm
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.
Title: Re: 64 Bit Outerra
Post by: Allan Davidson on January 06, 2013, 05:24:50 pm
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.  :(
Title: Re: 64 Bit Outerra
Post by: Moonkey on January 06, 2013, 05:26:37 pm
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.
Title: Re: 64 Bit Outerra
Post by: ZeosPantera on January 06, 2013, 10:32:56 pm
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!
Title: Re: 64 Bit Outerra
Post by: Moonkey on January 07, 2013, 12:02:28 am
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))
Title: Re: 64 Bit Outerra
Post by: ZeosPantera on January 07, 2013, 02:39:56 am
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
Title: Re: 64 Bit Outerra
Post by: Moonkey on January 17, 2013, 05:43:02 pm
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.
Title: Re: 64 Bit Outerra
Post by: Steve.Wilson on January 17, 2013, 08:32:47 pm
How is this even remotely related to a 64 bit version of Outerra?
Title: Re: 64 Bit Outerra
Post by: HiFlyer on January 09, 2016, 06:24:10 am
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?
Title: Re: 64 Bit Outerra
Post by: cameni on January 09, 2016, 08:41:28 am
There should not be any, our content formats aren't storing any platform size specific data types (AFAIK).
Title: Re: 64 Bit Outerra
Post by: HiFlyer on January 09, 2016, 09:48:31 am
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.