Giter Site home page Giter Site logo

crea's Introduction

CREA

Connected Roleplay Enhancement Application.

Manifesto

  • CREA is a project that aims to help tabletop RPG players organize and play games online in a real-time manner.
  • While it won't propose to implement every possible game system in existence, it is designed from the ground up to be highly extensible through a system of plugins.
  • As such, CREA is an open-source, free for non-commercial use project.
  • While its core purpose is to enable tabletop RPG to be played seamlessly online, the plugin system should be extensible enough to allow any real-time social activity to happen on its framework.

Planned features

  • Highly flexible plugin system
  • Real-time events
  • Prepackaged native plugins for common tasks such as image sharing, live chat or dice roll
  • Additional plugins for free-to-use game systems (d20, etc.)
  • Authentication and ACLs (player identifcation, private plugins, DM rights)
  • Session management
  • Documentation on how to write additional plugins
  • Documentation on how to install external plugins
  • Plugin packaging and auto-installer

Technicalities

This is a web application developed in Javascript using

  • qooxdoo as a client-side framework
  • node.js on the server-side
    • More specifically the express microframework

Installing / running

These instructions will evolve as the project matures. Right now it's aimed at producing a development version of the project.

You need node.js v0.10.x and Python 2.x to follow these instructions.

  • Download the Qooxdoo >=3.5 SDK from here.

  • Extract the qx folder in this project's parent folder.

  • Run ./generate.py source-all.

  • Do the following:

      path/to/crea $ cd server/public
      path/to/crea/server/public $ ln -s ../../source .
      path/to/crea/server/public $ ln -s ../../../qx .
    
  • Inside the server/ directory, run npm install

  • Go to the server/ directory and run node app.js

  • Point your browser to http://0.0.0.0:3000/source/index.html

Q&A

Why make this project?

I want to recapture the feeling of tabletop sessions with friends who live all across the country. It's also easier to organize a session when you don't have to worry about finding a place, going there and coming back. And it's an interesting technical challenge when framed like that.

Why choose Qooxdoo? It's obscure! You should use Angular/Knockout/Ember/Backbone/Batman/wtfjs

In my limited experience, Qooxdoo is actually the best at enabling creation of rich web applications with limited resources. While I don't agree with all its design choices, I still feel it is a relatively flexible framework and I enjoy working with it.

Why no D&D/WoD/etc. plugins?

Legal reasons.

It seems like the system can only support one group of players at a time. What gives?

This may change in the future, right now I feel this prevents abuse if a corporation were to take it and try to make it a paying service, which I don't want to see happen.

crea's People

Contributors

shin- avatar

Watchers

James Cloos avatar Tanguy ⧓ Herrmann avatar

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.