Files

SimVX Core

The SimVX engine with no renderer attached: nodes, signals, properties, input, UI, audio, animation and physics, plus the simvx command. Most users want simvx, which includes it.

Pre-alpha. SimVX publishes development releases only (0.0.0.devN) and is under active development; the API changes between builds. Once stable versions ship to PyPI, development builds continue on pypi.simvx.com.

Install

pip install --pre simvx          # the whole engine (recommended)
pip install --pre simvx-core     # core alone: headless simulation, servers and tests

Latest development build: add --extra-index-url https://pypi.simvx.com/.

Use

A scene runs headless with no window and no GPU:

from simvx.core import Node, Timer
from simvx.core.testing import SceneRunner

class Countdown(Node):
    def on_ready(self):
        self.ticks = 0
        timer = self.add_child(Timer(duration=0.5, one_shot=False, autostart=True))
        timer.timeout.connect(self.on_tick)

    def on_tick(self):
        self.ticks += 1

runner = SceneRunner().load(Countdown())
runner.advance_time(2.2)
print(runner.root.ticks)  # 4

What's in it

  • Nodes, signals and Property: the scene tree and its lifecycle, groups, coroutines, and validated, serialisable properties; scenes are Python files.
  • Input: typed actions over keyboard, mouse, controllers, pens and touch, with contexts, rebinding and local multiplayer.
  • Physics: 2D and 3D rigid bodies, character controllers, areas, joints and spatial queries.
  • Audio and animation: 2D and 3D spatial audio with buses; tweens, sprite sheets, keyframe clips and state machines.
  • UI: controls, containers, theming and focus, the same widgets the editor is built on.
  • Tilemaps and navigation: auto-tiled grid levels, A* pathfinding in 2D and 3D, and steering agents.
  • Testing: a headless scene runner, input simulation and a UI test harness.

Documentation · Source · Licence: AGPL-3.0-or-later with Additional Terms, including the Game-Distribution Exception.