You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
eeeeeta a5fe422dcc Merge branch '8p-wolfgame' 7 years ago
static Merge branch '8p-wolfgame' 7 years ago
varlibs prepare engine for linkage 8 years ago
.gitignore prepare engine for linkage 8 years ago
LICENSE Logo and README, for the public's edification 8 years ago
README.md Logo and README, for the public's edification 8 years ago
Tupfile prepare engine for linkage 8 years ago
Tupfile.ini prepare engine for linkage 8 years ago
package.json package.json 8 years ago
wolf.html Merge branch '8p-wolfgame' 7 years ago
wolfbridge.js Fully functional 8 player wolfgame, and voting improvements 7 years ago
wolfgame.c Fully functional 8 player wolfgame, and voting improvements 7 years ago
wolfserver.js The Great Client Refactor - massive cleanup 7 years ago

README.md

Ultimate Wolfgame

Ultimate Wolfgame

Ultimate what?

Wolfgame. It's also called Werewolf, and is a rather popular parlour game amongst technology circles. (see Wired article). It had its roots in a game called Mafia by Dimitry Davidoff, invented in the time of the Cold War.

Traditional versions of Werewolf have required a human moderator to administrate the game. This changes that, by allowing players to use their mobile phones & tablets instead.

How is it played?

The players divide into villagers and wolves. Wolves are allowed to kill one player every night, while villagers vote to lynch one of the players during the daytime, with the aid of some special players (seer, harlot...).

The various roles (implemented in this edition) include:

  • Seer: special villager who may discover another player's role at night
  • Wolf: can choose one person to kill at night
  • Village drunk: special villager with no powers
  • Cursed villager: villager who the Seer sees as a wolf
  • Harlot: may visit the house of anyone at night - is killed if they visit a wolf or the wolves' victim

How is this edition played?

Players navigate to the website (hosted somewhere) and join together with other players. Play continues as per regular Werewolf, but all actions previously done by a human moderator are performed by a computer instead, with players receiving instructions and making choices on their devices.

Technological details

What's the software architecture like?

The core game engine is written in C, and is spawned by a Node.js webserver that helps organise the game and connect everything together. The engine code is completely free of frontend-related things, and thus can be adapted for use in other wolfgame implementations.

Why did you write it like that?

For fun and profit. C is a fun language to program in (much more interesting than JS, anyway) and provides an interesting challenge. I realise that the architecture may not be the best way of doing things, but meh :P

Can I contribute code?

Well, if it works, then sure!

Can I steal the code?

It's licensed under the MIT License. Some files in the static/ directory (external libraries such as jQuery, Animate.css, etc) may be licensed under other licenses and are included here only for convenience.