All Projects → cozuya → Secret Hitler

cozuya / Secret Hitler

Licence: other
A web adaptation of the social deduction board game Secret Hitler. https://secrethitler.io

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Secret Hitler

Etherealengine
C++ Game Engine and Editor
Stars: ✭ 653 (-11.04%)
Mutual labels:  game
Godot Make Pro 2d Games
A-RPG demo made with Godot, MIT-licensed, from our Godot course
Stars: ✭ 674 (-8.17%)
Mutual labels:  game
Emoji Minesweeper
💥💣💥
Stars: ✭ 706 (-3.81%)
Mutual labels:  game
24a2
🏵 An ultra-minimalist game engine
Stars: ✭ 656 (-10.63%)
Mutual labels:  game
Allsketchs
Processing sketches, in which I have worked in the last years; images, videos, prototypes, experiments, tools, works, concepts... Everything is unfinished, some may not work, When I had no ideas, I would open one to see what it was...
Stars: ✭ 666 (-9.26%)
Mutual labels:  game
Invaderz
Space invaders, but the invaders evolve with genetic algorithm
Stars: ✭ 686 (-6.54%)
Mutual labels:  game
Interplanetary Postal Service
Lunar lander type game with computational fluid dynamics
Stars: ✭ 620 (-15.53%)
Mutual labels:  game
Contained.af
A stupid game for learning about containers, capabilities, and syscalls.
Stars: ✭ 730 (-0.54%)
Mutual labels:  game
Kubeinvaders
Gamified Chaos Engineering Tool for Kubernetes
Stars: ✭ 673 (-8.31%)
Mutual labels:  game
Nanoserver
DEMO: Mahjong server base on nano(https://github.com/lonng/nano)
Stars: ✭ 706 (-3.81%)
Mutual labels:  game
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (-10.76%)
Mutual labels:  game
Hilo
A Cross-end HTML5 Game development solution developed by Alibaba Group
Stars: ✭ 5,723 (+679.7%)
Mutual labels:  game
Open Source Ios Apps
📱 Collaborative List of Open-Source iOS Apps
Stars: ✭ 28,826 (+3827.25%)
Mutual labels:  game
Awesome Monogame
A collection of interesting libraries/tools for Monogame based game projects
Stars: ✭ 655 (-10.76%)
Mutual labels:  game
Casino Server
🔥 An online poker game server powered by Redis, node.js and socket.io
Stars: ✭ 721 (-1.77%)
Mutual labels:  game
Betago
BetaGo: AlphaGo for the masses, live on GitHub.
Stars: ✭ 639 (-12.94%)
Mutual labels:  game
Abstreet
Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Stars: ✭ 6,355 (+765.8%)
Mutual labels:  game
Effekseer
Stars: ✭ 728 (-0.82%)
Mutual labels:  game
Xingo
高性能golang网络库,游戏开发脚手架
Stars: ✭ 727 (-0.95%)
Mutual labels:  game
Expo Crossy Road
🐥🚙 Crossy Road game clone made in Expo (iOS, Android, web), THREE.js, Tween, React Native. 🐔
Stars: ✭ 701 (-4.5%)
Mutual labels:  game

secret-hitler

Build Status Contributions Welcome Dependencies Dev Dependencies Styled with Prettier

Secret Hitler is a dramatic game of political intrigue and betrayal set in 1930's Germany. Players are secretly divided into two teams - liberals and fascists. Known only to each other, the fascists coordinate to sow distrust and install their cold-blooded leader. The liberals must find and stop the Secret Hitler before it’s too late.

Effectively this is a take on the classic social deduction/hidden role board game genre such as Werewolf and Mafia, but closer to the Resistance. Games are 5-10 players, the minority (fascists) know who everyone is and the majority (liberals) don't know anything. Over the course of the game the liberals need to try to identify the fascists to win and the fascists need to remain hidden, with an extra "superfascist" role with an additional win condition for both sides.

This codebase is a "lobby style" implementation of this game - anyone can make a game which is displayed on a list on the "home" page. The game starts when enough players are seated. In addition, anyone can watch a game in progress, etc.

Current production/stable is found at Secret Hitler IO.

Screenshot

Considering contributing to this project? Please read our brief guidelines found at CONTRIBUTING. Contributors get a cool special playername color!

Front end: React, Redux, Sass, Semantic UI, jQuery, SocketIO.

Back end: Node, Express, Pug, Passport, Mongodb with Mongoose, SocketIO.

Installation

Install node.js version: LTS, have it in your path.

Install git, have it in your path.

Install mongodb, have it in your path.

Install redis, have it in your path.

Install yarn for your OS.

then

git clone https://github.com/cozuya/secret-hitler.git
cd secret-hitler
yarn

If you're receiving an error like "Found incompatible module", try using yarn --ignore-engines

Running in dev mode

Start development:

yarn dev

Navigate to: http://localhost:8080

You'll most likely need a browser extension such as Chrome's SessionBox to have multiple sessions on the same browser. No, incognito will not work. When developing in Chrome, you'll want to check "disable cache" on the network tab - my webpack setup isn't great and it doesn't cache bust itself. Also it will be very helpful to make all of the "quickdefault" accounts with the default password, snipsnap, so that you can log in to an account in one click. There is a yarn script you may run once server or dev yarn scripts are already running called create-accounts which will attempt to populate all of the helper accounts into the database.

yarn create-accounts

Assigning a local mod:

In order to better test all functions of the site in a local development environment it is useful to assign an admin account. This is done for you through the secret-hitler/scripts/assignLocalMod.js file courtesy of contributor Hexicube. After running the create-accounts script you will have the helper accounts populated into the database. Running the next line below will then assign Uther to the admin staffRole to better test all site functions in testing.

yarn assign-local-mod

Upon seeing the end result in the terminal of Assigned. you will know it worked. Just refresh your localhost:8080 page at this point and then you will have a local mod to test additional functions of the site with in a development mode environment.

Running in production mode

Don't. Please respect the maintainers and contributors who have given their time for free to make SH.io as good as it is. Running this codebase outside of SH.io may have unintended consequences.

Statistics

Production has a limited set of data on the /stats page, check network traffic for the XHR for that if interested. If you'd like to do more detailed data analysis, please contact the maintainer for a dump of the (anonymized) profile and replay data.

License and Attribution

Secret Hitler is designed by Max Temkin (Cards Against Humanity, Humans vs. Zombies) Mike Boxleiter (Solipskier, TouchTone), Tommy Maranges (Philosophy Bro) and illustrated by Mackenzie Schubert (Letter Tycoon, Penny Press).

This game is licensed as per the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

Alterations to the original game

Minor image alterations and editing (assets available upon request).

Veto power is slightly adjusted so that chancellors need to select a policy prior to saying yes or no to vetoing that policy.

Adapted the rules explanation to account for online vs physical play.

There is an option when players make a game to "rebalance" the 6, 7 and 9 player games - 6p starts with a fascist policy already enacted, 7p starts with one less fascist policy in the deck, 9p starts with two less fascist policies in the deck. Players (and results from analyzing statistics) have noted that these game modes are not balanced well in the original ruleset.

There is a custom game mode where game creators can make games with different rulesets such as being able to pick policy powers, pick number of fascists (always less than liberals), number of policies, etc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].