RealMyst:ME modded

Anything that isn't directly related to Age Creation but that might be interesting to Age developers.

RealMyst:ME modded

Postby Sirius » Wed Dec 11, 2019 12:20 pm

Hello everyone,

I made a couple of mods for RealMyst: Masterpiece Edition. Nothing huge, but it might be interesting to some:
  • A flymode
  • A fix to allow using ZQSD (AZERTY keyboards) instead of WASD (QWERTY) for us French frog eaters
  • A runtime hierarchy/inspector, similar to Unity's own (well, much less powerful but still useful)

Those mods also come with a mod loader/manager, whose sole purpose is to make loading multiple mods easier. This means you can easily create custom mods if you wish.

Download link ← ONLY includes the files. Refer to the below link for installation instructions.
README ← Contains installation instructions, and infos about what each mod does. Yes, reading this is mandatory.
Sources ← Sources for the mod loader and the individual mods. Use this as reference if you intend to make custom mods.

I've been thinking about doing this for a while, but a request by /u/Generalitary over at Reddit finally motivated me for doing this. Thanks to him !



Compatibility:
The mod-loader edits a file from the game which is version-dependant (Assembly-CSharp.dll) and will have subtle changes with each release of RM:ME. I'll try to keep the download link on this page up-to-date with the latest version of RM:ME, but it's worth making sure your own copy matches the following:

Code: Select all
BuildID (Steam Properties → Local Files): 3136950
File ID (realMyst.exe properties): 4.7.2.65147
Product ID (realMyst.exe properties): 4.7.2.11009659

Mismatching versions will appear to be working at first, but will cause issues sooner or later. Don't do it.
If a new version of RMME comes and I didn't already make a new version, feel free to notify me and I'll do it.



Interesting stuff...
Show Spoiler




Can we finally create or edit Ages ?
Show Spoiler
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: RealMyst:ME modded

Postby Hazado » Wed Dec 11, 2019 1:27 pm

Is that easter egg listed in the spoilered link?
Show Spoiler
Hazado
 
Posts: 1
Joined: Wed Dec 04, 2019 5:19 pm

Re: RealMyst:ME modded

Postby Aloys » Wed Dec 11, 2019 1:33 pm

Nice! Christmas comes early this year. :D Thank your for that!

RMME is interesting because of Unity, surely there's a lot that can be done with it. But it was released in early 2014, what version was it made on? 5? 4.6? I think the Unity project I was working on at the time (shameless plug) was using Unity 4.6. Not sure what the limitations are with these old file formats.

AssetBundles are now a free feature in recent versions of Unity, but not in the version RMME uses

I did not know that. I guess then the next question is: what can we get from these RMME files? There are tools to extract most assets from the .assets files. Textures/shaders/Sounds are easy enough to get. Meshes are more problematic. (they're some weird format I couldn't use) But what about the code? You mention a couple tools to decompile and even rewrite on the fly existing code, most of this is over my head (I only do basic gameplay code, nothing so low level). Basicaly what are the limitations?

A fix to allow using ZQSD (AZERTY keyboards) instead of WASD (QWERTY) for us French frog eaters

Ugh! Finally. Thank you. As a fellow AZERTY user, I consider that an unforgivable sin from developpers to ignore different keyboards layout. It's not like it's the most complicated thing to do...

It took a quick look at your code, and it looks clean and well documented. This opens so many new doors! :) I must shamefully admit I have not spent a lot of time with this edition of Myst. Time to fix that...
User avatar
Aloys
 
Posts: 1968
Joined: Sun Oct 21, 2007 7:57 pm
Location: France (GMT +1)

Re: RealMyst:ME modded

Postby Sirius » Wed Dec 11, 2019 3:14 pm

Hazado wrote:Is that easter egg listed in the spoilered link?

Ooh, I actually missed/forgot a lot of those ! But no, the one I'm thinking about isn't in this list.
Show Spoiler


Aloys wrote:But it was released in early 2014, what version was it made on? 5? 4.6?

The current version is 4.7-ish. Cyan bought a license for the 4.x series, so our current version of RMME is "stuck" on this version. This may change when they release the Switch version of the game, since Switch requires at least Unity 2017 IIRC - so maybe they will upgrade the PC version as well. Or maybe not, we'll see.
This is quite unfortunate, as they released it a short time before Unity 5, which brought a whole bunch of upgrades to the renderer (including PBS), lightmapping engine, as well as performance improvements and more. Unity 5 is also the first version in which all the pro features are available for free, including AssetBundles. Too bad...

Aloys wrote:I guess then the next question is: what can we get from these RMME files?

Oh, not much I suppose. AssetStudio can extract and decompile most of the files if you want, but since Unity strips unused assets in builds, we're unlikely to find more than what is already visible in the game. Also, Unity's static batching means most meshes are hard/impossible to extract for use in another engine (yeah, I've tried ;) ).
Extracting some assets at runtime is also possible using Unity's API, but it's still quite limited.

Aloys wrote:But what about the code? You mention a couple tools to decompile and even rewrite on the fly existing code, most of this is over my head (I only do basic gameplay code, nothing so low level). Basicaly what are the limitations?

Basically, a hack to one of the files of the game allows injecting any code at runtime, in the form of mods. Mods can do all you can usually do in Unity: interact with the C# libraries, Unity's API and Cyan's own scripts.
Due to the nature of C#, they can even overwrite Cyan's own code or access private fields/methods, thus giving you a LOT of control over the game. Complex modifications are still a bit trickier of course, but even an average programmer with a good tutorial can pull it off.
(Like I wrote in the readme, most of it is possible using dnSpy, reflection and if necessary Harmony.

Aloys wrote:Ugh! Finally. Thank you. As a fellow AZERTY user, I consider that an unforgivable sin from developpers to ignore different keyboards layout. It's not like it's the most complicated thing to do...

Yeah. On the other hand, it seems like QWERTY is so widespread that people simply don't know about this kind of issues. Just like with color blindness I guess...


Aaaaand... The Reddit post I made with a link to here was removed. Eh, not surprising. Still, posting tutorials about using CheatEngine to hack the game is fine, but actual mods aren't. Oh well...
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: RealMyst:ME modded

Postby Deledrius » Wed Dec 11, 2019 7:59 pm

Sirius wrote:Aaaaand... The Reddit post I made with a link to here was removed. Eh, not surprising. Still, posting tutorials about using CheatEngine to hack the game is fine, but actual mods aren't. Oh well...

Unfortunate. :(
User avatar
Deledrius
Gehn Shard Admin
 
Posts: 1377
Joined: Mon Oct 01, 2007 1:21 pm

Re: RealMyst:ME modded

Postby Chacal » Thu Dec 12, 2019 9:38 pm

Dear me, I played through the whole RMME without realizing it was running on Unity.
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2508
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada


Return to Off-Topic Discussion

Who is online

Users browsing this forum: Google [Bot] and 0 guests