Skip to content
Alice Zoë Bevan–McGregor edited this page May 12, 2019 · 12 revisions

jikca

A multiplayer interactive fiction game engine.

You are standing in an open field west of a white house with a boarded front door. There is as small, sad, empty mailbox here, its own door, and flag, having been removed through violent force at some point in the recent past. You are also surrounded by a strangely pressing crowd of 23 other people. Every one looks guilty.

A deep male voice shouts over the ambient din, “Someone shot the food!”

  1. Introduction & Overview
  2. Installation Instructions

Introduction & Overview

TBD

Requirements

Jikca has relatively minimal requirements, and some helper scripts to try to make setup easier. Unfortunately we can not automate the installation or preparation of everything. To wit, these are prerequisites to begin:

  • A Python 3 language interpreter. The codebase is tested against CPython, the default or standard interpreter often pre-installed on many UNIX and UNIX-like systems, and Pypy, an "optimizing" interpreter itself written in Python suitable for very large or complex worlds… universes… or multiverses.

  • A MongoDB database storage server. This must not be exposed to the internet. We always recommend running the latest version, but any version >= 4.0 should be sufficient to reliably persist a game world.

Installation Instructions

We recommend installing the jikca service within a Python virtual environment, a form of light-weight container to help keep all of the source files organized together, and to not pollute the system-level installed set of packages. (This also saves needing elevated administrative permissions.)

Creating and activating the runtime ("virtual") environment.

As a core feature of the Python 3 language, you can execute the following in a terminal to get set up:

  1. First, change your current working directory to the desired location for your project environment to be stored within.

    mkdir ~/Projects
    cd ~/Projects
  2. Next, get Python to construct a new directory to contain the project, then populate it with a standard subdirectory structure and a "standard library" of Python code.

    python3 -m venv jikca
  3. Change the working directory to the newly created environment, then activate it so that Python will utilize it when invoked.

    cd jikca
    . bin/activate
  4. Install the version of the service you need. "Extras" are used to declare the group of additional packages that will be automatically pulled in when invoking the command.

    # Support a local, single player experience.
    pip install 'jikca[single]'
    
    # Only install the client components, not server or engine.
    pip install 'jikca[client]'
    
    # Do not install client components, only the server and game engine.
    pip install 'jikca[host]'
Clone this wiki locally