Skip to content
/ pyc2e Public

A pure python interface for managing c2e instances and injecting CAOS

License

Notifications You must be signed in to change notification settings

pushfoo/pyc2e

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages