I've been having this idea for the past few days, and the more I think about it, the better it sounds to me.
However even I don't know how feasible it is.
Normally I'd just keep the idea for myself, and try to come up with a proof-of-concept of an actual working program before telling you about it. But I don't know how much time creating that proof-of-concept would require. And... what good is an idea if you don't share it ?
So I figured I might as well write about it now, since I'm curious about what you people think about it. For now, this is still highly theoretical.
So. As you know, Plasma is outdated, and I fear it's driving people away from Uru for various reasons - bad graphics, too hard to create Ages on it, etc.
We have good coders, but they are too few to be able to upgrade Plasma to today's standards. Also, Plasma doesn't have a dedicated editor for building Age like most modern engines do, which explains why it's so hard to create an Age.
The solution would be switching to another game engine. The problem is, no one really wants it: only Plasma can read Cyan's Ages, our tools and tutorials are designed for Plasma, and Plasma offers working multiplayer without the need for builders to setup anything. Plasma is convenient.
We simply can't switch to another engine, because that means starting from scratch with zero Age to explore and rethinking the whole Age building workflow and pipeline. Then teach that workflow to Age builders.
I've been thinking about it recently, and thought of an alternative: making the other engine compatible with Plasma and its tools.
This alternative engine would be able to read Plasma's PRPs and replicate Plasma behavior, similarly to how "clients" work for MOULa (the only difference is this client wouldn't be able to connect to MOULa-based Shards, since it would use the new engine's native networking).
On the other hand, it would still be capable of loading levels designed with its own editor - thus enabling builders to create Ages with better graphics or exotic gameplay, without Plasma's limitations. Among the other advantages are VR support for all existing Ages, builtin UruAgeManager, portability to Linux and Mac (and probably even cell phones
Now, the question is: is it doable ?
Technically, yes. Modern engines are very flexible, and we have both HSPlasma and Plasma's own source code.
However this means a lot of work - not the kind of thing you would do unless you had VERY good reasons to think it's Uru's future.
Once I can get my hands on a 64 bit version of HSPlasma and it's python bindings, I'm going to try to get Unity to load Uru environments straight from PRPs, and see how playable I can make it. Just for the sake of it. It's basically rebuilding the PyPRP importer into Unity, which is similar to what I did recently
. Should be fun.
In the mean time I'd like to hear about what you people think about this idea. At least on a theoretical level, to see if it's worth it.