Skip to main content

A text-based adventure game engine with natural language processing

Project description

soliloquy

A modern text-based adventure engine that transforms natural writing into interactive experiences.

Features

  • Simple YAML-based game definition
  • Modern terminal UI with text effects and colors
  • Natural language command processing
  • Character dialogue system
  • Inventory management
  • Game state tracking with flags
  • Hidden objects and secret passages
  • Events and conditional triggers

Installation

pip install soliloquy

For neural language processing features (optional):

pip install soliloquy[neural]

Quick Start

Create a new game:

soliloquy create "My Adventure"

Run your game:

soliloquy run my_adventure

Game Structure

A Soliloquy game consists of YAML files organized in the following structure:

game.yaml                # Main game configuration
scenes/                  # Scene definitions
  starting_room.yaml
  ...
items/                   # Item definitions
  key.yaml
  ...
characters/              # Character definitions
  npc.yaml
  ...
achievements/            # Achievement definitions
  explorer.yaml
  ...

See the documentation for detailed information on creating your own adventures.

Example

Here's a simple example of a scene definition:

name: "Forest Clearing"
description: "A peaceful clearing in the forest. Sunlight filters through the canopy, illuminating a stone pedestal in the center."

exits:
  north:
    target: "deep_forest"
    description: "A narrow path leads deeper into the forest."
  
  south:
    target: "forest_entrance"
    description: "The path back to the forest entrance."

objects:
  pedestal:
    description: "A weathered stone pedestal with a small indentation on top, perfectly sized for a gem."
  
  flowers:
    description: "Colorful wildflowers dot the clearing."

events:
  place_gem:
    trigger: "place gem on pedestal"
    condition:
      has_flags: ["has_gem"]
    message: "You place the gem on the pedestal. It begins to glow, and a hidden door opens in a nearby tree trunk!"
    flags_set: ["door_revealed"]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quill_sdk-0.1.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quill_sdk-0.1.0-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file quill_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: quill_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for quill_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 967800535481cad3d1872e554f0586219ddeafea6861096e2d353b3e6cad1788
MD5 e3594be9f3b78892d6b6590efe27cec1
BLAKE2b-256 2991ce81900c215b78cba8f1b1cdcb49ec4897f7cd831745ba819491d895a666

See more details on using hashes here.

File details

Details for the file quill_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: quill_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for quill_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38ad0d7a1be5a4cd600f8fb1a876eaaa527f1b971c28500320152a4e407b2b48
MD5 0080d91be3fd4c96ff97fc4ce67dbd9d
BLAKE2b-256 1f4d89e33f7b482c7b4f0345acade8a3fbc8345f19ca447f44803b353488591e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page