Skip to main content

Exploration

Overview

This program provides data types for representing the exploration of spaces that can defined (or abstracted) in terms of discrete decisions, such as videogame levels with multiple rooms and also other things like conversation trees or a city block grid.

It represents a Map as a multi-di-graph, indicating the connection(s) between decisions, which can include information about prerequisites for transitions as well as effects a transition might have on the world. There is also a convention for representing unexplored regions using specially-named nodes of the graph. An Exploration is a sequence of Maps, along with a sequence of decisions indicating where the explorer was at each step, a sequence of transitions indicating which transition was taken at each step, and a sequence of states indicating extra state at each step. These representations were developed with Metroidvania games in mind.

Core capabilities include:

  • Reasoning about reachability modulo transition requirements in terms of powers that must be possessed and/or tokens that must be spent for a transition. TODO
  • The ability to represent fairly sophisticated game logic in the Map, and even construct playable maps. Game logic that can't be captured this way can still be represented through making custom changes to maps between exploration steps. TODO
  • Creating maps and explorations from various text formats, including exploration journal formats. TODO

Dependencies:

  • Python version 3.7+
  • networkx For underlying graph structures.
  • pytest for testing, install with [test] option to get it automatically.

Installing

Just run pip install exploration. The egtool script should be installed along with the module.

You can then run python -m exploration.tests to run tests.

Getting Started:

The egtool script provides a command-line interface to core functionality. The exploration.main module provides equivalent entry points from Python. exploration.core provides the main types and explains how they fit together.

Plans

TODO

Changelog

  • v0.1.1 Still pre-alpha as it's in the process of being re-architected a bit, but some core functionality is present if rough (e.g., core.DecisionGraph and core.Exploration).
  • v0.1 Initial pre-alpha upload.

Release files for exploration 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for exploration 0.1.1
File Size Uploaded
exploration-0.1.1.tar.gz 72.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for exploration 0.1.1
File Interpreter ABI Platform
exploration-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 147.3 kB

Release files / exploration-0.1.1.tar.gz

Download URL exploration-0.1.1.tar.gz
Size 72.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7e3fdfad4667be52a6766dec5857d5d277bb9f170950fec01a87efc5b5ed5a91
BLAKE2b-256 checksum
How to use checksums
5a33833b1b776627e50bec72cb97c17601f1b73a0a56bfb5ec570b856c6b3418
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.2

Release files / exploration-0.1.1-py3-none-any.whl

Download URL exploration-0.1.1-py3-none-any.whl
Size 74.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d10667f9ff37d00808c6a064bff35f1c80382c6a72f3572eb07f61c4ccbdecde
BLAKE2b-256 checksum
How to use checksums
f68924eef33f68e20829eee817da57a2083c090b06fec7f1a5763fa9988c4752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.2

Release history Release notifications | RSS feed

0.8.2

2 release files

0.8.1

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page