Creepts is a cheat-proof tower defense game from the makers of Cartesi. There is no public demo available, but the developer has released images of a private demo that it says runs on the Rinkeby Ethereum testnet.
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 may be 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.
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 be a fun game or whether it 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.