Skip to main content
For a practical guide using the reference implementation’s BaseChallenge class, see engine/challenge-design/README.md.

ChallengeOperator Interface

The returned operator must implement:

Methods

Properties

Serialization

Operators must be fully reconstructible from gameState + state. The arena persists these as JSON after every mutation. If gameState uses types that cannot round-trip through JSON (e.g. Set, Map, Date), the operator must convert them in serialize() and restore(). Example (using the reference implementation’s BaseChallenge):