All Projects → aurule → npc

aurule / npc

Licence: MIT license
Game master's tool to manage characters and other campaign files

Programming Languages

python
139335 projects - #7 most used programming language
Mako
254 projects

Projects that are alternatives of or similar to npc

pandt
A tabletop role-playing game system
Stars: ✭ 17 (+30.77%)
Mutual labels:  tabletop-gaming
NPCLib
(Minecraft) NPCLib – Basic non-player character library.
Stars: ✭ 183 (+1307.69%)
Mutual labels:  npc
slack-emoji-upload
Slack emoji uploader, CLI. single binary, no dependencies. linux, osx, windows.
Stars: ✭ 28 (+115.38%)
Mutual labels:  npc
vscode-dmbinder
Visual Studio Code extension for managing campaign documents.
Stars: ✭ 53 (+307.69%)
Mutual labels:  tabletop-gaming
CompactNPCLib
Library to create NPCs
Stars: ✭ 22 (+69.23%)
Mutual labels:  npc
solarisskunkwerks
No description or website provided.
Stars: ✭ 52 (+300%)
Mutual labels:  tabletop-gaming
rollem-telegram-bot
🎲 An RPG dice rolling bot for Telegram.
Stars: ✭ 26 (+100%)
Mutual labels:  tabletop-gaming
airboardgame
AirBoardGame is a virtual tabletop to play and create any boardgame online with your friends
Stars: ✭ 45 (+246.15%)
Mutual labels:  tabletop-gaming
rpg tools
rpg_tools is a toolbox for tabletop games and RPGs
Stars: ✭ 53 (+307.69%)
Mutual labels:  tabletop-gaming
world
This is a fantasy world generation API and set of Go packages for the same.
Stars: ✭ 42 (+223.08%)
Mutual labels:  tabletop-gaming
TTS-Codenames
A LUA script for Codenames on Tabletop Simulator for Steam.
Stars: ✭ 25 (+92.31%)
Mutual labels:  tabletop-gaming
RPG-Web-Character-Creator
Character generator for Fantasy Flight Games' Genesys
Stars: ✭ 45 (+246.15%)
Mutual labels:  character-creation
BG1NPC
The BG1 NPC Project adds a great deal of content by expanding the depth of character and levels of interaction with the NPCs from the Baldur's Gate game. Requires Tutu, BGT, or BGEE.
Stars: ✭ 32 (+146.15%)
Mutual labels:  npc
NPC
The NPC plugin for PocketMine-MP
Stars: ✭ 28 (+115.38%)
Mutual labels:  npc
TF2 NextBot
TF2 NextBot stuff using base_boss
Stars: ✭ 26 (+100%)
Mutual labels:  npc

NPC - A GM Campaign Management Tool

GitHub version

About

NPC is a tool to make my life easier when I'm running tabletop RPG games. It automates and streamlines a few tedious tasks like managing plot and session notes, and managing character sheets.

NPC is very much a personal project. It works well enough for me to use at my weekly game, but that's it. That said, if you use it and come up with suggestions or bugs, open an issue! I'll at least take a look 😃

This readme and the project's ReadTheDocs are the main documentation for the project. The source code is pretty thoroughly documented, too.

All code is hosted on github.

Requirements

NPC requires at least:

All packages can be installed with pip -r requirements.txt.

Installation

NPC can be installed in a few ways.

The recommended way is to download the debian package for the latest release and install it as normal.

If you're using a different system, download the latest release tarball and unpack it (or clone the repo). Install the required packages above in the most appropriate way for your system, then run make install to symlink the launcher scripts. To uninstall the binaries, run make uninstall. If you'd rather handle the symlinks yourself, link the script npc.py to somewhere in your path, like ~/bin.

Finally, you can download or clone, then run pip install .. This installs npc like any other python package, including launcher scripts.

Usage

NPC is used through the command line. It has several commands which do different operations on the current folder, called a campaign. See ReadTheDocs for the basics and a rundown of available commands, along with configuration and other docs.

Testing and Development

To set up the development environment, create and activate a venv and run bin/setup. It'll ensure everything is installed and ready to go.

Requirements

These can all be installed with pip install -r requirements-dev.txt.

After cloning, I like using virtualenvwrapper to manage the venv:

mkvirtualenv -p /usr/bin/python3 -a ~/Workspace/npc -r requirements-dev.txt npc

Then call workon npc to launch into the venv.

Running Tests

Go to the root project directory and run python -m pytest or make test.

To generate a coverage report, run make coverage.

Release Process

Releases are handled through GitHub Releases.

  1. Update the version number in npc/version.py
  2. Update the Changelog and remove the [unreleased] text from the to-be-released version number
  3. Checkout master and merge in develop.
  4. (optional) Create a tag on master containing the version number, like 1.4.2.
  5. Go to the GitHub Releases page and draft a new release
  6. Use the version number as the tag name, and use the master branch
  7. Add a title and description
  8. (optional) If releasing premade packages for this release, add them now
  9. Publish the release
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].