There is no "cameraPixelPerUnit" but for an orthographic camera, the orthographic scale is the vertical number of world units that will fit on screen. The horizontal number of units can then be calculated by dividing by height and then multiplying by width (aka. multiplying by the screen ratio).

Search is provided by the CodeMirror editor widget. I think the best approach would be to submit an enhancement request or a patch to CodeMirror's search.js addon, and then update Superpowers to use that new version of CodeMirror. Would be much simpler than trying to fork and maintain our own version of it, which would become an on-going maintenance burden.

OK so the fact that one can't include manage a subtree as its own git repository is indeed not very convenient. But I'm not very enticed by the idea of complexifying project structure with nested entries.json. What do others think?

We haven't really given much thought to reusable engines built *within Superpowers*. I mean, there are project templates (which you can put in systems/game/public/templates) which are one approach, but it's not quite the same. Maybe your engine would be best built as a plugin for Superpowers Game? It could expose its API like the sound play exposes its API for instance: https://github.com/superpowers/superpowers-game/tr...? I feel like that's a good match.

It would be a very simple plugin that only have a typescriptAPI bundle and no editors or data folder.

The Superpowers RPG demo project might help, it has dialog boxes and 2D exploration. It's not quite what you're looking for but should be a good start to learn how to build your own.

(I'd love to have a native visual novel project type at some point too, so that it doesn't require any special coding, but I doubt I'll have the time to tackle it anytime soon so hopefully someone else in the community will take it up ^_^)

Project Sustainability

It's been a year and a half since the three of us started working on Superpowers. Thanks to generous support from the community on Patreon and during early access on Gumroad, we've been able to do it full-time so far. But with our current financial situation, we can't afford to keep going like that for much longer.

So we've been looking for work on the side, in order to continue this awesome beast of a project... and, well, good news! Bilou and I have found long-term gigs and Pixel-boy will be doing some contract work soon.

What does that mean? Well, we'll definitely have less time to spend on Superpowers every week. Buuuuut! now we don't have to worry so much about making rent every month, and it's remote work with a pretty flexible schedule so, short of being paid to work on Superpowers itself full-time, it's the best outcome we could hope for!

More Open Source work!

We'll do our very best to keep earning your support by releasing more cool open source stuff! On top of our ongoing work on Superpowers, we're recently open sourced, migrated to GitHub and/or improved:

What happened this week?

Since we're hosting a weekly livestream in French, we thought it'd make sense to have something for the English community too.

Doing a second livestream in English would take a lot of time and effort so instead,we've just kicked off a weekly community report on our new wiki!Check it out, it's called: This Week in Superpowers #1!

Subclassing the Sup.Actor class isn't really supported, you should be able to accomplish everything you need with Behaviors, I think. You can access properties and methods on a behavior from the outside like so:

Sup.getActor("Some Actor").getBehavior(SomeBehavior).someProperty

And if you need to build a complex reusable actor made of multiple components or with children actors attached to it, you can build your reusable actor hierarchy in a separate scene and then import it many times in your main scene with the "New Prefab" button.

Just a quick uninformed first answer: I've heard it works for other people so I don't think it's Superpowers's fault, but I haven't tested so who knows! Hopefully someone better informed will show up soon :D