DOME v1.8.0 - The Ready Resources Release is now available 🎉

I can’t believe a new version of DOME hasn’t been released for about a year. Time flies!

Well, here’s a slew of small quality-of-life improvements and a grab-bag of new features, as development on DOME gradually spins up again.

In case you missed them, you can check out our shiny new collection of beginner’s guides, which cover the basic features you might need for making something simple in DOME

New Features

  • MP3 and FLAC audio support (beta)
  • SpriteSheet - Native support for spritesheets, or otherwise handling image data which contains multiple images within it.
  • Canvas.clip state can now be retrieved as a vector (by @catsanddo)
  • FileSystem.exists(path) can be used for checking the existence of a file on the FileSystem (by @8-BIT-DEV)
  • InputGroup class: handy for mapping multiple inputs to one in-game action, as well as handling repetition frequency.
  • Elegant class: Pairs of integers can be combined into a single value.
    • Vector can now be paired/hashed and unpaired using this.
  • Collections: A variety of common collection types for implementing various algorithms
    • HashMap - Works with a new Hashable interface to allow arbitrary objects to be used as keys.
    • Set
    • Queue
    • PriorityQueue
    • Stack
  • Log class, for more fine-grained control and categorization of log output.


  • Checks for a Game variable during application start
  • Update to SDL2 2.26.3
  • Transforms (aka DrawCommand) is now mutable using a modify(_) call. This allows for more efficient cache implementations.

Bug Fixes

  • The entry point module is now not loaded a second time if it’s referenced by other modules.
  • High DPI displays should be supported properly now: Some weirdness when setting the size of windows will be resolved.
  • Fixed an issue where trying to draw ImageData when the x < 0 would not work, and the image would instead be drawn at x = 0.
  • Fixed an issue where if a key was somehow pressed and released within the same frame, DOME would drop the input.


  • ImageData.loadFromFile(_) is deprecated in favor of ImageData.load(_), for consistency with the JSON and Audio systems.

As always, documentation is available to help you get started. If you run into any problems or have any feature requests, please file an issue!

You can also contact me directly via Mastodon, or on the DOME discord as springogeek#0572 to share screenshots or ask questions!

Files 2 MB
Version Mar 03, 2023 4 MB
Version Mar 03, 2023 1 MB
Version Mar 03, 2023 1 MB
Version Mar 03, 2023