Idea: Play Plasma from another engine

General debates and discussion about the Guild of Writers and Age creation

Idea: Play Plasma from another engine

Postby Sirius » Sun Oct 01, 2017 5:36 am

Hey folks.

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), etc.

------

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.
User avatar
Sirius
 
Posts: 952
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Idea: Play Plasma from another engine

Postby Deledrius » Tue Oct 03, 2017 1:07 am

I think this is probably the least-bad of the Uru-On-Other-Engines idea, which has its own share of baggage and problems. I mean, completely rebuilding the game from scratch in another engine would be the absolute best, but one may as well wish for world peace. Doing a smart conversion of the assets to be compatible with a mildly-customized modern game engine would be an interesting experiment, and if successful probably a fun way to play (and even slowly phase in new content made for that engine).
User avatar
Deledrius
Gehn Shard Admin
 
Posts: 1005
Joined: Mon Oct 01, 2007 1:21 pm

Re: Idea: Play Plasma from another engine

Postby Sirius » Tue Oct 03, 2017 10:05 am

Deledrius wrote:I mean, completely rebuilding the game from scratch in another engine would be the absolute best, but one may as well wish for world peace.

Yeah, switching engines is not that simple, due to the sheer amount of Ages only available as PRPs and still under some form of copyright. That's one of the reasons various project like AndyLegate's never really picked up I guess. Having another engine mimic Plasma is not a whole lot simpler, but it's worth a shot to me.
I got the idea from someone who made an environment viewer for Dark Souls archive files using Unity. The whole unpacking and reading of assets was done in memory :shock: Then I thought about how ResidualVM emulated Myst3's behavior, and thought it might work for Plasma too.
User avatar
Sirius
 
Posts: 952
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Idea: Play Plasma from another engine

Postby Sirius » Wed Oct 04, 2017 8:57 am

Well, Deledrius was kind enough to send me his own build of HSPlasma 64 bits, so I tinkered a bit with it.

So far so good... The code is really rushed but it's able to load Ahnonay's cathedral inside Unity, loaded directly from Uru's install location:
Show Spoiler

Looks good, but that was the easiest part to be honest. Next step will be cleaning up then importing multilayer materials - my favorite nemesis.
User avatar
Sirius
 
Posts: 952
Joined: Mon Jul 26, 2010 4:46 am
Location: France


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron