Holy cow, Sirius! That's awesome!
When I saw the post title my thoughts immediately went to building some kind of PRP interpreter in Unity.
What you've managed to achieve here is pretty amazing! This looks like it could actually be a viable alternative to Plasma.
UPlasma development - Play Plasma from the Unity engine
Re: Idea: Play Plasma from another engine
I should really look around more on this site. I just myself got a VR system, and was incredibly excited about the potential SteamVR's home system posed for importing Ages. Apparently it used to take Blender files but now is geared to Valve's Source engine, though I also heard that Unity could be used. It seems to be very loose in terms of trademarks--there are Mass Effect, Doctor Who, and Star Wars "destinations" that fans have made. I'm not sure if this would work with your idea, but I take it from your talk of VR in the OP that this is also a subject of interest to you.
Re: Idea: Play Plasma from another engine
Santa brought me a windows mixed reality set this year.
Today i installed unity, visual studio and the Windows 10 Fall Creators Update SDK.
I succeeded in importing into unity .some blender objects i made and visualized them inside my wmr headset and could walk around it.
So making a small home age for the steam Vr 's home system is something i definitely will try.
It seems very doable to me.

Today i installed unity, visual studio and the Windows 10 Fall Creators Update SDK.
I succeeded in importing into unity .some blender objects i made and visualized them inside my wmr headset and could walk around it.
So making a small home age for the steam Vr 's home system is something i definitely will try.
It seems very doable to me.

