npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

play-riot-root

v0.0.1-0

Published

root directory

Downloads

5

Readme

Riot!

Riot is a card game strongly inspired by Bang!.

My friends and I designed this game as kids, with the intention of making a competitive card game with multiple common strategies and a modular rule system.

In other words, we wanted the "meta" to vary over time as other strategies arose, and we wanted to change the game's rules mid-play.

Premise

You find yourself in the sandy streets of Kabul, when suddenly a riot breaks out! The rebels spring to action and take their chance to kill the mayor and his officers. You quickly scavenge what gear you can and prepare to fight for your friends.

How will you survive? Will you fight with guns, blades, or explosives? Or will you attempt to call the town to order in the nearby courthouse?

Gameplay

Roles

Each player is assigned a role at the beginning of the game. These roles are:

  • Mayor
    • Visible to everyone
    • Wins by eliminating all rebels and maniac
    • Draws two cards each turn
    • Plays first
  • Officer
    • Wins by eliminating all rebels and maniac
  • Rebel
    • Wins by eliminating mayor and all officers
  • Maniac
    • Wins by eliminating everyone else

Turns

Players initially draw cards. During the first round, players are unable to attack without the use of consumables. It is advised that players take this turn to equip items and sell duplicates.

After the first round, players are free to attack using weapons. Players can collect a variety of melee, ranged, explosive weapons, in addition to head and body armors to protect themselves.

Court

During each turn, players have the option to call court against another player. This is an opportunity for players to discuss an action in the game and impose their own laws.

Unfortunately the electronic version of this game does not play so well with modifying core mechanics, so we leave enforcement of laws up to the players.

However, when a court case is decided, a punishment is chosen and inflicted on the losing party in the case.

Blackmarket

Players can sell unwanted items to collect cash. This cash can be spent at the blackmarket to purchase powerful, one-of-a-kind items that are unobtainable otherwise.

Contributing

To setup your local development environment, run this code in your terminal:

git clone https://github.com/hawkins/play-riot
cd play-riot
npm run setup

Testing

Unfortunately, testing is currently done manually. You can configure your own local server by running npm run localhost in the root project directory. Then, start the server with npm run server and connect to it with npm run client in as many terminals as you like.

To test deployments, deploy and reconfigure your client by running npm run deploy. This will deploy your code to now.sh and modify the client's URL to match the new deployment. Then, start the server with npm run server and connect to it with npm run client in as many terminals as you like.

Client

The client is currently a TUI made with Blessed. Its source can be found in /client.

Server

The server is responsible for the rules of the game, and is designed to be deployed to now.sh. The server's source can be found in /server.