DragonRuby 2023 Roadmap
Hey everyone we are coming close to starting new development for 2023. Before we jump into things, I wanted to let y’all know that the presentation I gave about DragonRuby at RubyConf 2022 is live. Go watch it. You won’t regret the time you spend.
Here are the goals we have on this year’s roadmap.
All License Tiers
The following features will be added to all license tiers (including the Standard License which has had a nice round 128 releases so far).
Add reference documentation for all methods and classes available for production use.
SDL 3.0 Integration
SDL 3.0’s release is around the corner. Integrating this major version into DragonRuby will start soon after GDC.
Input Consolidation and Improvements
With the release of the Steam Deck, having more streamlined APIs for desktop and handheld becomes more critical. Expect to see general improvements related to handling user input. Examples:
- Normalized controller input properties for Switch, PlayStation, XBox, and Steam Deck.
- Keyboard scancode APIs.
Accessibility is near and dear to me. Here are examples of cross-platform A11y features we’ll be adding:
- Voice Over/Voice Synthesis (for the visually impaired)
- Screen Curtain (voice-over emulation with a blacked-out game screen)
- Assistive Input (eg one-thumb navigation of UI elements)
- Colorblind simulation (Protanopia, Deuteranopes, Tritanopes, both weak and strong)
Indie and Pro Tiers
The following features are slated for Indie and Pro License Tiers.
Streamlining Steam distribution becomes important with the success of the Steam Deck.
dragonruby-publish will generate binaries that can be directly uploaded to Steam (as opposed to having to construct Steam payloads via Steamworks manually).
Lotcheck and Cert Support
Auditing workflows/wizards will be added to make sure your game has the best chance of passing all the checks required to get the “Great on Deck” badge for your game. By extension, these same workflows will be useful for ensuring your game is in a good position to pass console lotcheck processes.
mRuby Runtime Integrations
C Extensions will continue to be improved. We are planning on exposing all mRuby API functions within
Early Access to SDLSL (Simple DirectMedia Layer Shader Language)
With the release of SDL 3.0, we’ll be positioned to support cross-platform shaders. There’s still a lot of work to be done on SDL’s end, but DR will get those early access bits fast as they become ready.
Here are the features exclusive to the Pro License Tier.
Work will be done to create sane APIs for facilitating IAP and purchasing of DLC.
OpenXR VR Integration
We will be transitioning off of VRApi to OpenXR as our core dependency. This will give DragonRuby Game Toolkit the ability to target more VR devices (SteamVR, HTC, and Oculus).
Expansion of VR Features
Our VR offering is primarily for experimentation at this point. Regardless, fleshing out more VR capabilities is extremely important as it continues to push us to make the runtime even faster than it already is. Expect features such as the ability to render 3D models, GLSL shaders, and PassThrough/AR APIs.
dragonruby-vrsim will also continue to improve (I demo VR Sim in the RubyConf talk I gave). A item high on the list is 6-axis mouse support (which will make it easier to “walk around” in the simulated 3D space).
Early Access to Firestorm
Last but certainly not least. Pro Tier users will get early access to Firestorm (our AOT compiler for Ruby). We still have a ways to go with this, but things have moved well past the prototype phase (currently getting all the mRuby tests to pass against Firestorm).
That’s all I’ve got. If you have any questions, reach out to me on the DragonRuby Discord Server :-)