GithubHelp home page GithubHelp logo

arvoelke / dixit Goto Github PK

View Code? Open in Web Editor NEW
13.0 3.0 17.0 2.58 MB

Fan-created server for the board game Dixit

License: Other

Python 32.60% CSS 8.58% JavaScript 52.71% HTML 6.10%
dixit cards card-game

dixit's Introduction

Revealing the correct card

Installation

pip install dixit

Starting the Server

dixit

Then go to http://localhost:8888/.

Configuring the Server

Configuration options, such as the port (default 8888), and the location of each card deck (e.g., see dixit/static/cards/dixit/README.txt), are housed in JSON configuration files that are read when you launch the server. Default settings are located in dixit/config.json.

To override the defaults, you may create a JSON file in your working directory that contains a subset of these configuration options. For example, to change the port to 9000, create a new file named config.local.json that contains:

{
    "port": 9000
}

Then pass in this file name when you launch the server, as in: dixit config.local.json. This will override the default configuration with the values in config.local.json.

Alternatively, directly edit dixit/config.json, to for instance, specify which port to use, or to point to the location of each card deck that you have.

Disclaimer

This software is solely the work of several fans of the Dixit board game. It is not intended to replace nor compete with the original board game, Dixit (a registered trademark of Libellud Company), and likewise does not represent the works, views, nor opinions of Libellud. This software is provided as is, without warranty of any kind, express or implied.

Please support the creators, designers, and artists behind Dixit by purchasing the original board game and its expansions.

We do not currently, nor do we plan to, distribute copywritten artwork. Currently all cards must be supplied by you, the user. This server is provided for personal use only (there is no license for commercial use).

Please contact the maintainer if there are any concerns.

Notes

This is an alpha release and may therefore undergo significant changes. Please request features or submit changes to https://github.com/arvoelke/Dixit/.

Thank you to all the developers who have helped so far!

dixit's People

Contributors

angeousta avatar arvoelke avatar fejese avatar sohalt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dixit's Issues

Rewrite to use tornado WebSocket

Currently all of the communication with the server is polling, which is pretty inefficient and unscalable, and also leads to trade-offs in latency. Bidirectional communication with web sockets would be much better, and can be done asynchronously through tornado's WebSocket handler. This will require a modest rewrite of the handler code and the JS.

Create github.io page

Just a thought. Could basically mimic the PyPI documentation but serve as more of a landing page for the project.

Reformat Python code using black

Can also add a Travis CI test that checks black, and possibly some developer information about adding it as a pre-commit hook.

Rethink configuration system

#10 is a definite improvement, but longer term might make sense to rethink the system to be able to, for example, simply pass in a --port argument to the server.

Developer documentation

Following #17, there are a couple things that need to be mentioned somewhere for developers. Mentioning them here for now:

  1. To automatically reformat your code with black before each commit, can do the following:

    pip install black pre-commit
    pre-commit install
    

    or simply run black . from the root directory.

  2. To run the unit tests locally, do:

    pip install -e .[tests]
    py.test
    
  3. To install and run the package from the repository, do:

    pip install -e .
    dixit [config.local.json]
    

    You may wish to enable certain settings like debug=True or set the logging level to INFO.

Both 1 and 2 are done automatically on TravisCI any time a commit is pushed to a branch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.