What is the maximum size of a level in bitsquid, if there is any? Maybe it is limited to the ammount of objects you put in it? Would you be able to make a 64x64 km map without the computer crashing?
Can you stream levels in bitsquid?
Would it for example be possible to make an MMO? (I know that takes time and resources beyond a single person, just want to know) Or would you need to rewrite the base code a lot for that?
(If this info is somewhere in a paper from the makers, then I am sorry for taking your time. Could you point me to the right one please?)
Best regards nux
asked 25 Apr, 06:16
The world size is limited by floating point precision only, so you can create worlds of 64x64 km or even a lot bigger than that without getting any crashes.
Floating point numbers have 24 bit of precision meaning that the error will be about
A world size of 64 km gives errors of about 4 mm. This means that at a distance of 64 km from origo, objects will "wobble" with an amplitude of 4 mm.
This may not seem like much, but it is quite visible if you have the camera close-up, looking at a persons fingers or eyes (we don't expect eyes to jump around 0.5 cm). On the other hand, if you are making a strategy game and the camera is high up in the air, it probably wouldn't be visible. So it all depends on what kind of game you are making.
There are essentially two ways of dealing with this precision issue:
Neither method is supported in Bitsquid by default, but the "resetting" could be done in gameplay code.
Number of Objects
By default, a maximum of 65 000 units is supported. You can change that number in the source code, but it is unlikely that the game will be performant with more than 65 000 units in the world.
If you want > 65 000 units you probably want to implement a streaming solution, so that you only have the area closest to the player actually loaded and spawned. That should keep the number of units well below 65 000.
Bitsquid allows asynchronous streaming of all kinds of data using the package interface.
You could make an MMO in Bitsquid. You would need to write the server-side component of the MMO (that synchs the world state between all clients) yourself, because Bitsquid doesn't include any such component, but the the client side of the MMO could easily run Bitsquid.
The world size will be limited by the floating point precision. All resource loading in bitsquid is asynchronous, so you can have a couple of levels (say 1x1km each) loaded around the player/camera and unload/load new levels as the player approaches/leaves them.
answered 25 Apr, 07:24
Jim Sagevid ♦