-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Roel Cagantas edited this page Jul 7, 2014
·
20 revisions
Giggl is our attempt at making a multiplayer arena shooter.
- StageXL is our graphics library. Read the APIs and the examples.
- Game Programming Patterns Just read quickly and use what you need.
- Dart The language we are using. We use this because we are Java devs and JavaScript is just too hard.
- Quake Networking Must read before implementing web sockets.
- Light & Sight Excellent tutorial on lighting and shadows for 2D.
- 2D Lighting Resources More on theory.
- Illuminated JS
- Free Firearm Sound Library A lot of samples for each firearm. Alternate site here
- Volume Adjustment Algorithm
- Sound Image a free for commercial use sound library.
- Game is to be hosted and playable over LAN only (could change in the future).
- The game size is static and set on creation by the game server.
- Players could join any server through a link/identifier.
- Players can shoot while moving.
- Players can shoot in any direction.
- Players can move in any direction independent from shooting.
- Available weapons are pistol, rifle, grenade launcher and rocket launcher.
- Players spawn at a pseudo-random location decided by the server (must be away from everyone else).
- Spawned players are equipped with a pistol (never runs out of ammo).
- Weapons will have a set ammo (except for pistols).
- Weapon drops will be randomized on the map.
- Players can cycle through available weapons on inventory.
- Different types of terrain influence movement behavior of the player.
- Terrain will be randomized at game start.
- Game ends depending on timer or frag/kill limit set by the host.
- One player will decide to have the server running in his process alongside his client.
- He will have to broadcast the server ID or IP to other players/clients manually.
- Upon server creation, map is procedurally generated at the server side.
- Upon joining a server, clients will download the map.
- After clients finish downloading the map, they will be asked to state readiness to join the game.
- If a client has not acknowledged after a set amount of time, it will start the game while dropping the player.
- When all clients have acknowledged or timeout expires, game starts and players will spawn.
- The map is a 2D array of tile types that is sent to players on creation.
- A master game state is managed on the server.
- Players will only send commands (IO) to the server. This includes changes between key states and mouse states.
- Servers will only send game state relevant to the players. Players will not see anything beyond their field of view.