Creepts is a browser-based, graphical, real-time, decentralized action game that is ultimately coordinated by the blockchain. To play the game, the player must point their web browser to a Creepts Client. Players can download and run their own local copy of the Creepts Client, which comes with a web server that provides the game to the player’s web browser. The Creepts Client then interfaces with the Cartesi contracts in the blockchain on behalf of the player. In the future, players will be able to play Creepts by pointing their browsers to a trusted remote Creepts Client, without needing to download and install anything themselves.
After the player points their web browser to a Creepts Client, they are shown the several tournaments that are available for them to join. Upon selecting a tournament, the player can then play the Creepts tower defense game map of that tournament without actually committing to a multi-player competition. The game runs entirely client-side, on the player’s own browser, as the game is written in Typescript. The tower defense game is single-player, so the player can play the same game map for as long as they like. They can play at their own pace, and they can go back and select a different tournament to play on as many times as they like.
Whenever a player finishes playing a Creepts tournament map, the player’s Cartesi Node (which is part of the Creepts Client) then automatically commits (submits), to the blockchain, a secure hash of their gameplay, which is a log file that lists all of the game moves that they have made. While players keep their exact game plans secret, their committed gameplay hash will indirectly bind them to a specific actual score in the game that can be independently verified. That’s because Creepts is deterministic: any party can replay the game moves listed in a game log file and reproduce a score from that log file.
If no players join a given tournament, then no player wins it. If only one player joins a tournament, then that player wins it by default. If two or more players join the same tournament, then the player’s machines, running the Cartesi dispute resolution system, will automatically check each other’s scores to determine the tournament winner linux blockchain .
After playing a tournament game map, the player is done interacting with the tournament as a game player. Everything that follows is negotiated automatically by the player’s local Cartesi Node. The player will then just wait for the tournament brackets to resolve over time as the Cartesi system works to determine the winner.
After the tournament is closed for gameplay commitments, all players will gradually reveal their actual gameplay logs and submit an unverified final score claim to the blockchain. Players who fail to upload their game logs for the blockchain, for whatever reason, are eliminated.
After a while, the gameplay reveal phase will end, and the player will wait as the Cartesi Nodes, running at every player’s local machine in a fully decentralized manner, verify each other’s actual scores. Cheaters who have reported inflated scores to the blockchain are automatically eliminated.