Title
-----

Pyrotrash


General
-------

Tile map. A tile can be
- clear
- ladder
- rock
- coal
- rock/coal
- rock\coal
- coal/rock
- coal\rock

Players can move left and right, climb ladders, fall, or shoot attacks in any direction.

Game is played by 2-4 players, chosen out of the four characters available.


Characters
----------

Crisp packet
- movement: rolls and rustles along
- attack: crisp storm - pops itself open and sends loads of crisps in direction specified
- medium speed, medium damage

Milk bottle
- movement: dances and hops along
- attack: sour milk globules
- fairly fast, fairly weak attack

Energy drink
- movement: rolls along
- attack: caffeine beam
- very fast, weak attack, not damaged much by fire

Burnt chicken
- movement: waddles
- attack: flaming stuffing
- slow, powerful, can set stuff on fire, not damaged much by fire

Miners (not player-controlled)
- They hold torches to light the way
- They move randomly on the server - moves are sent through to clients
- If you knock a miner over while he's standing on coal, the torch sets fire to that coal


Fire
----

Tile edges can be on fire or not at each pixel.
Fire/smoke is animated using warp plasma thingy whose velocities depend on where the tiles are
Fire spreads along tile edges
Any tile with fire in it will harm any miners/players in that tile


Game logic and network lag consideration
----------------------------------------

Players control their garbage - updated in real time on the client.
Other players are of course lagged.
No player-player collisions.

If a player walks into the fire, the server updates the player on how burnt it is.
There are no manoeuvrability changes - so this being lagged doesn't matter.

When a player fires an attack
- server receives it, propagates it in a straight line, and lets it hit a player - or the level
  - this is sent through to every client as it happens
- sending client sees it pause until server has acknowledged it - then it goes
- uninvolved players just see it go
- hit player sees it go until it's supposed to hit - then it route-finds to the hit player


Presentation
------------

Newspaper headlines spin in:
"WEST VIRGINIAN MINE FIRE KILLS TWO"
"FIRE UNDERGROUND: Reckless disregard for safety results in record fine"
"$1.5 MILLION PENALTY FOR FATAL MINE FIRE"

Then newspapers spin out to reveal, "We are about to show you what really happened."

Then into the game menu.

Game menu:

"~ Trashburners ~"
Same menu as in Bananza

When you join a room, you get to choose a character
Game starts if there are 2-4 players and they all agree to start


Packets
-------

client sends C2S_GAME_NAME
server sends S2C_GAME_SLOTS which says "game full" or "these characters are available"
server may send overriding S2C_GAME_SLOTS at any moment
client sends C2S_CHOOSE_CHARACTER or C2S_CLOSING
server ignores invalid
server accepts valid and adds player to game as in Bananza - except in WAITING state
