Panel A
Panel B

[8 Dec 2024] Live session #15 - Noise Texture Generation & Recent Features

This session was about the new Noise Texture Generation extension (and how it was made) and recent features:

  • Noise Texture extension
  • Use this extension’s internals to show:
    • Masquerading as a new resource type to generate a resource content on the fly
    • How to link hot reloading of config with texture
  • Recent features:
    • FrameGrid config property (animation)
    • Orientation config property (graphics)
    • New options for the AutoReset config property (spawner)
    • @<Section> support for Find[Owned]Child filters
    • += working through inheritance
    • Timeline, Shaders & Triggers fully working with inheritance
    • Per-object virtual inputs (using ^ with ScrollObjects)
  • Texture loading benchmarking (PNG vs WEBP vs KTX2 vs QOI)

[29 Sep 2024] Live session #14 - Triggers, Embedding & Extending Orx

The “denoised” version is now available.

This session was about the new Trigger module as well as how to embedd orx in other codebases, along other engines and how to extend it:

  • How to embed orx, fully or partially, in other codebases
  • The new Trigger module
  • Extending orx (non-intrusive): extensions vs plugins
  • Hot-swapping plugins during development
  • Plugins as resources: Packaging them in bundle

[24 Aug 2024] Orx - Portable Game Engine version 1.15 has been released.

The Orx community is pleased to announce the 1.15 release.
There are quite a few changes in this release.
Here are some highlights:

  • A new resource type, mem, has been added for in-memory/embedded resources. The embedded default font and orx logo are leveraging it, while ultimately reducing the size of the library/binary on disk.
  • The FX module has been completely overhauled and now supports Bezier curves & 30 web easing curves.
  • Trigger is a new module that allows to define and run commands, when handling hierarchical/cascading events. Some triggers have been internally added to handle physics collisions (On[Part]Collide/On[Part]Separate) and object lifetimes (OnCreate/OnDelete).
  • Input sets can now optionally be linked to ScrollObjects, providing a unified interface for controlling objects, either from physical devices, with code or with commands. Additionally, OnInput triggers will be fired for ScrollObject that are bound to an input set.
  • Orx can now easily run in headless mode, allowing for simple partial or complete embedding in other projects/engines.
  • Init can now update projects: adding/updating/removing extensions on existing projects.
  • Inspector, a new extension to inspect objects and their associated config at runtime.
  • Cheat, a new extension to handle cheat codes (think Konami code or Doom cheats).
  • SNDH, a new extension to play Atari ST audio files.
  • The Mod extension has been updated to support FastTracker 2 .XM & Scream Tracker 3 .S3M audio formats.
  • A ton of other features and quality of life improvements.

The complete list of changes can be found here.

[7 Jul 2024] Live session #13 - Updating a Project, Colors & Misc

The “denoised” version is now available.

This session was about using & expanding on HTML color literals and using Init to update projects:

  • HTML colors
  • Load (large) config properties from memory
  • Compose shaders using CodeList
  • Update projects using Init
  • New extension sneak peek: Inspector
  • How to retro-fit Init into an existing project

[5 May 2024] Live session #12 - Fixed Resolution, Saves & Recent Feature

The “denoised” version is now available.

This session was about targeting a fixed internal resolution, handling save files (config & binary) and recent features that were added over the past couple of months:

  • Atari ST SNDH music format support
  • New cheat codes extension
  • Enabling/Disabling typo checks for config properties
  • The Config.GetSystem command
  • Conditional config includes (debug, multi-platform, etc.)
  • Rendering at a fixed internal resolution
  • Using the Config module for saving/loading save games
  • Using the Resource module for manual (binary) serialization (maps, etc.)