Thanks xeeros for the graphic!

tl;dr — NanoQuake is a modified version of the Yamagi Quake 2 client/server. Using sockets for inter-process communication, we were able to develop a python wrapper which integrates Nano transactions directly into the game. On a higher level, we created an automated e-sports tournament system where players can pay an entry fee and get rewards for frags; the winners of the round split the jackpot. Nano enables ultra-fast transactions and we can perform hundreds of microtransactions per game without any network fees.

The story behind NanoQuake

NanoQuake was a proof of concept example of integrating Nano into a First Person Shooter (FPS) game. We wanted to prove it was possible to have per-kill transactions and to show off some of the unique features of the Nano currency. Quake 2 was chosen due to its historical popularity and well developed open source version (Yamagi Quake). It’s possible to use a free demo to play multiplayer games, which means there is no need to buy a full copy of Quake2. A lot of work has gone into developing a good experience for newcomers, as it was recognized that it has to be really easy to play to encourage adoption.

Ways to Play

A new player can choose to not spend any Nano initially, in order to try out the game. Both free and tournament modes co-exist in the same game round, and by default, everyone starts in faucet/free play mode. You can then choose to enter the tournament at any time.

Faucet/Free Play

By default, players play for free, and if they complete the round and score at least 3 frags, they are rewarded from the faucet. Current servers pay out between 0.01 and 0.02 NANO. The payment is sent to their NanoQuake wallet, which they set up to start playing. The aim of the faucet is to encourage play and introduce people to Nano. The faucet is supported through donations and payouts are made at the end of each round.

Tournament Play

A player can choose to “pay in” by triggering a transaction of 0.1 NANO from their NanoQuake wallet to the server’s account. The funds are added to a jackpot. Each frag is rewarded with a small share of the jackpot. At the end of the round, the remaining jackpot is split between 1st, 2nd and 3rd place. The “pay in” acts as an entry fee to an automated e-sports tournament. The more people who enter, the larger the jackpot. These players are also rewarded from the faucet for each round if they match the criteria.

Player Experience

A player opens the NanoQuake application, which is the modified Quake client wrapped in a python application with its own light wallet (read our previous Nano How on light wallets).

The encrypted wallet is unlocked with a password.

The wallet has its own Nano address and QR code to make it easy to for the player to deposit funds.

Once unlocked, the player can access all the wallet functionalities.

They can then start the actual Quake 2 game and a new window will open.

Quake 2 will definitely bring back some memories to many players.

The player now selects Multiplayer. The common NanoQuake public servers are preloaded, and identifiable as the server’s account is embedded in the server name (without the leading xrb_ or nano_). The servers use vanity addresses to help identify them.

Currently there are NanoQuake servers in UK, Brazil and Asia.

Once the player has selected the server, the application downloads the necessary maps and textures off the server and the player enters the game. As previously described, by default each player is in faucet/free play, but they can enter the tournament by triggering a payment to the server account. There are a number of maps on a rotation.