If we’re talking about engine features that would allow better cameras (user-made or assets), then yes, there are several.
Thoughts on that (I really like these collapsible things :) )
The big issue is this one—it’s impossible to have a custom camera that never lags behind by a frame without using a Native Extension. The built-in camera component doesn’t suffer from this, but has other limitations, like not letting you use multiple cameras at once.
Allowing multiple camera components to be active at once would solve my specific, recent use case and probably not be too hard, but I think giving the render script access to some .go
functions would be more flexible. Or maybe adding a .camera_script
type that gets a callback when the camera updates, just before rendering (that could be more intuitive for users too, hmm…).
This one: Should be able to add a collection as a game object's child, would make Defold roughly 3x better and more flexible in general, and make more involved Libraries possible. Currently I’m using a game object with a factory that spawns an object and adds it as its own child on init (making it lag a frame on init), but that stinks. (And it could potentially take several frames to build up a collection of objects? Not sure.)
This one: Enum Script Properties, would greatly increase the possible useability of Libraries and Script Properties in general.
This one: Generate custom game.project settings, would also greatly increase the useability of Libraries.
I’m sure there are others that I’m not remembering right now.
Improving the documentation about render scripts is always good. It’s pretty common that newcomers are afraid of it and don’t know what any of it does.
If someone wants me to help rework the built-in render script or something, I’m happy to do that, but I’ll procrastinate about it forever unless I’m specifically asked…
[Edit] To sum up: I think it’s not about missing features, it’s about how intuitive those features are. No one thinks, “I want to zoom my camera”, and naturally goes to edit their render script.