The history behind Krunker.io

We take a deep dive into the team behind the massively popular web game Krunker.io. We explore some of their past projects and their future challenges.

ioGround | June 11th 2019

The first build of krunker.io was released on May 20 2018, a less-buggy, more complete version of the game was released on 15 June 2018, according to a tweet by the game's lead developer, Sidney de Vries. Krunker.io is the first 3D first person shooter released by Sidney de Vries and his team at Yendis Entertainment. The team has been involved with browser games since mid 2016, releasing early popular io games such as vertix.io.

The summer of 2016 spawned a massive global interest in the newly created io game genre as shown by indie successes such as slither.io and . As a result, vertix.io was receiving plenty of traffic, with De Vries tweeting that it has been played by 5 Million users as of 27 July 2016. De Vries and his team took full advantage of the trend and began releasing additional io game projects.

On August 2016, De Vries releases a simple io game called Driftin.io which he claimed to have made by himself in less than one week as part of a personal challenge. While it received some attention from the io fanbase, De Vries was still keen on capitalizing further on the io game trend. On September 22 2016, he released doblons.io which he claimed to have worked on for about 4 days.

By the end of September 2016, De Vries' io game portfolio was reaching more than 400,000 unique players daily and the io game trend wasn't showing any signs of slowing down. On November 18 2016, De Vries released his fourth io game, bloble.io and his fifth karnage.io on 21 January 2017. By this point, De Vries' io game portfolio had been played several hundred million times. He and his team had learned a significant amount about player behaviour and the tastes of the io game audience.

On 9 March 2017, De Vries released what would be his most successful game by far, Moomoo.io Moomoo.io was an enormous global hit, reaching millions of io game players and having tens of thousands of players online concurrently. Throughout early 2017, De Vries and his team continued worked hard to support moomoo.io, releasing regular bug fixes and updates. An Android version was released on 14 May 2017 and the IOS version on 24 May 2017.

Seeing the popularity of Player Unknown's Battlegrounds (PUBG) and the overall success of the battle royale game game mode, De Vries and his team were one of the first to bring it to the io game genre with their title foes.io. With a similar aesthetic to Moomoo.io and an audience hungry for battle royale games, foes.io received a lot of attention upon release. Unfortunately, the early foes.io player base dwindled away quickly through the end of 2017 and early 2018. Many io gamers chose more popular battle royale titles such as surviv.io and zombsroyale.io.

De Vries and his team didn't let this slow them down, however. De Vries tweeted a link to a semi-polished build of krunker.io on 15 June 2018. Built using Three.js as the 3D WebGL game engine, Krunker.io was able to run fairly well on even low-end machines. In the first few weeks after release, several hundred krunker.io players were online concurrently, by October of 2018, it was in the thousands.

De Vries and his team could tell that Krunker.io had enormous potential. They continued supporting the game with regular bug fixes and updates. The fanbase was very pleased when the account system was released. Players were able to track their stats across multiple games and play sessions. The team soon released a map editor which was met with much praise. Fans were able to recreate their favorite Call of Duty and CounterStrike maps and then share them with the community.

By the end of 2018, Krunker.io was receiving plenty of attention from all kinds of competetive games. De Vries' twitter feed has a bunch of retweets of various competetive FPS teams sharing short krunker.io gameplay montages. By the start 2019, De Vries and his team were hosting regular Krunker.io tournaments with significant cash prizes.

A common criticism of Krunker.io is that the servers aren't big enough. Many lobbies only support a maximum of 6 - 8 players. While Krunker.io has been a massive commcerial success, it shows that the backend architecture is lacking. A simple analysis of the game's networking traffic shows that the Krunker.io servers' tick rate is only 10. That is, the krunker.io servers only update 10 times per second. Compare that to any triple A FPS, krunker.io's tick rate is incredibly low. Counter-Strike, for example has servers which run at tick rates of 64. Fortnite has a more modest tick rate of 30, but this is still three times higher than Krunker's. A low tick rate can lead to many kinds of annoying gameplay problems such as bad hit detection, getting hit while behind cover and glitchy collision detection.

It is rumored that De Vries used an old, open-source version of an early Counter Strike server as a template for the Krunker.io backend. It's believed he re-wrote the Krunker.io server from scratch in JavaScript. Compared to faster, compiled programming languages like C, C++, and Rust, JavaScript runs relatively slowly. Most game servers are CPU bound, meaning the game server's capacity is limited by how many operations the server's CPU can handle. The more players in the game instance, the more operations the CPU will have to handle. Slower languages will reduce the number of operations the CPU can handle and as a result, reduce the number of players the server can handle. This is the likely reason behind Krunker.io's low server capacity.

While Krunker.io is a ton of fun to play as it is currently, without some massive infrastructure upgrades, it's unlikely we'll see 100 Player Krunker.io Battle Royales any time soon.