Features

Implemented Features

  • Ability to separate disparate parts of a game into Level constructs.

  • Ability to push, pop, and replace Level instances on the central Game object.

  • Uses Pyglet’s event system, mostly eliminating the need to subclass.

  • Uses Synthizer as its sound backend.

  • Both simple and advanced sound players, designed for playing interface sounds.

  • A flexible and unobtrusive configuration framework that uses yaml.

  • The ability to configure various aspects of the framework (including generic sound icons in menus), simply by setting configuration values on a configuration object which resides on your game object.

  • Various functions for playing sounds and cleaning them up when they’re finished.

  • Different types of levels already implemented:

    • Game board levels, so you can create board games with minimal boilerplate.
    • Box levels, which contain boxes, which can be connected together to make maps. Both free and restricted movement commands are already implemented.
  • The ability to add actions to earwax.Level instances with keyboard keys, mouse buttons, joystick buttons, and joystick hat positions.

  • A text-to-speech system which uses cytolk.

  • An earwax command which can currently create default games.

  • Various Promise-style classes for long-running tasks.

Feature Requests

If you need a feature that is not already on this list, please submit a feature request.