The game is inspired from a few similarly styled game and takes aspects from each of Risk, generals.io 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.
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.
- 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