Creepts is a cheat-proof tower defense game in development from the makers of Cartesi. A fully playable demo version of it is available on the Rinkeby Test Network. And for players that don’t own Rinkeby ETH, a more centralized “read only” version is also available to test out.
This article will explain how Creepts works and what makes it unique in the world of blockchain gaming.
Competitive tower defense
Creepts is a competitive tower defense game. Players defend their towers against waves of enemies, so there is a PvE element to the game. But ultimately, the goal of a Creepts player is to score a higher score than other players who are completing the same challenge.
Creepts is a completely deterministic game, like Chess or Checkers.
There are RNG elements to the creation of Creepts maps. But once a map has been created, the score a player obtains is completely determined by the moves he makes. Two different players that make exactly the same moves will always have exactly the same scores.
To prevent problems with scalability, Creepts uses the Cartesi Linux infrastructure for scaleable Dapps.
Cartesi allows Creepts to run game logic outside of the blockchain while also preventing players from cheating.
To begin playing Creepts, the user must download a copy of the Creepts client in his browser, which can be done by simply pointing the browser to a Creepts client page. Once the client downloads, it presents the player with a list of tournaments.
The player chooses a tournament, and the game begins. All gameplay occurs on the player’s own PC. There is no central server for the player to connect to, and no gameplay moves are transacted on the blockchain.
Meanwhile, the Creepts client keeps a log of every move the player makes during the time he is playing. When the player finishes playing, the client submits a hash of this gameplay log to the blockchain.
Because only a hash of the log has been submitted (not the actual log), no other player can read the log to determine how the score was obtained.
Once the time period for submitting scores ends, no further game log hashes are accepted. At this point, each Creepts client submits the actual game log of the player’s gameplay, along with the highest score that was obtained.
These high scores are compared to each other to determine the outcome of tournament brackets. Each player’s client also compares the game logs of every other player to determine whether the high scores reported accurately reflect the game moves recorded in the game log.
If a player tampers with the client to make it produce a fake high score, other players’ clients will verify that the moves made in the game log do not produce the high score that is claimed.
So what if the player submits a fake game log? What if the player connects to the blockchain after the tournament and downloads the highest scoring player’s game log, passing it off as his own?
In this case, the other players’ clients will hash the game log and compare it to the hash that was previously submitted. If the log submitted produces a different hash, all of the Creepts nodes will be able to verify that the game log has been altered.
In this case, the cheating player will be disqualified.
Getting started with Creepts
If you would like to try out Creepts for yourself, here is how you can get started playing.
There are two versions of Creepts available. The first is referred to by the developer as a “read only” version. This version does not require Rinkeby test ETH.
To play the read-only version, navigate to the official Creepts homepage and click the green play now button.
The main menu will open. Do not click play yet. In our testing, we found that clicking play before joining a tournament produces an error message. Instead, click join tournament.
After a few seconds, a tournament will be listed.
Underneath where it says “commit,” click play. This will begin the game of Creepts.
In the upper-left corner is a set of weapons. Each weapon has a certain price.
You begin the game with $500. To buy a weapon, left-click and drag it to a space on a wall you want to position it at. You cannot position weapons in the blank spaces between walls.
Once you are finished positioning weapons, click the pink monster blob at the top of the map. Enemies will begin moving through the map in an attempt to get to the other side.
When an enemy gets within firing range, your weapon will automatically shoot it. This will deplete the monster’s health. And when its health gets to zero, it will be destroyed.
If a monster manages to get to the other side of the map, it will deplete your health by a small amount. If your health goes to zero, the game will end. You score will be tallied based on how many rounds you completed.
If you are unhappy with your score, you can replay the map as many times as you want until the tournament ends. Only your highest score will be counted in the tournament.
Decentralized “write” version
If you enjoy the read-only version of Creepts, you may want to try out the fully decentralized version as well. This version is referred to by the developer as the “write” version of the game.
This version of Creepts runs on the Rinkeby test network. So you’ll need to request Rinkeby ETH if you don’t have any but want to play.
Once you have Rinkeby ETH, open the official Creepts homepage. Then click how to play. Scroll down slightly, and click full instructions. This will give you detailed instructions on how to install the Creepts client and play the testnet version.
Creepts and MMOs
Creepts is a competitive puzzle game, not an MMO. However, the developer of Creepts believes that the technology behind it may someday allow for the creation of massive, decentralized virtual worlds.
Decentralized MMOs are usually thought to be impossible given current blockchain technology, since the amount of data a blockchain would need to process for one would be far beyond the blockchain’s capabilities.
The creation of Creepts seems to indicate a way out of this circumstance by allowing game logic to be processed off-chain, yet without a central server.
It’s too soon to know whether Creepts will lead to greater innovations in blockchain gaming.
But it does provide a unique solution to the problem of scalability. We’ll keep an eye on Creepts and the Cartesi infrastructure as time progresses. And we’ll update this article as new developments occur.
What do you think of computing game logic off-chain – with safeguards to prevent cheating? Is this a real solution to the problem? Or should we just stick with trying to make blockchains faster instead of coming up with off-chain solutions?
Let us know your thoughts in the comments below.