Advice on how to build html5 basic tile game (multi player, cross device)
- by Eric
I just read http://buildnewgames.com/real-time-multiplayer/ which explains the fundamentals and bets practices to build a massive real time multiplayer html5 game.
My question is however given the “simplicity” of the game I need to build (simple kind of scratch game where you find or not something behind a tile), do I really need complex tools (canvas or node.js for example) ?
The game
The gamestakes place with a picture of our office as a background (tilemap). For HR purpose, we wish to create the following game fore employees: each day they can come to the website and click on a certain number of tiles (3 max per day) and find behind it motivation advice and interesting facts about the company.
The constraints and rules
the screen is divided into isometric 2D square tiles. There are basically an image (photograph of our office)
number of tiles on the screen game: about 10,000 to much more (with scroll , see below)
the players can scroll in 4 directions
there are only 2 types of tiles: already open and closed
player can open tiles that have not been yet open by other players
there is no path for players : any player can click on any tile on the screen at any moment (if it’s not already done by another player)
2 players can’t be on the same tile at the same moment (or if they can, I’ll have to manage to see which one clicked on it first)
only one type of player (all with similar roles), no weapon, no internal score… very simple game.
no complex physics (collision only occurs if 2 players are on the same tile)
The target
I need to achieve:
cross device, cross browsers
high performance reaction (subsecond reactions)
average nb of players per hour: up to 10K players per hour (quite high indeed but it’s because we aim at proving our case for the game to our business unit)
So what I would like to know:
2D Tiled map: Do I need tiledmapeditor or can I enable me split the screen like here ?
should I use canvas or plain html/css could be sufficient for my need?
do I need a game engine/framework such as melon.js or crafty./js ? (even if the game play is extremely basic, I do need mouse and touché device support, mouse emulations on touch devices…) or ca I easily/quickly do it without?
for my constraints and targets, should I use CPU acceleration ?
for my constraints and targets, should I use web workers ?
for the database, for a massively real time game should I avoid to put the current locations of player in MySQL as i feel it might slow me down. What kind of DB should I implement ?
Thanks for your help !