DragonRuby Game Toolkit 3.0 Release Candidate
Version 3.0 is at the release candidate stage! Here is the changelog for the release:
3.0 Change Log
[Note] Don’t panic or be afraid to upgrade.
This is a major release of DragonRuby Game Toolkit. It supports Ruby 3.0 language features and contains apis that are anywhere from 30% to 200% faster.
Even though there are breaking changes, the exceptions that may occur should be fairly straightforward to fix. If you need help, come to the DragonRuby Discord Server and we’ll help you upgrade.
[Samples]
- A new 3D sample app has been added that shows how to perform
Matrixtransforms: The sample app is located at./samples/99_genre_3d/03_yaw_pitch_roll/. - A Performance based sample app has been added that shows how to use
Struct: The sample app is located at./samples/09_performance/01_sprites_as_struct/.
[Support]
- Labels can support larger font sizes.
- Structs can be used with
args.outputs. gtk.benchmarkis a bit more accurate.- Added
gtk.docs_benchmark. - Moved
./exceptionsand./console_history.txtunder./logs. - Rendering performance improved for
OpenEntity.
[MAJOR]
-
[BREAKING] Arithmetic and comparison operations no longer attempt to coerce/infer types. You will receive exceptions because of this. General troubleshooting tips for these exceptions:
- Carefully read the
backtraceforExceptionsthat are thrown (come to our Discord if you need help). - Make sure all references to
args.statehave been initialized to a default value. - Audit
Int/Floatoperations to make sure they are operating on variables that have been initialized with a default value. - Audit
Stringoperations to make sure they are operating on variables that have been initialized with a default value. - Audit
Enumerableoperations to make sure they are operating on variables that have been initialized to a default value. Special thanks to erquint@discord, leviondiscord@discord, and danhealy@discord for continuing to raise debugging concerns with respect to arithmetic/implicit coercion.
- Carefully read the
-
[SAFE] Ruby 3.0 language features are now available. The new syntax should be compatible with Ruby 2.0.
-
[SAFE] Except to see anywhere from 20% to 200% boost in performance overall.
-
[BREAKING] DragonRuby’s “Level 1” Runtime has been updated to mRuby 3.0. This is a major release of DragonRuby Game Toolkit. The breaking changes should be minimal, but unfortunately do exist. Please report issues in our Discord and we will get them resolved right away: http://discord.dragonruby.org (mention @amirrajan).
A special thank you to podo@discord, hiro_r_b@discord, kfischer_okarin@discord, and leviondiscord@discord for troubleshooting.
A full explanation of DragonRuby’s Multilevel Runtime Architecture can be found here. Please read through it so you have a better understanding of how DragonRuby is different than other Ruby runtimes. It’s VERY IMPORTANT to educate yourself on these differentiators. Especially if you find yourself being asked: “Why are you using Ruby to build games? Ruby is slow.”
-
[SAFE] [DIVERGENT] DragonRuby’s Runtime returns a
Floatfor integer division (retaining mRuby 2.x behavior). In mRuby 3.0,1/2would return0 (Int). In the DragonRuby Runtime,1/2returns0.5 (Float). UseNumeric#idivfor integer division. -
[SAFE] [DIVERGENT] DragonRuby’s Runtime retained
randgeneration algorithms from mRuby 2.0. Incorporating 3.0’s RNG algorithm would have resulted in unnecessary breaking changes that would have invalidated replays of existing games. -
[SAFE] [DIVERGENT]
Hashin most cases will not discriminate betweenFloatandIntkeys (where the number after the decimal point is0). This was existing mRuby 2.0 behavior and was retained within this major release to avoid unnecessary breaking changes related to key lookup.
[Bugfix]
args.inputs.mouse.wheelreports the correct direction on non Mac machines.dragonruby-httpdworks with Chrome.- Crashes related to unsupported Korean keyboard events on MacOS have been resolved. Thank you podo@discord for troubleshooting.
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.0Oct 04, 2024
- 2023 Year End ReviewDec 25, 2023
- 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
- Beta 2 released for DragonRuby Game Toolkit 3.0Oct 05, 2021
Comments
Log in with itch.io to leave a comment.
Great upgrade! Thanks and keep the awesome work!