We are seeking artists & graphic designers to help design the upcoming packs of Exploding Chickens! If you have a knack to create awesome card designs and want to give back to the community, drop me a line here.
A beautiful, online alternative to the popular kitty-powered version of Russian Roulette, Exploding Kittens. Exploding Chickens is a card game with explosions and of course, chickens — all crafted on the Node.js platform. The rules are simple. Each player takes turns drawing a card or playing a card, rolling the dice of luck so that they can survive for yet another turn. From there, the drawing deck slowly shrinks and the explosions only become more frequent. So, who will be the last one standing?
- Supports up to 2-5 players
- Utilizes a 51-card base deck
- 20 min average game time
What was the reason for building a complex game like this? Learn more by reading the blog post — Exploding Chickens: Building a web-based game from scratch
As easy as 1, 2, 3..... boom.
- Clone the repo and enter the directory:
git clone https://github.com/rak3rman/exploding-chickens.git && cd exploding-chickens
- Install a MongoDB instance locally or point to your own (more in usage)
- Install packages and run:
npm install
,npm run start
After the first run of exploding-chickens, a config file will be created in the config folder with path /config/config.json
.
This file stores all the environment variables needed for the project, which can be edited when the instance is not running.
The config file will be populated with the following default values:
"webserver_port": 3000
Port where the webserver will accept incoming connections, of type int"mongodb_url": "mongodb://localhost:27017/exploding-chickens"
The url of your mongodb instance (make sure to add "/exploding-chickens" at the end of the url), of type string"game_purge_age_hrs": 12
How old should a game be (in hours) before it is deleted
NOTE: Make sure to stop the instance of exploding-chickens before changing any of these values. If the file is modified while an instance is active, the changes will be overridden.
The npm package supports multiple ways to run the project.
npm run start
Runs the project, plain and simple.npm run develop
Builds the project (see build cmd below), then starts the project and watches for all file changes. Restarts the instance if critical files are updated.npm run test
Runs a test suite built using mocha and chai assert. Tests can be found in path/test
. Travis-CI also runs these tests.npm run build
Builds and compresses the css package, along with any other assets. If something new doesn't look right, give this a shot.
Use ^C
to exit any of these instances. Currently, there are no exit commands or words.
Communal development is a key part of this project. As we all try to make this project the best we can, please adhere to the following style guidelines:
- Preface all text files with the following header comment. If you are editing an item within the file, please add your name to the author section if the contribution was beyond a stylistic nature.
/*\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Filename : exploding-chickens/services/file.js
Desc : a couple lines (1-3+) about the purpose of
the file and what it does
Author(s): RAk3rman
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*/
- Preface all portions of code with the following header comment. If you are editing a code block, please add your name to the author section if the contribution was beyond a stylistic nature.
// Name : global_path.function_name(param1, param2)
// Desc : a brief 1-2 line description
// Author(s) : RAk3rman
- Please use underscore separated function names (ex. my_function_is_awesome).
- Make sure in line comments are clear. Use good coding practices.
- Radison Akerman
- Sengdao Inthavong
- Vincent Do
- Richard Yang
Individual contributions are listed on most functions
Your sponsorship is incredibly important in keeping projects like this running. Exploding Chickens requires a surprisingly large amount of resources. Take server hosting, network infrastructure, and external commissions, just to name a few. We would greatly appreciate it if you could make a contribution of any size to this project. Thanks!
https://github.com/sponsors/rak3rman
This project (exploding-chickens) is protected by the Mozilla Public License 2.0 as disclosed in the LICENSE. Adherence to the policies and terms listed is required.