Questions for developers - basic understanding of the game

  • So I was at E3 private press presentation and I played Mavericks. It was just a small area with few players, something like tech demo, or pitch. However, I have some questions unanswered and I would be pleased if devs will take a look at them.

    • What exactly SpatiaOS do in Mavericks? How this system works, what is it used for in this game exactly?

    • Battle Royale means genre, where 100 players are on some island, fighting each other till the last team/person alive. PUBG match usualy lasts for 40 minutes if you get to top 5. How do you imagine we would play Mavericks on 256km2 map with 1000 players alive? Do I have to play for 5 hours straight to win the game? (Or you cannot "win" the game at all and gameplay is hop-in hop-out, inspired by Escape from Tarkov?)

    • Buildings, or particular walls can be destroyed, how do you handle destroying objects in Persistent Open World? Will building rebuild themselves after time?

    • Can CryEngine deal with 1000 players and a high-fidelity map? I know some large games, which does have problems with netcode, animations or general feeling on this engine. What is your plan to make it work?

  • Founders

    They have already addressed these points in their videos. They state that the 1000 player BR is for squads of 5, meaning 200 teams and the match length still lasts roughly 30-40 minutes.

  • Founders

    You should watch the official YouTube channel dev videos. But here is what I gather...

    Your first a last questions are related. SpatialOS is a distributed server technology that loads a play session across multiple servers with each handling parts of the map/users that are in proximity. The servers coordinate to build the whole network session. This is what makes high player counts possible and maybe impacts processing larger maps and more complex systems (wildlife, tracking, destruction).

    CryEngine has more to do with expected optimization of the game but SpatialOS sounds like it is the revolutionary component that allows for these larger game modes. Most games have all session users talking to a single server and aren't distributed like this.

  • Moderator

    1. SpacialOS makes it so the game can run 1000 players. (they talked about it in their videos)
    2. They've said that a 400 player match will not take longer than 30 minutes, so I wouldn't count a 1000 player squad match take up to hours.
    3. They've said some things about objects/buildings respawning, but they weren't sure how they were going to exactly do that yet.
    4. SpatialOS is there to deal with the 1000 players (I don't exactly know how they do it, someone that knows a little more about this can probably explain it or you can watch the youtube videos where they talk about it for a bit)

  • Founders

    Without knowing much about SpatialOS it sounds to me like a new way of load balancing the servers. I'm sure someone with a more technical background can give a better explanation.

  • @magicalwonder-0001 It sound great but what about server latency? If you have 10 servers running your game, it can run worse compared to game running on single server.

    Point 2: There is 4-p squad mode in PUBG and the game lasts 40 minutes on 64km2 map with vehicles. I still think the MVCKS game session for 5-p squads on 256km2 will take much much longer.

  • Moderator

    It will be 5 man squads for mavericks and the duration of games all depends on how fast the circle moves. In PUBG and other BR games the circle stops every once in a while which slows down the game by alot. If the circle would never stop moving, the game might only last 20-30 minutes. However, they haven't said the duration of how long a 1000 player match is going to be, and also nothing about how the circle will move. We'll probably have to wait for that since the 1000 player games are more for after launch :grimacing:

  • Founders

    So from what ive read about SpatialOS is that they basically run tens, hundreds or in theory i believe thousands of servers through a cloud based system in parallel with one another. Meaning that your one server doesnt have to run all the engines used in the game, they can be dedicated to allow for more complexity to be implemented. So lets say for all intents and purposes that there is a physics engine that is running the players, buildings, moveable objects and ballistics.. They can basically dedicate one or more servers to running it so that it doesnt have any effect on the quality of another lets say graphical engine running on what would normally be the same server. Its like a block chain system for running the server side info on games. This is all what ive learned from a few hours of googling info on it so if im wrong somewhere or someone has something to add feel free :D

  • Founders

    Not sure where "block chain" came from there!? Block chain is about integrity of data, not performance.

    However, yes that's pretty much how I understand it too - except for graphics... servers don't run graphics. They run a world simulation, but not actually rendering anything - that's what your local machine does.

  • Founders

    Ahh i gotcha, intended the block chain bit as an analogy of spreading the load across multiple systems to reduce the load per. Servers dont run the graphics but they dictate what is rendered right? Tried to send this to ya in a PM cause its a bit off topic now but i couldnt find a way.

  • Founders

    I'm not a games programmer (trying to learn some bits though), so in my basic understanding a typical game simulation would work something like this:-

    • Player 1 shoots a bullet. The client will send XYZ co-ords for direction and which weapon.
    • The server then simulates the movement of that bullet through the world, and sends appropriate events back to the client. Eg, "Bullet hit tree 7" or "Bullet hit player 2 at point XYZ".
    • The local client would then render tree damage or player damage, blood, rag-doll effects, etc.

    In old Counter-Stike days, the server would receive all the actions from all the players, update the world simulation, then send all the events back to all players in each "tick". The faster the server, and the higher this "tick rate", the more responsive the game would be (excluding effects of network traffic).

    In the new SpatialOS world, all these updates are handled independently by different workers. And I would imagine that different workers would possibly have different priorities and possibly different tick rates. Eg player movement and ballistics would be high, and hopefully 60-100+ tick rate. Whereas animal movement, fire propagation, building updates (open / close doors, etc) could quite well work without any issues at much lower tick rates.

  • Admin

    Explaining this is a little out of my depth to say the least, however it's been discussed in some of our video series, along with some cool examples of a game called "Survival" as a demo using SpatialOS. Definitely worth watching them if you're interested in the tech behind it :)


Join the Mavericks Discord

Mavericks Discord

Recent Topics