Paw Wars is a game that takes place in a world where dogs are the ruling class and cats are treated as lower class citizens. Luxury items are strictly forbidden, but a black market persists. You take on the role of a smuggler trying to provide contraband to cats in need. You travel the world buying and selling items, avoiding police, and hustling to get rich or die trying.
Play it right now in your browser: Play PawWars
If something doesn't work right: Issue Tracker
To contribute to the game: Contributing
- Node.js (Version 10 and up recommended)
- MongoDB (With a database called "PawWars", or change the database at
config.json
)
- Auth0 Account (for OAuth)
- Clone down the repository.
git clone https://github.com/snollygolly/paw-wars.git
- Install node packages (from inside the paw-wars folder).
npm install
-
Create your config. There's a
config.example.json
file in the root. Edit it to include all your values for the site and your OAuth information. Save it asconfig.json
and leave it in the root. -
If you want to use Google Analytics, set
config.site.analytics
to your Tracking ID and make sure the analytics partial (analytics.hbs) contains the correct Universal Analytics tracking code. If you don't want to use Google Analytics, remove that property or set it to false. -
Make sure your database is running or start it up.
mongod
- Start it up.
npm start
- Enjoy!
The game.json
file in the root contains most of the information you'll need to completely customize your experience. Please refer to Paw Wars: The Definitive Guide for explanations of most of the configuration values.
|-- paw-wars
|-- config.json
(config.json holds all the application configuration)
|-- game.json
(game.json holds all game related configuration values)
|-- routes.js
(all routing is done here)
|-- assets
(front end assets go here)
| |-- css
| |-- fonts
| |-- js
|-- controllers
(all controllers go here, no controller logic in routes)
|-- helpers
(helpers for front end [handlebars] and back end [common] are here)
|-- models
(all game logic code goes here, tests run against this code)
| |-- game_life.js
(wrapper for all game sub modules)
| |-- game
| |-- data
(configuration/localization files go here)
| | |-- deaths.json
| | |-- events.json
| | |-- items.json
| | |-- places.json
| | |-- police.json
| | |-- vendors.json
| |-- vendors
|-- tests
(all tests go here)
|-- views
(all view related content goes here)
|-- _layouts
|-- _partials
|-- game
|-- manual