You've obviously put a lot of time and effort into building and documenting this framework.
Would highly suggest adding more visuals and some way of very easily playing with runnable demos. Games are inherently audiovisual artifacts, so the lack of audiovisuals on the site is a bit of a negative signal.
Thank you for trying it! I hadn't tested with the WSL, so I'm relieved it worked there as well. I put a lot of work into making it build from scratch easily.
I started this project because I had been making small games with the PICO-8 and Lua, but I wanted to work on larger projects. There's Love2D, but I find Lua tricky at times, since you often have to reinvent OOP-structures and it's disconcerting with 1-indexed arrays.
Wren is closer to more classical programming languages, so I thought I'd give it a go. :)
HTTP is tricky since the protocol is quite complex. I think it would require an external library. However, creating an interface for net sockets wouldn't be too hard. I'd love to enable multiplayer games with UDP sockets in the future :)
The Wren runtime is very extensible, so if I can code it with C, it can be made available to users of DOME!
Current implementation is filled with bugs, which is a real shame because in many ways it is better than Lua: the language is better (for me), and the C API is much simpler.
What would be interesting is if there were a language-agnostic library that handles the annoying and complicated game engine things like optimizing the list of OpenGL draw calls or pooling audio resources, which would take forever to buggily reimplement - then have people write bindings to it in whatever arbitrary language they want.
For example there is a version of the LOVE game engine that targets ChaiScript instead of Lua[1].
What I really want is a version of LOVE that targets a lightweight LISP like Janet.
(I know, fennel exists. But imagine having a battle-tested game engine like LOVE in any LISP at all.)
And yeah, I'm implying LOVE should be that library. They have pretty much everything you'd ever need for a gamejam. I'll never touch GL.h again.
As for what the author of DOME says on exposing fewer abstractions than LOVE, I found I didn't have to muck around with low-level details like window resolution that much. LOVE provides the functions wrapping all that and preventing undefined behavior while benefiting ergonomics. The process of resizing the window which took far longer than it should have for me to get right in C++ is handled by a single call to love.window.setMode - and it handles hidpi and fullscreen and stencil buffers and MSAA and a bunch of other things[2]. Imagine implementing all that yourself, supposing that yes, you really do need that stencil buffer in the future. The work has been done already.
Where LOVE's very large standard library becomes useful is when I code myself into a corner with some inefficiency or wrong drawing output, then I look at the wiki and discover this neat feature I never knew existed that solves the problem. As an example, I wanted to control the size of a sprite batch, but drawing it ignores width and height. Then I found there's a neat thing called love.graphics.setScissor, which lets you push and pop a drawing region. Using it solved the problem with necessitating a rewrite of any internals.
Love2D and DOME do similar things for their languages, but I think there's still some key differences in our design sensibility and mission.
My hope is that DOME provides a set of sane defaults for a number of projects (game jams, lighter games, etc), and it gives you enough features that you can implement whatever you wish on top. Alternatively, it is open source (and MIT licensed), so you can hack with the internals for customised functionality.
I hope you feel like trying DOME at some point. I'd be curious to know what your experience is like.
First time I see Wren. It looks nice.
Also kudos for the comment below the benchmarks:
"LuaJIT with the JIT enabled is much faster than all of the other languages benchmarked, including Wren, because Mike Pall is a robot from the future." :D
I make games as a hobby and I've thought about a "lighweight Wren framework with C++ modules for rendering" has been in my mind for a while. I'm so glad someone's thinking the same!
DOME is partially inspired by Love2D, although I've tried to approach things a bit differently. Love2D seems to expose a lot of SDL's underlying functions and concepts, whereas DOME aims to abstract a lot of that away.
Everyone's support has been fantastic. I've now scheduled a gamejam in March to give people an opportunity to try out the framework: https://itch.io/jam/domejam
Would highly suggest adding more visuals and some way of very easily playing with runnable demos. Games are inherently audiovisual artifacts, so the lack of audiovisuals on the site is a bit of a negative signal.