2023 Year End Review
With the year coming to a close, I wanted to provide a summary of all that’s happened with the engine in 2023 (168 releases since inception, 29 releases in 2023 alone).
Itch.io Rankings
In 2023, DragonRuby’s rankings have skyrocketed. On Itch.io, the engine consistently ranks extremely high under Popular (currently #11), Best Selling (currently #10), and Highest Rated (currently #3).
This will only continue to improve with every passing day as more and more people discover DragonRuby.
Turn Key Steam Distribution
Turn Key Steam Distribution was added to the Indie and Pro License tiers. You can manually create a Steam Distribution payload for any binary, but we wanted to streamline this process in its entirety. Turn Key Steam Distribution will create a payload for your game containing native builds for Windows, Linux, and Mac. It also uploads your game so that you can release it from the Steam Partner Page with one click.
Record/Replay functionality
DragonRuby’s hotloading capabilities are unmatched. On top of this, the engine provides a means to record gameplay while you’re developing. This recording can then be replayed against the current version of your code and trivializes bug reproduction. Here’s the feature in action:
Sample Apps
The sample apps that ship with DragonRuby have grown to 175. These sample apps cover all aspects of the engine, from basic rendering to genre-specific reference implementations.
Here are some notable additions:
Camera
A number of sample apps specifically for camera work were added. These include sample apps that show camera shake, screen-to-world conversion (with zooming and easing), split-screen, z-targeting, and more.
Physics
Understanding the fundamentals of physics is critical to game development. I have yet to see a physics engine that was baked into a game engine that was easy to use and didn’t lead to rolling your own physics.
The physics sample apps in DragonRuby cover the fundamentals of Axis Aligned Bounding Boxes (AABB), Platforming Physics, Bouncing Ball Physics, and Ramp Collision.
Path Finding
The Pathfinding tutorials on Red Blog Games have been recreated in DragonRuby (with permission). These tutorials cover the fundamentals (from Dijkstra’s algorithm to A).*
C Extensions
We expose over 300 mRuby API functions. The C Extensions sample apps have been expanded to cover more advanced usages. This video demonstrates the speed of C Extensions by rendering 50,000 sprites at 60fps.
Genre-Specific Reference Implementations
Full genre-specific reference implementations also ship with DragonRuby. These are just some of the topics/genres covered:
- Ray Casting
- Bullet Hell
- Twin Stick Shooter
- Dungeon Crawler
- Fighting
- Lowrez
- Platforming
- Interactive Narrative
- Roguelike
- Tactical (Isometric and Hexagonal)
- Topdown RPG
- Turn-Based RPG
Retroid Pocket 3+ Support
In addition to Steam Deck local deployment, explicit support has been added for the Retroid Pocket 3+. It’s an affordable test device that will prepare you to release your game on the Steam Deck and Nintendo Switch.
iOS Simulator Deployment with Hotload
The hotloading capabilities of DragonRuby have supported live code deployment to remote devices for a while now. We’ve added iOS Simulator as a remote hotload target. This video demonstrates the feature in action:
Enhanced Web Builds
Web builds have been enhanced to support HD rendering and multi-threading. These web builds work on Chrome, Firefox, Safari, Brave, Android Mobile, and Mobile Safari (including touch support).
If you have a Pro License, your web builds will also support HD/HighDPI rendering.
Again, if the engine claims to support web export, then it better work across all major browsers and on all major platforms. A lot of work was put into making this is the case for DragonRuby.
Pixel Arrays, Sound Synthesis, and Portrait Mode unlocked in Standard License
The Standard License has been enhanced to include Pixel Arrays, Sound Synthesis, and Portrait Mode. These features were previously only available at the Indie and Pro License tiers.
C Extensions more mRuby API functions exposed
As stated earlier, we expose over 300 mRuby API functions. This gives you direct access to the underlying C API when you need to eke out every last bit of performance.
Render limits performance
The performance of the engine continues to improve. Here are the results showing how DragonRuby outperforms other engines:
- VS Unity: Link to video comparison
- VS PyGame: Link to video comparison
- VS Godot: Link to benchmark
Obviously, there is more to game development than just rendering, but I hope the links above show you that DragonRuby is plenty fast.
Community
Last but not least, I want to cover what’s been happening in the community.
Discord Metrics
Our Discord server has grown to over 2,000 members. I promise you that it’s one of the most welcoming and helpful communities you’ll ever join.
Rubber Duck Dev Show
The Rubber Duck Dev Show has consistently covered DragonRuby throughout the year. Here are some of the episodes: Link to episodes
DragonRuby Open Source Repo
Many parts of DragonRuby are open-sourced under the MIT license. You can find these artifacts here: Link to open-source artifacts
Palantir
Palantir is a tool that allows you to visualize your game’s state with high fidelity. You can find it here: Link to Palantir
We have a dedicated channel on Discord for Palantir if you need support.
DR Tiled
DragonRuby has Tiled support available as a library you can pull into your game. Here’s the link to the GitHub repo: Link to DR Tiled GitHub
Again, we have a dedicated channel on Discord if you need support.
Sockets
The community has been working on a sockets library for DragonRuby if you want to create high-performance multiplayer games. Here’s the GitHub repo: Link to DR Socket GitHub
Yep, you guessed it, we have a dedicated channel on Discord if you need support.
DR GitHub Actions
Community members have also been creating GitHub Actions for DragonRuby to manage CI (particularly useful for creating iOS builds on Mac hardware). Available in the GitHub Marketplace: Link to GitHub Actions
Review of Differentiators
Back in 2019, I put new game development on hold to build out this tech. I knew it wouldn’t happen overnight, and this type of undertaking carried with it a real risk of not panning out. Losing all that time would have been a huge blow to me.
Good news. Things ended up working out :-) We celebrated our 4-year anniversary back in November. I can confidently say that DragonRuby is the best engine for indie devs who want to build commercial 2D games. No other engine comes close to positioning you to succeed at releasing your dream game. Period.
It’s worth going into details as to what sets DragonRuby apart. I’m dead serious about the topics that follow. These aspects of the engine protect the one piece of capital we as indie game devs have: time.
Truly Hotloaded Dev Environment
The engine is truly hot-loaded. As you code, your game is updated live, in-place, while it runs, without losing game state. It works so beautifully, and the productivity gains can’t be understated. Other game engines claim that they can hotload, but they don’t deliver on this promise. We do.
Truly Cross-Platform
As an indie dev, every penny counts. You are leaving money on the table if you’re not releasing your game cross-platform from day one. DragonRuby is literally write once, run everywhere. No platform-specific hacks or workarounds. The export process for DragonRuby generates a binary that works on Linux, Windows, Mac, Raspberry Pi, iOS, Android, Web, and Steam Deck. We even generate Mac builds without the need for an Apple device. The community has created GitHub Actions to help you generate iOS builds on top of this.
As I’ve stated before, I’m dead serious about these capabilities. If an engine claims that it has cross-platform export, then it better work. Zero platform-specific hacks/workarounds.
Equitable Pricing, Zero Royalty
Tools must be developed sustainably. If you can afford to pay for DragonRuby, you should (and will). That being said, I will never put anyone out financially. If you are under 18, have an income less than $2000 per month, or are an educator using it as a vehicle to teach programming, then you get the Standard License for free (just email or DM me on Discord).
All license tiers (regardless of whether you got it for free) can be used to build commercial games, zero royalties. The Standard License is a one-time payment and is valid in perpetuity. For more information on the Indie and Pro License, take a look at the feature breakdown.
Indie Focused
The games I ship commercially are built with DragonRuby. I eat my own dog food. My extension, the engine, is tuned for the needs of indie devs. It’s a testament to the engine’s viability.
My livelihood depends on my ability to create and ship games quickly. The features of DragonRuby cannot be demoware. I can’t have game-breaking, platform-specific issues in the 11th hour. I can’t waste time leveraging a feature of the engine, only to find that it doesn’t deliver when things become marginally non-trivial. DragonRuby won’t screw you over with these kinds of issues.
Wrapping Up
I hope this post has given you a good idea of what has been happening with the engine. Expect Roadmap updates soon :-)
Files
Get DragonRuby Game Toolkit
DragonRuby Game Toolkit
An intuitive 2D game engine. Fast, cross-platform, tiny, hot loaded.
Status | Released |
Category | Tool |
Author | DragonRuby |
Tags | 2D, dragonruby, engine, Game engine, Moddable, ruby |
More posts
- DragonRuby Hits v6.087 days ago
- Mid-year Update: Quacks, Steam Distribution, Sound Synthesis, and Pixel ArraysJun 08, 2023
- DragonRuby 2023 RoadmapFeb 11, 2023
- DragonRuby + Steam DeckNov 12, 2022
- 3.0 RTM, Oculus VR, Indie Tier, and Black Friday DiscountsNov 22, 2021
- Oculus Quest and DragonRubyNov 10, 2021
- DragonRuby Game Toolkit 3.0 GM ReleasedOct 24, 2021
- DragonRuby Game Toolkit 3.0 Release CandidateOct 16, 2021
- Beta 2 released for DragonRuby Game Toolkit 3.0Oct 05, 2021
Comments
Log in with itch.io to leave a comment.
Love it! Thank you so much for all your hard work in building this beautiful engine and helping hobbyists and indie game dev hopefuls alike have something so amazing to work with!