Wanting to start my own reverse engineered game engine, but have concerns

Not about OpenMW? Just about Morrowind in general? Have some random babble? Kindly direct it here.
Post Reply
Schala
Posts: 3
Joined: 01 Sep 2021, 07:10

Wanting to start my own reverse engineered game engine, but have concerns

Post by Schala »

So finding out about OpenMW compelled me to buy Morrowind off GOG, and I don't regret my purchase one bit. However, a major concern of mine is that doesn't Morrowind have an anti-decompile clause or something? I mean, obviously with the requirement to buy the game and own the data, Bethesda's not losing a dime from the project, but a lot of license agreements tend to have nonsensical clauses hidden in.

I say this, because there's an old, nostalgic game of mine from 1998, Descent 3, developed by Outrage Entertainment and published by Interplay, that I'd like to remake the engine for as an "out to prove something" accomplishment, and because even though GOG and Steam offer it, the game seems "Frankensteined" to work on modern PCs and it could use a fresh engine anyway.

I figured out some of its undocumented game file formats, along with the "HOG2" file format that PhysFS even supports, as well as running Unix `strings` command on an old Mac binary of it, since CodeWarrior back in the day, by default, would include internal function names. I saw that it had what one would expect from any other game engine, such as vectors, matrices, cross product, dot product, normalisation routines, raycasts, etc. etc. That, coupled with me researching OpenMW's source structure, motivated me to want to try this.

My issue is that the game and its D3Edit level editor have a license that forbid decompilation/reverse engineering. Yes, Descent 1 and 2 were open sourced with their respective level editor software, but Descent 3 uses a different engine that utilises Glide and OpenGL. Most likely Morrowind itself was never open sourced and Bethesda's legal team were certain to add a "no SRE/no decompilation" clause. How is it that OpenMW hasn't been DMCA'd? Cause if there's an exemption, I'd really be interested!
User avatar
AnyOldName3
Posts: 2668
Joined: 26 Nov 2015, 03:25

Re: Wanting to start my own reverse engineered game engine, but have concerns

Post by AnyOldName3 »

I think someone else was writing a longer response, but while you're waiting, the gist of what you need to know is available from Wikipedia: https://en.wikipedia.org/wiki/Clean_room_design
Kharoes
Posts: 4
Joined: 24 Aug 2021, 09:08

Re: Wanting to start my own reverse engineered game engine, but have concerns

Post by Kharoes »

sorry my bad. I was only trying to help, but I didn't think it was incorrect at the time of writing. I'm sorry for saying this.
Last edited by Kharoes on 02 Sep 2021, 19:31, edited 3 times in total.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Wanting to start my own reverse engineered game engine, but have concerns

Post by psi29a »

Kharoes wrote: 02 Sep 2021, 02:10 In the FAQ, Bethesda gave its approval to the project so long openmw doesn't run on android. Though that approval was given when Bethesda was a independent company. I don't know how Microsoft feels about it though.
This is factually incorrect and the FAQ doesn't say this at all. Please stop spreading this lie and please correct it in other places where you see it. Bethesda was also not independent, they were owned by Zenimax. Microsoft bought Zenimax. Zenimax is now absorbed into the Xbox Game Studios.

From the FAQ:
Does Bethesda Softworks approve of this project? Won’t you guys have legal problems?
Bethesda Softworks is well aware of OpenMW and has given us approval to continue working on it, so long as certain conditions are followed.

We had a long email conversation with Matt Grandstaff which can be read on the wiki. There was a misunderstanding as to what OpenMW is (a new game engine) and isn’t (a Morrowind port) that was cleared up. Bethesda Softworks has asked us to not promote any images or videos of OpenMW running Morrowind on Android or other mobile platforms, and we agreed to comply with this request. Anything else, is fair game, such as displaying videos of OpenMW running the OpenMW-Template on Android on the blog.

We do not condone, nor are responsible, for other websites that show (in images or video) Morrowind running on an Android device.
I know, I made the agreement and it was a gentleman's agreement that was offered from me to them since it was known they were making Blades at the time and didn't want competition for their Mobile endeavours.

Even with Microsoft being the new owners, that still does not give them the legal right to do anything as no copyright has been infringed.
Schala
Posts: 3
Joined: 01 Sep 2021, 07:10

Re: Wanting to start my own reverse engineered game engine, but have concerns

Post by Schala »

I see. As for OpenMW being on Android, I think I saw a fork of OpenMW that does just that, but I think I should be okay. Interplay, and possibly Microsoft, aren't Nintendo, after all.
User avatar
Husaco
Posts: 44
Joined: 07 Aug 2011, 11:54
Location: Australia

Re: Wanting to start my own reverse engineered game engine, but have concerns

Post by Husaco »

To be clear,
  • Anti-reverse engineering clauses are often unenforceable and not admitted in several legal jurisdictions
  • Nevertheless, OpenMW and other game engine reimplementations that are disallowed from using/reverse engineering source code use clean-room design to comply with this restriction
  • It is well established in law that under this principle, software may, e.g., read and play proprietary game files without infringement
  • As such, OpenMW is prima facie totally legal with or without the rightholders' approval
  • Nevertheless, for the sake of amity, OpenMW has communicated with Bethesda and agreed to certain minor restrictions regarding publicity gratuitously and without prejudice to the legality of such
In practice, these cases very rarely come to actual suits anyway. In your case, with an old and frankly forgotten game whose predecessors are apparently open source, there is little conceivable motivation to try to take any prospective project down, and several disincentives (directly hampering potential sales, bad publicity, etc.), so I wouldn't worry about liabilities so long as you don't create any, but you could always contact the rightholders (Interplay?) in any case.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Wanting to start my own reverse engineered game engine, but have concerns

Post by psi29a »

Husaco wrote: 03 Sep 2021, 03:49In your case, with an old and frankly forgotten game whose predecessors are apparently open source, there is little conceivable motivation to try to take any prospective project down, and several disincentives (directly hampering potential sales, bad publicity, etc.), so I wouldn't worry about liabilities so long as you don't create any, but you could always contact the rightholders (Interplay?) in any case.
I hope you can edit your statement to read: IANAL or 'this is not judicial advice'. :)

Daggerfall and Arena are both games that are given away by Bethesda for free, but were never made opensource.

What I bolded though is very important, just be open about it. Explain your intent and ask if they are cool with that. If they don't respond, at least you did your 'due diligence' and acted in good faith. Always keep copies of your emails, for example. It's why I posted our email exchanges on the wiki.
Schala wrote: 02 Sep 2021, 17:48 I see. As for OpenMW being on Android, I think I saw a fork of OpenMW that does just that, but I think I should be okay. Interplay, and possibly Microsoft, aren't Nintendo, after all.
Yes, OpenMicroWave is a Java/Kotlin application that launches OpenMW like a shared library. It handles a lot of setup, controls, android interfaces things and also shims ES4GL in there so that OpenMW can be rendered on the phone's GLES binary blob. OMW was named so as not to trample on OpenMW's trademark, since it's in the GPL (and just good etiquette) to rename your fork (see TES3MP). However we have a good working relationship with the forks and code comes back upstream to us when it makes sense. We also have a CI pipeline setup so that we are sure that OpenMW can compile on Android (using Android NDK), so in theory you could take our build artefact and drop that into your android phone with OpenMicroWave and test it out.
Post Reply