Interactive Fiction Game

Game file:
node::name::description

edge::node from::command[,command]*::node to[::constraint name[,constraint name]*]

object::location node name::unique name[,name]*::short desc::desc::weight

constraint::name::object name::state name | "backpack"

backpack::max weight::VALUE
Example:
node::lab::You are in the lab. It has exits to the east and west.
node::southern antichamber::You are in the southern antichamber. There is an exit to the north.
node::northern antichamber::You are in the northern antichamber. There is an exit to the south.::c1

edge::lab::go north,north::northern antichamber
edge::lab::go south,south::southern antichamber

object::southern antichamber::key1::golden key::A beautiful golden key::1.0

constraint::c1::key1::backpack