
I'm setting up a Web game. Actually I'm going to be setting up two of them, one I can talk about and discuss the design here, and one that I can't until it's ready for beta testing. In this series of articles, I'm going to be looking at all aspects of setting up and running a web game. The series will look something like this:
- Game Design
- Game Implementation
- Setting up a game server
- Implementing the Browser client
- Implementing the back end
- Admin and Security
- Monetizing the Game
- Anything I've forgotten
Game Design
The game has the domain name http://webgame.im (It's not live yet— still being developed!) and is a 6-50 player strategy game of conquest. Starting on a large continent (possibly two or more smaller continents), each player begins with a variety of little empires with towns and cities. Your job is to conquer the world by capturing territory and defeating other players. It sounds a little like Risk but it's not, for instance it uses simultaneous play not sequential turns like player 1 moves, then player 2, etc. This is a semi real-time game with a turn lasting a pre-specified period of time — typically two hours. You can login anytime before the turn is processed and add new armies and give orders to move them. Then every two hours, all orders are processed, armies move, fight, and new armies become available. You can see the results of combat and the size of your empire and start giving orders for the next turn. The game is played in your browser. While it would be possible to process turns in real-time (or at least once a minute), not everybody could manage to play at that speed. However it is configurable so when the game is created, the number of players, map size and game turn time are entered and fast games are possible.The Game
The draggable scrolling map is made up of a large number of hexagons. These are sea, open land, mountain (impassable) or open land with a town or city. Possession of town and city hexes are important and provide you with extra armies each game turn. Possession will be shown by color, shading, small digits or a border round the block. The image shows one possible layout created with the paid version of the excellent shareware tool, Hexographer. Here every occupied hex has a border and a number showing the owning player's number. The large number in some owned hexes is the army size. Making this scroll smoothly will be interesting but I believe it's possible, using the HTML5 <canvas> tag. There are a few libraries and frameworks I have to investigate.Game Play
After logging in to the site and joining a new game, you'll see the game map and a mini map that lets you move quickly round the main game map. You'll see a number of armies available as reinforcements and you can add these to any hexagon you own by clicking the add button and then clicking on the location. Once the total reaches 50 in a hex you can't add any more. You can give two types of move orders.- Order all or some of your armies to move to any other hex you own in the same contiguous block. Reinforce or split them.
- Move them to any non-mountain land hex that you don't own next to any hex that you own in that block.