Skip to content
/ deal Public

A simple playtesting/prototyping tool for physical card games

License

Notifications You must be signed in to change notification settings

inaimathi/deal

Repository files navigation

DEAL

Lisp-based tabletop game prototyping and playtesting tool

Requirements

Deal directly depends on a fuckton of other Lisp libraries, most of which will be installed automatically by quicklisp the first time you run it. If you plan on installing Deal manually, the required libraries are

:alexandria :anaphora :bordeaux-threads :cl-base64 :cl-css :cl-fad :cl-json
:cl-ppcre :cl-who :deal :flexi-streams :ironclad :optima :parenscript
:trivial-timeout :usocket :cl-isaac :session-token :house

Of those, only :session-token and :house are not quicklispable.

Installation

1 Clone :session-token into your quicklisp/local-projects/ directory with git clone https://github.com/Inaimathi/session-token.git, or install it via asdf-install.

2 Pick a directory, and clone this project with git clone https://github.com/Inaimathi/deal.git

3 Start a lisp in that directory and evaluate (ql:quickload :deal-ui)

4 Evaluate (deal::start 8080)

You should now be able to visit [your-server]:8080/ and play.

Optionally

If you're going to be hosting a public server, it's a good idea to set up a reverse proxy, and leave the static file handling up to something that can do it more efficiently than House. I recommend nginx. To make that easier, I've included a config file that you can drop into /etc/nginx/sites-enabled/ if you're on Debian.

TODO

  • Look into iolib/socket as an alternative to the shitty implementation of read-byte-no-hang
  • Sessions should actually expire at some point
  • Add session-expiration hooks

License

This program is released under the GNU AGPL (License text can be found in the LICENSE.md file, or at http:https://www.gnu.org/licenses/agpl-3.0.html). Unofficial, legally non-binding short version: You are free to use, distribute, modify and distribute modified copies as long as you give each of your users (including those that just connect to your Deal server as web clients) access to your (potentially modified) source code.

Deal bundles some javascript libraries.

Deal bundles some images from OpenGameArt.org. This includes

Deal bundles an image from another source.

About

A simple playtesting/prototyping tool for physical card games

Resources

License

Stars

Watchers

Forks

Packages

No packages published