Pikkotekk’s “1000-Player FPS”

By Jim Rossignol on March 7th, 2011 at 12:29 pm.

And not even any space marines!
Swedish network technology company Pikkotekk got in touch to tell us about their new project: putting 1000 players in the same shooter, with everyone on the battlefield able to shoot everyone else. “About one year ago, we were talking with CCP and we came up with this idea that if we made a MMO FPS in Unity, the technical achievement would be of such magnitude that it would even impress random women in bars,” says Pikkotekk’s Christian Lönnholm. He might not be quite right about this achievement being quite that level of magnitude, but the concept is certainly impressing me. More below.

The idea is to create server architecture that will handle hundreds, even thousands, of players in the same game world. The technology relies on overlapping “cell servers” which work a little like mobile phone networks do in the real world: the person walking around a city doesn’t notice when his call moves to the nearest mast, and so it will be with the cell-servers in Pikkotekk’s Pikko Server.

The Pikko architecture consists of Pikko Server and several cell servers working together. Players in an online multiplayer game connect to Pikko Server, which handles load balancing between the cell servers. The cell servers handle physics, game logic and more.

Each cell server handles only the activity in a small part of the virtual world. The cell servers can be seen as cells in a virtual mobile phone network. When a person with a mobile phone moves in the real world, the phone will switch to the closest base station without the mobile phone user noticing it. In the same way, a player moving around in a virtual game world will switch completely seamlessly between the different cell servers.

It should, they claim, mean that the main limit on displaying players in the world will be with the cilent, and not the sever. Full tech blather can be found here (PDF link).

Illustrative video of Pikkotekk’s Unity-based mock up of “Robots Vs Tanks” can be found below. They’re aiming for a 1000-person FPS world record event sometime in the near future, based on this idea. For stay tuned for information on how to get involved in that.

World Record from pikkotekk on Vimeo.

, .

39 Comments »

