Jump to content


MOO & MOM source code: A new Hope

source code

  • Please log in to reply
12 replies to this topic

larienna #1 Posted 18 February 2016 - 03:13 AM

    Lieutenant

  • Players
  • 11
  • Member since:
    02-15-2016

I am posting here in hope that an administrator could see this.

 

I have been looking for the source code of Master of Orion and Master of Magic for at least 15 years (Especially Master of Magic). Normally, I would have asked the company who made the game to release the source code  like many other companies did before for games like: Doom, Descent, etc). But we all know that the original company got bankrupts and the intellectual property changed hands multiple time which made the source code lost in ancient ruins during the process ... and then we called Indiana Jones to retrieve it :happy:.

 

A few days ago, I talked online to a person who worked on some of the master of orion games who claims to have a friend that should have a copy of to the source code to some of the MOO games. He did not tell which one. But he does not want ask him to release the source code because he does not have the right to do so from his point of view.

 

So I thought that if I could just ask on Wargamming and Atari's forums if they are willing to allow the release of the source code and state under which license and conditions. If wargamming agrees, simply post your answer in this thread and I will redirect my contact to this forum thread as a proof of your approval.

 

Now, some people claimed on another thread that wargamming only have rights on the Intellectual Property but not the source code. I looked at the wikipedia article about abandonwares:

 

https://en.wikipedia...Abandonware#Law

 

They talk more about the distribution of games than the source code, But one things interesting is that it depends on the will of the original copyright holder to enforce his right. So if wargaming does not have rights on the original source code, then the only company who does have rights is Sim Tex and they are dead. So I don't think they can actually enforce their right. But again, law systems being very complex, I could prove to be wrong.

 

So if some admin could give an answer with condition and license, I would be very happy to hear from it . One thing for sure, there is still hope that the source code exist, so don't despair.

 

Thank you for your time.



voidstalker_woe #2 Posted 18 February 2016 - 02:26 PM

    Captain

  • Players
  • 305
  • Member since:
    12-20-2015
This would indeed be interesting if true, as perhaps then we could get the MOO2 that we are all looking forward to!
Further more, I believe that we must start building a better MoO5 now, for only by doing so can we get tomorrow's game, today!

voidstalker_woe #3 Posted 18 February 2016 - 02:54 PM

    Captain

  • Players
  • 305
  • Member since:
    12-20-2015
Another thing that stands out for me is, as an Inventor, I can only get what, 17 years of patent protection, and then everyone and their brother can go ahead and make my stuff, but folks with a mere copywrite get a lifetimes' protection.  I would like to see the laws rewritten to a standard of 20 years, after which, the stuff enters public domain.  That way, Inventors are not getting the short end of the stick, and the public cannot be restricted from things for more than 20 years.
Further more, I believe that we must start building a better MoO5 now, for only by doing so can we get tomorrow's game, today!

larienna #4 Posted 19 February 2016 - 02:34 AM

    Lieutenant

  • Players
  • 11
  • Member since:
    02-15-2016

Of course wargaming does not have the source code, but they do have the IP, So if the source gets released without their consent, they could actually sue the person who released the code.

 

Block Quote

 Ask your friend to ask the friend to ask Wargaming (or any other relevant entity) about the matter.

 

Well I am somewhat doing the process for him. Since there is no way to contact wargaming directly, so I decided to use the forums instead.

 

 



RayFowler #5 Posted 19 February 2016 - 04:32 AM

    Commander

  • Players
  • 217
  • Member since:
    07-02-2015

Why not just decompile the executable into assembler and go from there? In 15 years, you could have already learned assembler and modified the code several times over.

 

