Page 2 of 12

Re: Idea: Play Plasma from another engine

PostPosted: Mon Dec 04, 2017 6:30 pm
by Bookwyrm
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.

Re: Idea: Play Plasma from another engine

PostPosted: Fri Dec 22, 2017 1:12 pm
by Afalstein
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

PostPosted: Tue Dec 26, 2017 9:00 am
by dendwaler
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.
:D

Re: Idea: Play Plasma from another engine

PostPosted: Wed Dec 27, 2017 2:35 am
by Sirius
I'm glad to see more people enjoying VR ! :D 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.
Show Spoiler

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

PostPosted: Fri Dec 29, 2017 7:34 pm
by Afalstein
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.

Re: Idea: Play Plasma from another engine

PostPosted: Sat Mar 24, 2018 10:19 am
by Sirius
This used to be a nice neighborhood !

nb2.jpg
nb2.jpg (74.52 KiB) Viewed 5879 times


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 :lol: 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 :lol: 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.

Re: Idea: Play Plasma from another engine

PostPosted: Sat Mar 24, 2018 12:53 pm
by Aloys
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?)

Re: Idea: Play Plasma from another engine

PostPosted: Sat Mar 24, 2018 6:51 pm
by Sirius
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 :shock:
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 ! :D


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.

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.
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.

Aloys wrote:Obviously, getting the whole game to run in Unity would be a pretty scary amount of work

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: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?

Dunno. But I don't think I'll need either of those.
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...

Re: Idea: Play Plasma from another engine

PostPosted: Sat Mar 24, 2018 9:04 pm
by Deledrius
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?

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


As for the Uru Avatar Assets... ;)

Re: Idea: Play Plasma from another engine

PostPosted: Sat May 12, 2018 9:22 pm
by Afalstein
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.