Thank you all for your kind words !
Emor, you raised a few questions that I find rather interesting !
However, I'm going to go into really theoretical stuff here. The importer isn't nearly as complete as I'm going to make it sound, and a lot of the issues and features I'm going to discuss are theoretical too. So here we come to Theoretical land.
What ifs.Emor wrote:Your adaptation of Relto to the Unity renderer really seems close enough to the Plasma "look" that seasoned explorers would feel at home there. And that's what it would take for players to migrate to another engine: it would have to look as-good-or-better-than the Plasma version, without being a jarring transition.
I'm really glad you think so, because even now I still have doubts about the usefulness of switching engines without changing graphics. At first it will be Uru with more bugs and less features (probably barely playable without tons of patches
), so I'm not even sure people will want to bother with it... Like Deledrius said, it's old content on a new engine, not new content on a new engine. Remaking the old Ages with new graphics would be cool, but it's an equally complex topic and completely impossible without proving Cyan that it's a good idea.
However, if people ARE interested, it will open up a lot of possibilities... The GoW isn't a big community so it's hard to be sure of those things. I might ask for people's opinions on Reddit at some point, since there are more people there.
Emor wrote:One reason - among many - for moving to a different engine: our Age projects are essentially self-contained games unto themselves, but if you want to offer an Age to the public, they currently would have to download and install all of URU in order to play your one project. But with Unity, the engine can be packaged with your Age independently if you like; much more self-contained.
It's just the tip of the iceberg. Since the engine loads its content straight from Plasma games, you end up with a LOT of flexibility...
You can play all Plasma games without switching engines. ALL OF THEM. You could very well go into Todelmer with friends, then agree to meet up with them in Rowan Green, then go to a Fan-Age.
You can mod existing Cyan Ages, by loading your own content on top of it and replacing some objects via scripting. Create new areas, patch up some models, replace textures... Or even add new graphic effects.
You can download Fan-Ages (Unity or Plasma ones) from within the game, like DI does.
You can expand or override Uru gameplay at anytime. Add a player inventory, add racing cars to Minkata, go battle with spaceships in fan-Ages... you get the picture.
And the usual: VR, play on Mac, Linux, Android, etc.
Now I'm not going to lie: it also comes with several downsides. Most of it due to technical differences between Plasma and Unity.
The biggest problem is that a number of elements must be patched manually, which is why I'm only showing the Relto for now. Materials must almost always be re-coded by hand, and alpha blending isn't working as it did in Plasma. Animations break if they use more than 1 rotation. Some lights are enabled when they shouldn't. Fortunately, all of these can be community-made, and packaged in a single "patch" file. Fan-Ages are less prone to these issues since they are simpler.
The second biggest problem, is that content made for a version of Unity might not work in a later version, which would be very annoying as upgrading the version of Unity the engine uses might break Unity-made Fan-Ages... There are several workaround to this, but all are pretty annoying.
Deledrius wrote:This feels like two different ideas. If we're talking about standalone Ages that are part of an independent Uru story, you can make that in Unity without needing the baggage of converting an entire game. The only reason for encasing it in a Unity-ready Uru is because you want to integrate your ideas into that game, right?
It just makes things more convenient for everyone, IMHO... New players who have never heard of Uru but want to play Myst content can play without Uru. Uru players can play the new content without switching engines. Modders can reuse some parts of the engine instead of coding everything themselves (avatar, KI, savegames, multiplayers, scripting prefabs...).
Uru's community still exists for two main reasons: multiplayer, and fan content. Might as well make both accessible at all time.
Emor wrote:At some point, the gorilla in the room needs to be acknowledged:
would releasing URU content in another engine, with the necessary manual intervention and perhaps optional modification mentioned above, raise any I.P. issues?
The whole point of writing a complex PRP loader is to avoid such IP issues. Otherwise I'd convert those Ages by hand instead of going the long way around
But to be completely fair:
- The Unity PRP loader is completely legal, as I wrote it myself.
- the PRP reader library I'm using (HSPlasma) is definitely legal when used on MOUL content, because MOUL's engine is open source. The parts of it that can load Ages from other games (EoA) was written by analysing decompiled code from those engines, kinda like copying from memory someone else's painting, and adding your own touch. That sounds very messy for common folks like us, but AFAIK it's legal and is what Residual/ScummVM does.
- The patches required to fix materials and some logic are original content, so legal too. Fixing animations will require to copy Cyan's keyframe timing, but at worse those can be remade by hand.
So yeah, it still fares a lot better than the Offline-KI. Pretty sure we could come to an agreement with Cyan if need be.
Deledrius wrote:Respect is important, but legally the big deal is whether we (or anyone) is distributing Cyan's assets without their explicit permission.
Yeah. In truth I could make all the Ages pink with bunnies running everywhere, it wouldn't be Cyan's business what I or anyone executes on their PC. It's exclusively a matter of your own (bad) tastes, since it's not official. This is a random legit program which just accidentally
happens to be able to play those games. Like ScummVM does with Riven.
With that said, I've always strived for respect for the original material even when I was experimenting with changing the lighting and materials a while ago.
And to finish, a small clarification:
Deledrius wrote:provide an installer that would automatically convert the Cyan-provided files
It doesn't need to be installed, nor does it need to process or download anything prior to running the engine (unlike Drizzle). Most likely, as soon as you launch it, it will auto-detect install paths, ask you if that's okay with you, and link you to the Cleft/Relto. "Converting" the Ages is done each time as you link to them, and doesn't need to write anything to the disk. It's closer in behavior to the Blender PRP importer.