Or just pick your favorite language (C, Java, C#,  etc) and rewrite the game from scratch. Also faster than 15 years.

 

Because, to be honest, you're not going to get the source code even if someone has it.


Master of Orion fan since 1993

larienna #6 Posted 20 February 2016 - 05:56 PM

    Lieutenant

  • Players
  • 11
  • Member since:
    02-15-2016

Block Quote

Or just pick your favorite language (C, Java, C#,  etc) and rewrite the game from scratch.

 

If I want to create a new game, I'll proceed other wise as it will take way too much time to rewrite everything. Many people tried for MOM and failed. I just want to make modification and fix bugs, which should take much less time. I know assembly, but modifying a dissasembled game is almost an impossible task. There has been some hexadecimal editing made on MOO2 and MOM, but they mostly affect data, not code.

 

 



mikeva1 #7 Posted 20 February 2016 - 06:37 PM

    Lieutenant

  • Players
  • 76
  • Member since:
    08-08-2015

Take a look at this:

http://www.java-moo.com/

the blog post Java MOO no more!

is of interest.  here is part of it.

 

"Well, I just got word back from Wargaming.net about the viability of the Java MOO project existing as a fan-made version of the original Master of Orion.

They are cool with it under two conditions:

— Cannot use “Master of Orion” in the name

— Cannot generate revenue from it"

 

 



RayFowler #8 Posted 23 February 2016 - 03:06 AM

    Commander

  • Players
  • 217
  • Member since:
    07-02-2015

View Postmikeva1, on 20 February 2016 - 12:37 PM, said:

Take a look at this:

http://www.java-moo.com/

the blog post Java MOO no more!

is of interest.  here is part of it.

 

"Well, I just got word back from Wargaming.net about the viability of the Java MOO project existing as a fan-made version of the original Master of Orion.

They are cool with it under two conditions:

— Cannot use “Master of Orion” in the name

— Cannot generate revenue from it"

 

 

 

Yes, Wargaming has been very cool about the Java rewrite of MOO1.

 

I've moved the dev blog to: http://remnantsoftheprecursors.com/

That "Java MOO no more!" link is now here: http://remnantsofthe...va-moo-no-more/

I've set up this site to aggregate info: http://www.pretendstudios.com/

The @JavaMOO twitter feed has moved to: @PretendStudios

 

 

View Postlarienna, on 20 February 2016 - 11:56 AM, said:

 

If I want to create a new game, I'll proceed other wise as it will take way too much time to rewrite everything. Many people tried for MOM and failed. I just want to make modification and fix bugs, which should take much less time. I know assembly, but modifying a dissasembled game is almost an impossible task. There has been some hexadecimal editing made on MOO2 and MOM, but they mostly affect data, not code.

 

Everyone wants what seems to be the easy path out. "Just give me the source code so I can fix bugs", as if it were ever that easy. For starters, does the source code even exist anymore, and who has it? If you get it, will you be able to compile it? You could spend 3-6 months alone just getting a compiled version to run, based on how dependant it was on old hardware. And if you can compile it, will you be able to make your changes easily? You would be working in old C code written by people who were not you and were writing under a deadline. Someone else's C code can be a real bear to read and decipher.

 

It's taken me maybe two years to rewrite the core MOO1 game in Java. It's my code. I understand it. I can make wholesale changes to the code as I see fit. Do I want the Antarans to show up in MOO1? No problem. What about heroes, custom races and more galaxy options? Ok. All doable.

 

 


Edited by RayFowler, 23 February 2016 - 03:08 AM.

Master of Orion fan since 1993

Zeraan #9 Posted 23 February 2016 - 06:23 PM

    Lieutenant

  • Players
  • 64
  • Member since:
    06-17-2015

View PostRayFowler, on 23 February 2016 - 03:06 AM, said:

 

 

Everyone wants what seems to be the easy path out. "Just give me the source code so I can fix bugs", as if it were ever that easy. For starters, does the source code even exist anymore, and who has it? If you get it, will you be able to compile it? You could spend 3-6 months alone just getting a compiled version to run, based on how dependant it was on old hardware. And if you can compile it, will you be able to make your changes easily? You would be working in old C code written by people who were not you and were writing under a deadline. Someone else's C code can be a real bear to read and decipher.

 

 

 

MoO 1 was actually written in C++.  I've decompiled it for kicks, but the disassembled code was a pain to decipher in assembly code.  But I gleaned that it was compiled with Borland C++.

 

It's relatively straightforward to replace the legacy dependencies.  What you'd do is identify which is game logic, and which is dependency calls.  You could create a new WinForm window, set it up for DOS-like graphic rendering using basic built-in pixel drawing, then write wrapper functions that works similarly to the old dependency code.  Then move game logic over one chunk at a time, resolving issues as they pop up.  Once all of the game logic is moved over, you're set to go for fixing bugs and tweaking stuff.

 

I'm not saying that this is a trivial task, but I'm saying that this CAN be done, and can potentially be faster than creating a whole new game from scratch, depending on the proficiency of the person doing the work.  If they released MoO 1 source code, I definitely wouldn't mind taking the time to modernize it!  After all, I cracked the graphics LBX file format :P

 

 

 



larienna #10 Posted 24 February 2016 - 12:59 PM

    Lieutenant

  • Players
  • 11
  • Member since:
    02-15-2016

I learned structure programming with plain C, and I am currently have an hobby video game project (wizardry Legacy) coded in a mix of plain C and C++.  So it's not that cryptic to me, but of course reading other peoples code could be a bit more complex to do.

 

As for dependencies, sometimes there are dependencies not included with the source, like for example, Hexen used the Fatman audio library, so it could not be included, so you end up with a game that has no audio which is not so bad, because the game is still playable.  I am currently using Allegro for C video game coding, so you could for example encapsulate audio calls and redirect them to the allegro library. The same could be done for any other missing dependencies.

 

So it's not an impossible task, and you can possibly come up with a compiled runnable software in little time.

 

------------------------------------

 

If moo1 is C++, then mom is c++ too since it was released after moo?



haltura_san #11 Posted 25 February 2016 - 09:50 AM

    Ensign

  • Players
  • 1
  • Member since:
    02-25-2016

View Postlarienna, on 24 February 2016 - 12:59 PM, said:

If moo1 is C++, then mom is c++ too since it was released after moo?

 

MOO2 is definitely in C (it uses Watcom compiler though). So my guess is MOO and MOM are also in C.


Edited by haltura_san, 25 February 2016 - 12:25 PM.


Zeraan #12 Posted 25 February 2016 - 10:32 PM

    Lieutenant

  • Players
  • 64
  • Member since:
    06-17-2015

View PostEmP64213, on 25 February 2016 - 09:15 PM, said:

 

Wait what, it was you! Wow! My biggest achievement of a kind was figuring out BMP back in a day of QBasic and dail-up internet. But making sense of a file format you can't experiment that much must have taken a lot of more.

 

@RayFowler, having source code would help at explaining how the game worked in the first place and maybe help jumpstart rewrite attempt. It may even help at writing AI, it was so shining back then but it's way better then no AI in remake attempts I've seen.

 

I can't claim all the credit though.  There were a lot of resources on MoO 2's LBX format.  I saw that MoO 2 uses a similar format as MoO 1 but somewhat different.  After I understood the structure, I was able to figure out what each part meant.  There were a lot of trial and error though, but the critical part was understanding that LBX is basically many files compressed into one, and figuring out that there's pointers to where each file starts in the LBX byte format, which was explained in MoO 2's LBX decoding resources.  If it wasn't for those, I probably wouldn't be able to do it.

 

However, since I am deaf, I simply cannot even attempt to crack the audio LBX files.  So only graphic and text-based LBX files are decoded.

 

I'm a full-time professional developer, and part of my job occasionally requires me to figure out third party applications (either open sourced or not) and fix them up when things go wrong with the interactions between them and our products.  So I do have experience reading other people's code and quickly locating the issues.  So if I ever get my hands on MoO 1 source code, rest assured, I WILL port it into a modern application that don't require DOS-BOX (however I'd need help with the audio part due to my deafness).  And I'm even willing to do it for free (as long as I'm credited for it :P)



RayFowler #13 Posted 02 March 2016 - 12:55 AM

    Commander

  • Players
  • 217
  • Member since:
    07-02-2015

View PostEmP64213, on 25 February 2016 - 03:15 PM, said:

 

@RayFowler, having source code would help at explaining how the game worked in the first place and maybe help jumpstart rewrite attempt. It may even help at writing AI, it was so shining back then but it's way better then no AI in remake attempts I've seen.

 

The Official Strategy Guide for MOO1 is indispensable in this regard.
Master of Orion fan since 1993




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users