Skip to content

Core Services API

These are the shared services and helper types you will most often use around the engine.

Window and display

  • Display
  • WindowFlag
  • CursorType

Start here if you want to manage the window, cursor, clipboard, fullscreen state, or monitor information.

Useful entry points:

  • Display module reference
  • create_window(width, height, title)
  • set_window_title(title)
  • toggle_fullscreen()
  • set_mouse_cursor(cursor)
  • get_monitor_size(monitor)
  • get_time()

Timing

  • Time
  • Timers
  • TimerHandle

Start here if you want stable frame timing, elapsed engine time, cooldowns, delayed callbacks, or repeating world-local timers.

Useful entry points:

  • Time module reference
  • Display.get_time()
  • Time.delta_seconds
  • Time.elapsed_seconds
  • Timers.after(...)
  • Timers.every(...)
  • Timers.cooldown(...)
  • Timers.cancel(handle)

Animation

  • Animator
  • Timeline

Start here if you want small scripted animations, waits, method interpolation, or callback sequences without building a separate animation system.

Useful entry points:

  • Animator module reference
  • Animator.create()
  • Timeline.to(...)
  • Timeline.method(...)
  • Timeline.wait(...)
  • Timeline.call(...)
  • Timeline.start()
  • Timeline.cancel()

Rendering

  • Renderer2D
  • Renderer3D
  • Color
  • Rect
  • TextureFilter
  • ArepyTexture
  • ArepyFont
  • ArepyModel
  • ArepyMesh
  • ArepyMaterial

Start here if you want to draw sprites, text, shapes, models, debug primitives, or use cameras.

Useful entry points:

Renderer2D.get_delta_time() is still available, but Time.delta_seconds is now the preferred gameplay-facing timing source.

Input

  • Input
  • Key
  • MouseButton
  • GamepadButton
  • GamepadAxis
  • GamepadDeviceType

Start here if you want keyboard, mouse, gamepad, wheel, or typed text state.

Useful entry points:

  • Input module reference
  • is_key_pressed(key)
  • is_key_down(key)
  • get_available_gamepads()
  • get_gamepad_device_type(gamepad_id=0)
  • is_gamepad_button_down(button, gamepad_id=0)
  • get_gamepad_axis_movement(axis, gamepad_id=0)
  • is_gamepad_vibration_supported(gamepad_id=0)
  • set_gamepad_vibration(left_motor, right_motor, duration_seconds, gamepad_id=0)
  • is_mouse_button_pressed(button)
  • get_mouse_position()
  • get_char_pressed()

Audio

  • AudioDevice
  • ArepySound
  • ArepyMusic

Start here if you want to play sound effects, stream music, or control volume and playback time.

Useful entry points:

  • Audio module reference
  • load_sound(path)
  • play_sound(sound)
  • load_music(path)
  • play_music(music)
  • seek_music_stream(music, position)

Assets

  • AssetStore

Start here if you want a named store for textures, fonts, sounds, music, models, meshes, and materials.

Useful entry points:

Events

  • EventManager
  • Event

Start here if you want loose communication between systems or gameplay modules.

Useful entry points:

In the normal engine loop, queued events are processed during the update phase.

Where to keep reading

  • The generated module reference shows every method, attribute, and nested module.
  • The engine services guide explains what each service is for in plain language.
  • Read Engine Services for examples of how these services are injected into systems.