The game is inspired from a few similarly styled game and takes aspects from each of Risk, and Age of Empires

What it does

Players download and run the binaries. They create accounts and send transactions to the Rook blockchain in order to find other players, vote to begin matches and then carry out game state transitions which are executed by the block chain and sent back to them through the querier.

Game Rules

The game is designed to be played in either teams or as individuals with a large amount of players. Map (a board of tiles) is generated using a determined seed which is the combined input of all the players that are in the game. Each player starts of with their capital and a basic amount of resources. Each turn players choose what move and build actions they want to execute . Players can build an assortment of settlements which are used to create resources and establish a bigger population. These are:

Capital: If you capture all of an opponent's capitals your two teams merge. Produces two population a turn

City: Produces two population a turn. Must upgrade from a town

Town: Produces one population a turn

Farm: Must be placed on land and produces food

Quarry: Must neighbor a mountain tile and produces stone

Lumbermill: Must be placed in a forest and produces wood

Rook: Tower that has three range of sight (population only has 1). If you build a rook near an opponents town, city or capital it stops them from producing any population

The rules of combat are simple. When clashing two populations together the one with the greatest population wins (and is reduced in size by the population of the smaller). Occupying a settlement means that you also get it's resources

Challenges I ran into

I guess just familiarising myself with cosmos sdk modules and the ebiten game engine was enough of a challenge

Accomplishments that I'm proud of

It was nice to get most of the game engine working.

What I learned

A learnt a lot about how the Cosmos SDK works.

What's next for Rook - Multiplayer Conquer Strategy Game

A lot really. It was definitely far more than I imagined but will plan to finish it.

Work includes:

  • There's still a bit of game logic that needs to be ironed out
  • Wiring up an rpc server on the client side to broadcast game messages and query for state transitions
  • Finish the match making aspect of the game. That brings players together
  • Create algorithms for bots so players can play locally. Most of the local framework has already been designed.
  • Add a menu and settings to the desktop application

Built With

  • cosmossdk
  • ebiten
  • golang
  • starport
  • tendermint
Share this project: