pushfoo / pyc2e

A pure python interface for managing c2e instances and injecting CAOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pyc2e

PyTest results GitHub license PRs Welcome

A pure Python interface for injecting CAOS code & reading output from the Creatures Evolution Engine (c2e).

It works by calling relevant parts of the Win32 API through Python's built-in ctypes module, as described in Chris Double's documentation of the c2e shared memory interface.

Installing

The only requirements are:

  • Python 3.7+
  • A compatible c2e version running in the same permission space as the Python interpreter
Install Method Benefits Steps
With pip Easiest
  1. Create & activate a virtual environment
  2. pip install pyc2e
From source Freshest code
  1. Clone this repository
  2. cd pyc2e
  3. Create & activate a virtual environment
  4. pip install -e .

Usage & Limitations

Warning: Running custom CAOS can break your Creatures 3 / DS install.

Running & injecting CAOS on Windows is reasonably complete.

CAOS Origin Command Syntax
From files pyc2e inject --file filename.cos
Piping from standard input cat filename.cos | pyc2e inject
Strings passed as arguments* pyc2e inject --caos "outs \"testing\""

*On Windows, you might need to omit the escapes around the quotes.

Unimplemented Features

Engine, config, and launch management for testing and/or fuzzing may be added later.

Support for the Linux version will likely stay incomplete because the community prefers the Windows version for multiple reasons:

  1. The Linux version is difficult to install:

    1. Dwindling support for 32 bit code on maintained amd64 Linux distros
    2. Bit rot is rendering precompiled dependencies unusable
    3. Difficulty finding package downloads of linux packages built in 2000
  2. All Windows versions crash much less than the Linux builds

  3. Running WINE or a VM does not have prohibitive performance penalty for a game this old

  4. There are Windows versions of Docking Station and C3 available from multiple sources:

    Source Link

    Price

    Creatures 3 Included

    Win10 Compatibility Patches

    Eemfoo archive

    Free

    No

    No

    Steam (Creatures: The Albian Years)

    $5.99 USD

    Yes

    Yes

    GOG (Creatures: The Albian Years)

    $5.99 USD

    Yes

    Yes

About

A pure python interface for managing c2e instances and injecting CAOS

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 100.0%