Those wonderfull Worlds are called " Ages" , because that is what it takes to build one.
Watch my latest Video Or even better..... watch the Cathedral's Complete Walkthrough made by Suleika!
Watch my latest Video Or even better..... watch the Cathedral's Complete Walkthrough made by Suleika!
Re: Idea: Play Plasma from another engine
I'm glad to see more people enjoying VR !
Would be cool to see more Myst content available on these headsets... (Right now I'm playing Xing on my Vive and having a blast, I definitely recommend it)
Anyway... Haven't made more progress on the PRP interpreter.
However, I have made progress on the Exile interpreter recently ! I like switching projects often to avoid being bored. These are PC screenshots. I tested it on my phone using Daydream VR, looks pretty good. (would also work on any platform of your choice, I just prefer Daydream for this.)
Oh, and hotspots work, too. I can point the controller in a direction and click to move around
This is essentially a portion of the ResidualVM Myst 3 engine converted to Unity. The good news is that I might be able to make it fully playable at some point in the future - stay tuned...
Merry christmas and a happy new year to you all !

Anyway... Haven't made more progress on the PRP interpreter.
However, I have made progress on the Exile interpreter recently ! I like switching projects often to avoid being bored. These are PC screenshots. I tested it on my phone using Daydream VR, looks pretty good. (would also work on any platform of your choice, I just prefer Daydream for this.)
Oh, and hotspots work, too. I can point the controller in a direction and click to move around

This is essentially a portion of the ResidualVM Myst 3 engine converted to Unity. The good news is that I might be able to make it fully playable at some point in the future - stay tuned...

Merry christmas and a happy new year to you all !
Re: Idea: Play Plasma from another engine
SO PUMPED.
I'm not quite sure yet how SteamVR's Home thing works, but if you guys get something going please send me a link so I can check it out.
I'm not quite sure yet how SteamVR's Home thing works, but if you guys get something going please send me a link so I can check it out.
Re: Idea: Play Plasma from another engine
This used to be a nice neighborhood !
This may not look like much compared to the other images, but under the hood this is a complete rewrite of the importer - faster, and more stable.
The Python version was too slow and unstable to do anything useful, so I tried various solutions, which all proved to be completely bad
A few days ago though, I finally found a way to include C++ code (required for HSPlasma) into Unity without the whole of it crashing. I also used the opportunity to rewrite the importer in pure C++.
This means loading the Age is now much faster, although it still can't compete with Uru itself... But it's still a reasonable tradeoff for the improved engine. It's also a lot easier to connect it to existing Unity elements. This all means I can progress on this project once again. At least until I hit another stupid roadblock
Hopefully there won't be more of those.
Next step is re-bringing back the textures. Then tackle dynamically generated shaders. Not really exciting, but the result should be worth it.
Unfortunately, we're nearing the end of this school year, which means more boring homework for me. But I'm sure I'll find time to continue working on this.
This may not look like much compared to the other images, but under the hood this is a complete rewrite of the importer - faster, and more stable.
The Python version was too slow and unstable to do anything useful, so I tried various solutions, which all proved to be completely bad

This means loading the Age is now much faster, although it still can't compete with Uru itself... But it's still a reasonable tradeoff for the improved engine. It's also a lot easier to connect it to existing Unity elements. This all means I can progress on this project once again. At least until I hit another stupid roadblock

Next step is re-bringing back the textures. Then tackle dynamically generated shaders. Not really exciting, but the result should be worth it.
Unfortunately, we're nearing the end of this school year, which means more boring homework for me. But I'm sure I'll find time to continue working on this.
Re: Idea: Play Plasma from another engine
That project is really cool!
As a Unity user myself, I find the perspective quite interesting..
Obviously, getting the whole game to run in Unity would be a pretty scary amount of work, but day dreaming about it for a few seconds is nice.. In many regards Plasma is a dead-end, even though Cyan open sourced part of it; the community is just too small now. Porting all this to Unity would be the single best way to expand the developers community. (I'm a bit out of the loop here, but I suppose the server part of the code still hasn't been open sourced, right? Same for the avatars sources?)

Obviously, getting the whole game to run in Unity would be a pretty scary amount of work, but day dreaming about it for a few seconds is nice.. In many regards Plasma is a dead-end, even though Cyan open sourced part of it; the community is just too small now. Porting all this to Unity would be the single best way to expand the developers community. (I'm a bit out of the loop here, but I suppose the server part of the code still hasn't been open sourced, right? Same for the avatars sources?)
Re: Idea: Play Plasma from another engine
Smallish update: I have the texture loader working. No pictures as the materials are still ugly as hell
Reading textures was really slow in the Python version (roughly 1 minute). Now it takes 10 milliseconds for the whole neighborhood
Originally, loading the Neighborhood took 1min 30 seconds in the Python version (Uru can load it in 3 seconds only).
With the new importer, it only takes 16 seconds. 3 of those are required for HSPlasma to read the files, and 13 are spent building meshes. It's still a bit high but it's largely acceptable.
EDIT: nevermind that, some bogus code was slowing down loading for no reason. The importer needs only 1 second on top of HSPlasma's 3 to load the whole neighborhood (mesh, colliders, textures and sounds), for a total of 4 seconds. Nice !
I would really love for this version of the engine to completely replace Plasma at some point, but right now that's too far away to make any prediction.
Uru's netcode isn't top-notch from what I heard, and reimplementing it would be too cumbersome. I'll just use Unity's networking instead, will be enough to support decently-sized multiplayer coop as a first step. The rest of the server stuff is mimicked by the offline client, so it won't be too hard to reimplement. Would have been sweet connecting to MOULa using a Unity client though...
As for avatar stuff (and "global pages" like UIs), I'll probably completely replace those with something better. Those avatars certainly didn't age well...

Reading textures was really slow in the Python version (roughly 1 minute). Now it takes 10 milliseconds for the whole neighborhood

Originally, loading the Neighborhood took 1min 30 seconds in the Python version (Uru can load it in 3 seconds only).
With the new importer, it only takes 16 seconds. 3 of those are required for HSPlasma to read the files, and 13 are spent building meshes. It's still a bit high but it's largely acceptable.
EDIT: nevermind that, some bogus code was slowing down loading for no reason. The importer needs only 1 second on top of HSPlasma's 3 to load the whole neighborhood (mesh, colliders, textures and sounds), for a total of 4 seconds. Nice !

My opinion exactly. Just let the big game company develop most of your engine for free. This also means you support pretty much every modern platform, including Mac, Linux, any VR headset, whatever crazy peripherals, you name it. All of it while staying backward-compatible with existing tools.Aloys wrote:In many regards Plasma is a dead-end, even though Cyan open sourced part of it; the community is just too small now.
I would really love for this version of the engine to completely replace Plasma at some point, but right now that's too far away to make any prediction.
It is, but at the same time Unity does all the complex stuff already. What needs to be done is the wiring between the logic bricks, so to speak. And we have all the sources and the PRP format figured out. I believe it's doable, although it will take time.Aloys wrote:Obviously, getting the whole game to run in Unity would be a pretty scary amount of work
Dunno. But I don't think I'll need either of those.Aloys wrote:I'm a bit out of the loop here, but I suppose the server part of the code still hasn't been open sourced, right? Same for the avatars sources?
Uru's netcode isn't top-notch from what I heard, and reimplementing it would be too cumbersome. I'll just use Unity's networking instead, will be enough to support decently-sized multiplayer coop as a first step. The rest of the server stuff is mimicked by the offline client, so it won't be too hard to reimplement. Would have been sweet connecting to MOULa using a Unity client though...
As for avatar stuff (and "global pages" like UIs), I'll probably completely replace those with something better. Those avatars certainly didn't age well...
Last edited by Sirius on Mon Mar 26, 2018 12:40 pm, edited 1 time in total.
Re: Idea: Play Plasma from another engine
There are no plans that we're aware of to open source the server code, and it was all ripped out of the code we got (they share a codebase internally).Aloys wrote:I'm a bit out of the loop here, but I suppose the server part of the code still hasn't been open sourced, right? Same for the avatars sources?
As for the Uru Avatar Assets...

Re: Idea: Play Plasma from another engine
This may not be directly relevant, but I ran across a VR tool called SculptrVR. http://www.sculptrvr.com/ It allows you to mold things in large scale, then shrink yourself down so you can carve out more detailed work, all in 3D. I started making the Myst Island on a whim, and though I'm not a computer artist by any means, it was surprising how intuitive it was to get a very rough version of the island in just an hour or so. But I looked into it and they support exporting files in OBJ, DAE, FTX, and some other formats I don't remember. I'll need to play around to see, but it might be possible to make islands in that game and then export them to SteamVR's "Destinations" workshop.