Sponsored links by Taboola
  1. Dinger says:

    Okay, so the first question I’d ask is: how is this different from the 1000-Player FPS of, say, World War 2 Online, which also featured location-based sorting?

    For that matter, how is this going to solve the problems with every other MMO out there (especially fighting ones such as Eve, WW2OL, Aces High and so on), namely that in combat-games, you tend to get extremely high entity counts in very small spaces? You know, the furball grows until it reaches the limits of bandwidth or computing power, and then it stabilizes (as it’s no longer fun) or the server crashes.

    • Cooper says:

      Maybe the cell-size is dynamic in this case? But surely that’s been tried before.

      In anycase, yes, this is hardly amazingly new. Doing it in unity is pretty nifty though.

    • Player1 says:

      Very interesting points made here…

    • Christian Lonnholm says:

      Great questions! We have solved the computing problem by dynamic cell sizes, and the bandwidth problem is solved by having interesting tools for LODing and optimizations. What is new is how we transform a single core game server into a cluster of cell servers and scale it very nicely.

      //Christian

    • Torgen says:

      These guys are going for an infinitesimally small fraction of FPS realism compared to WWII Online. WW2OL has not only far more detailed models (including interior components) and armor values, but runs realtime ballistics and penetration calculations on every projectile fired. Think of how many machine gun bullets and cannon shells are being fired in a 200 vs 200 battle. Their game tracks the joules lost as every single projectile impacts and penetrates something (or gets lodged), calculates ricochets, etc.

      Then the game calculates and tracks how the damage affects each vehicle in the physics-based movement system.

      I’d imagine this game is using simple hitscan combat and “hit points” for the models.

    • Dinger says:

      Thanks for the reply Christian. I look forward to seeing it on my browser soon!

  2. Premium User Badge

    Crimsoneer says:

    That video didn’t make it look like much fun, but I’m still rather excited by the idea of a BROWSER BASED 1000 player FPS. With this and Planetside Next coming up in the optimistically soon future, it’s looking good for virtual war :)

  3. triple omega says:

    They may be able to get 1000 players in one game, but will it matter? If people are in the same game, but never interact directly or even see each other, it’s just an open-world MMO really. If they can get a 1000 player battlefield going Total War style, then I’ll be impressed.

    • Christian Lonnholm says:

      Dear triple omega, you are correct that it is of huge importance to be able to see and interact with all 999 other players in a game such as this. Otherwise, you are not really playing with each other. In Tanks vs. Robots, you can see and shoot all 999 other players. The only downside to this is that they can see and shoot you too.

      //Christian

  4. Springy says:

    This would be nice. Like PlanetSide but without the massive rubber-banding whenever more than one Vanu in a corridor brings a Lasher. And more than one hitbox per person would be pleasant, too. I always hated dying because someone managed to clip my toenails with bullets.

  5. Matt says:

    I wish Unity would release a standalone player; it always seems to hiccup in my browser.

    • Calneon says:

      The developer can publish to .exe as well as to web. It’s their decision, Unity lets you do both.

  6. Gonefornow says:

    But that is not crappy looking. People really need to set their priorities straight.

    Also a very Epic trailer I must say. The music is shockingly chill inducing.

    And once again it’s red things versus blue things! Why is that?! Are they afraid of change?!
    Make it lilac vs. green’ish, please.

    • Farewell says:

      Red & Blue are generally quite colourblind-friendly. You’d be suprised how hard it can be for a lot of people (about 10% of males are colourblind) to play games where the developers chose red and green to seperate friend from foe.
      Lilac looks plain gray to me though, so I doubt I’d have trouble seperate seperating it from green – but there are a lot of combinations that can cause trouble.

      Incidentally, players wearing red outfits are harder [than blue] to spot against green jungle/forest backgrounds.

    • Tei says:

      There use to exist 3 colors in QuakeWorld TeamFortress. Red, Blue and Brown. But no one want to be Brown.

    • Phasma Felis says:

      When Altitude started allowing map designers to set custom team colors to fit the map scheme, they also had to add an option for colorblind players to force it back to red&blue. So that’s sort of a functional workaround, but then you get confusion in chat when you see red and blue and somebody’s talking about purple and yellow or whatever.

  7. tanith says:

    1:10 reminded me a bit of the beginning of the battle between the Gungans and the droid army of the trade federation.
    It looks interesting enough, I guess. Hope I don’t miss it.

  8. Sweedums says:

    Hmmm… imagine 1000 player mp games of Arma 2, 500v500, no respawns, basically fighting for control of a big chunk of the map, when you die, thats it, its up to your teammates to finish the job.

    One can dream.

    • kulik says:

      Or imagine Mount and blade multiplayer battle with 500 vs 500 armies! :-O

  9. Premium User Badge

    The Sombrero Kid says:

    Theres a Siggraph article from a few years ago that done this with Quake 3, by figuring out people your most likely to want to know about & only communicating with you about them, based on stuffl ike who you’re looking at who’s looking at you & where you’re likely to be in the short term, it was really impressive & they proved it can work.

  10. Rond says:

    Could anyone please tell me what a “Unity FPS” means for me as for a potential player? I remember playing a couple of Unity-based arcade games in my browser, and they looked rather ok (for a browser game), but what’s a big FPS gonna be? I don’t know what to think about Interstellar Marines and now this.

  11. JohnnyMaverik says:

    If they really mean armies 500 strong lining up to do war, then that really will be something.

  12. cpy says:

    Damn wish world of warcraft converted their servers to cell-based world and unite milions :D
    Or at least few thousands :D

  13. ScubaMonster says:

    I realize this is a mock up so I’m not going to comment on the graphics. But this isn’t exactly what I would like to play for a MMOFPS. UFO’s and tanks? If I could be a soldier who has the option of manning a tank, then okay. I know this is a Unity based game so it’s going to be limited somewhat, but this hardly looks like my idea of a fun MMO FPS.

    I want to be a soldier on the battlefield who can pilot planes/ships or hop into a tank and other vehicles. I don’t want to play space invaders in first person view.

  14. itsallcrap says:

    Ideally, they would cut out the middle man and just write a Unity app to reliably impress random women in bars.

    • Torgen says:

      Well you *can* export to both iPhone AND Android now in Unity.

  15. Longrat says:

    Sounds incredibly, and even dangerously ambitious. Godspeed to them!

  16. jonfitt says:

    The actual game and gameplay are the least relevant things here. I have no doubt it will play like a fustercluck. But it’s the networking technology which is interesting. It may kick start a whole new wave of multiplayer gaming.

    Good luck!

  17. CMaster says:

    My only concern with what they propose is for mobile phones, it doesn’t matter if the guy stood next to me is connected to a different cell.
    For this game, regardless of what physical cell they are on, if they are right next to me, I need to be able to see them…

    • jonfitt says:

      So this is a guess, but I’m thinking that the cell a user is in will determine which base station (server) he will be talking to. Users in proximity being on the same cell makes sense because their communication (i.e. violence) will be frequent. Communication between users on different servers must be transferred between the servers and then back down to the users. In a mobile network that delay is assumed, you don’t really expect users to be on the same cell, but here it will be problematic.

      At the cell boundary there will be instances where users are in close proximity but relying on information from another cell. I don’t know if they’ll perform a handover of users to keep them grouped well, or maybe create a new cell? There’s all kinds of ways to tackle that.

      The real cleverness will also be in paring down what needs to be transferred between cells and how to determine what information each user needs. Also cell breathing to encompass the right number of users for balancing and all that jazz.

    • Premium User Badge

      thristhart says:

      The technical details explain how it works pretty well. When you come close to the boundaries of a cell, the cell that it borders on creates a ‘proxy object’ that represents you to the members of the other cell. So if they shoot a proxy object on their cell, the cell communicates with YOUR cell to indicate “hey they shot you”

      it’s a little more complicated than that, but that’s the gist of it.

  18. Forceflow says:

    Wow, it’s written in Erlang.

    You masochists.

    (nice job though)

    • Tacroy says:

      To be fair – this sort of large scale, super multi-threaded and yet still interdependent sort of server-side thing is exactly what Erlang is designed for.

    • Tei says:

      This cool model editor, Wings 3D, is also written in Erlang :D
      Well..is the only 3D editor that make sense to me, being easy to use and easy to learn. All others 3D editors seems to make a point by being hard to learn and hard to use.

      Also, I could be wrong, but I remenber Erlang is the only interpreted language that has proven to be faster than C in some benchmarchs (note: ignore all the java guys).

  19. RegisteredUser says:

    A game that will finally reflect the pointlessness of war and the meaninglessness of any single individual in it!

    Likely with the fastest spawn-to-respawn-due-to-randomness time ever!

    Well, if that isn’t a major draw then I don’t know what is!

  20. wigburld says:

    900 concurrent entities on BigWorld Server in 1999
    100,000 concurrent entities in 2005
    http://bgwld.co/jMFWUA