Skip to content
Roel Cagantas edited this page Jul 7, 2014 · 20 revisions

Welcome to the Giggl wiki!

Giggl is our attempt at making a multiplayer arena shooter.

Dev Resources

Light reading

Sound information

Webpage performance test

Other resources

Game Overview

  • 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.

Client/Server setup

  • 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.

Networking

  • 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.