NanoQuake is an implementation of Yamagi Quake 2 with Nano based transactions and customisations built in.
- It's free to download
- You can play multiplayer with the demo content files
- It's open source, well documented, and has an up to date client (yquake2)
- It runs on Windows, Linux and OS X
- It Doesn't require too much power
Nano is ideal as it is fast and fee-less--ideal for small in-game payouts. It's also surprisingly easy to integrate into a system.
The server which hosts the game has its own Nano account which each player pays into (currently set to a 0.1 Nano buy-in). For each kill you gain a reward of Nano and at the end of the round 3rd place gets 10%, 2nd place gets 30% and 1st place gets the rest.
The Quake2 client has its own python based light wallet. It generates a seed and an account which you top up with funds (ex: 0.5 Nano). Once in the game you can check your wallet balance with the command nano_balance typed into the console (to pull down the console use the ~ key), you can also use the shortcut key b. To pay in to the game use the command pay_nano, this will automatically send 0.1 Nano to the Server and will buy you into the round, you can also use the shortcut key p. Communication between the game and the wallet is via sockets (the wallet has a socket server).
You don't need to pay to play in the games however you only get a payout if you've paid in.
New - There is a mini faucet built into the main servers now, each player receives 0.01 Nano if they have 3 or more frags.
We've gone into the Quake2 source code and inserted variables and commands to manage the nano_address details as well as a socket client using the inbuilt socket library which can then communicate with an adjacent python script. This allows the nano hashing to be written in python. It's not particularly clean but it works well and gets the job done. An earlier version of the client integrated QR codes by hijacking the scoreboard but we've dropped this in favor of the light wallet.
http://discord.nanocenter.org/ in order to join the Discord discussion.