Ultima Underworld source code release?


#21

Thanks for that hint! It took some time to consider, but I just bought Arx Fatalis and installed Arx Libertatis on my Gentoo and Debian Linux systems. It works very well! So this is what I will play while waiting for Underworld Ascendant.
Baal, thanks for pointing out that the engine was released as open source, otherwise I most probably wouldn’t have found out that it runs so well on Linux.


#22

This got me thinking for quite some time now. I came to the comprehension that OtherSide Entertainment will not have access to the sources other than previous Looking Glass developers who may still have some source files on their computers (which they probably aren’t supposed to have anyway).

The current holder of the copyright and the distribution is Electronic Arts, so we should ask them if they are willing to release the game engine as open source.

How about an online petition?
If we could get every supporter of Underworld Ascendant to sign it, maybe this will have an impact on EA to actually consider it…

I only see one major reason for standing in opposition: unlike early Windows games, DOS games almost always work very well on modern systems through DOSBox. So, if you wanted to play the original System Shock 2 (Windows version) or Arx Fatalis (Windows version), it will most likely not work very well on a Windows 7 or 8/8.1 system, whereas Ultima Underworld being a DOS game can still be played easily using DOSBox not only on Windows but also on OS X, Linux and a lot of other platforms that DOSBox was ported to. This might be the reason that EA doesn’t think it is necessary to even consider releasing the Ultima Underworld game engine: because the benefit of porting isn’t even necessary to still play the game.

Anyway, dreaming of it I think it would be great if EA would not only release the game engine of Ultima Underworld (1 and 2) but also the ones of Thief (1 & 2) and System Shock (1 & 2). That would enable the open source community to rework the source code in order to create one single game engine that will run all three games on modern hardware, with a side effect of letting the older games benefit from the game engine improvements of the newer games. But that is just wishful thinking, since both EA and open source developers would have to participate in making it reality…


#23

Good point. The comment in the AMA was quite ambiguous, and it may be that an actual official source code release will never be possible. If someone wants to put together a petition to EA though, I’d definitely be happy to sign it. Dosbox is great, but some neat things could be done if we had access to the engine’s code, even if we just fixed some of the inventory bugs and otherwise kept running it the way that we are now. Beyond that, we could look at texture replacement, widescreen support, better lighting, native support for mobile devices…


#24

I also found an interesting discussion(https://groups.google.com/forum/#!msg/rec.games.computer.ultima.dragons/SRsrEVK3OKo/xTbSoFyjTEYJ) (from about 15 years ago) between some of the Exult developers and a programmer/designer from Ultima 8, talking about some data structures from that game, and about how much information can be shared without evoking the wrath of EA. If we could find a kindhearted developer, nostalgic about the Underworld games…


#25

I think the odds of getting EA to officially release the source code are hovering around 0%. I’m not sure if publishers don’t want to go through the trouble of ensuring that there is no middleware or other code that could cause them lawsuits/headaches, or if they’re just irrationally hoarding all their IP like some sort of publicly-traded Smaug – even if they’ll never, ever use it, and there is significant historical interest in releasing it to the public. But I do know that source code releases almost always come from indie developers, not publishers – and DEFINITELY not from EA.

The best case scenario would be if the source code somehow wound up in the hands of a few dedicated members of the fan community and/or an ex-developer who was interested in preserving it. I think that’s what happened with the Dark Engine (which led to New Dark) but I could be wrong. I have zero moral or ethical qualms about historically important source code leaking into the right hands, as opposed to just rotting away for decades in the hands of a company that has no plans for it.


#26

Ditto. All that I’d be worried about is someone getting into trouble, somehow. I’d still rather have the source code quietly leaked to the community than sitting dormant somewhere.

Wikipedia actually has a decent-sized list of commercial games that have source available through one channel or another, and some of the studios are fairly big names: http://en.wikipedia.org/wiki/List_of_commercial_video_games_with_available_source_code


#27

Yes, but then it makes it way harder to set up an open community. Or what will happen if this source code was hosted on GitHub?

What I don’t get is why publishers don’t consider the possibility of a cross-platform after-market. For example, I just bought Arx Fatalis solely due to its open-sourced engine. This engine is so great, it works 100% stable on my 64-Bit Linux system. Not bad for a game that was originally developed for Windows.
I also considered buying Doom and maybe other idSoftware products once, also due to them releasing the source code of the engine. But I really didn’t enjoy the game, so… I didn’t.
But, I did buy Descent I and II due to D1X and D2X being the original game engine open-sourced. They also work very well on Linux.

So, once a publisher has harvested all possible customers on Windows and Mac, they should then see the market for every other platform. The best way to do this is to release the game engine source code.

If they are afraid that some one else would “steal” their engine to make it run other games, then they should clearly state in the open source license that the engine and any derived version of it is only allowed to run their original proprietary game. So they would still sell the original game data.


#28

“The right hands” having the code wouldn’t be a bad thing. They could write specifications based on what the code says and post those specs online. In theory, the same thing could be done by closely studying the game’s binaries anyhow, and if the specs were posted with the pretext that the information was gathered by reverse-engineering…well, OK, I could imagine that EA would probably still have a problem with that and try to find someone to bankrupt. Still, it would be a good beginning toward a clean room reimplementation, and anything written from those specifications wouldn’t be encumbered by copyright.

However, I can see EA’s perspective, too. I think that when a new game comes out, most companies want to keep its internal details secret so that competitors don’t get free help. It’s cheaper to continue that policy (even for a 20 year old game) than to have a legal team analyze the copyrights on different parts of the code, do a market analysis of whether releasing the engine will get the company more money than the analyses cost, etc. Since there isn’t an immediate and direct profit to the company, but there are some immediate and direct costs, as well as the inertia of secrecy, they don’t want to release it. Having worked for a large software company and with their release engineering group, there are copyright reviews by the legal team for compliance of any little tiny thing that gets officially released.

If they did release it with a restrictive license allowing it to only run with “the original game”, it seems like that would defeat part of the purpose (that is, allowing the community to enhance the game). If we’re changing the engine, using higher-res textures, etc, at which point is it not “the original game”? It’s a Ship of Theseus thing.


#29

I was considering “the original game” to be the original data, i.e. everything that is not the engine. Other than that I would consider it to be enhancements to the original game if only certain textures, sounds, whatever was replaced while the original game data would still be required.
The main point being: you should still need to buy the original game to make use of the open-sourced engine, even if some textures are then taken from an alternative source.


#30

Reading through this list, I finally (re)discovered SimCity, now Micropolis, which was actually released by EA. This makes it clear that, under certain conditions, even a big studio/publisher such as EA is able to release a game as open source.


#31

I was delving into the Ultima Underworld remakes and was surprised myself that none of them came past alpha-stage… and they all seem to have died off. Many reasons/excuses was that UW can be made to run on modern systems easily (via DOSBox or some tweaking).

However, I still would like the remakes developed further, for hopes to get Android ports so we can play on our phones during long commutes to/from work, etc.

Here’s the 7th remakes I list here for information and interest purposes:

Abysmal Engine: https://sourceforge.net/projects/abysmal/
Labyrinth of Worlds: https://sourceforge.net/projects/low/
TSSHP (The System Shock Hack Project): https://sourceforge.net/projects/tsshp/
Underworld Adventures: https://sourceforge.net/projects/uwadv/
Underworld 2 Revival: https://sourceforge.net/projects/uw2rev/
Ultima Underworld Remake: https://sourceforge.net/projects/uwsa/
Underworld Game Creation Kit (UGCK): http://www.peroxide.dk/ugck/


#32

My own purpose has been partly to create a remake of the game, and partly as a kind of “software archeology”, looking at how things used to be done, examining the algorithms, and such. I’m pretty terrible at reverse engineering, but I’ve had at least some minimal success. Mostly, I’ve just got a bunch of code related to loading the game’s resources and playing back the music, either through a MIDI sequencer or an emulator for the ADLIB FM synthesis hardware or the Roland MT-32. Another part that I’ve spent a lot of time on is the FM synthesized sound effect format. Most of the music and audio library was actually open-sourced by its original author, but that doesn’t include the Origin-developed “Time-Variant Effects” code.

It’s slow going though. The game’s complex, and understanding even simple compiled code is tough, without comments, names for the memory locations, etc takes a lot of detective work. My ultimate reason for taking this approach is that I’d like to be able to recreate everything in the game exactly, even glitches in the rendering of the graphics (the second game’s rendering engine is more advanced, and some of the texture mapping distortions were fixed). If I ditch the idea of true-to-original graphics and just use OpenGL, that gets rid of a lot of the algorithmic complexity, but I’ve still got to find the core game logic that defines AI and character behaviors, the exact effects of different in-game triggers, and all that.

And Underworld’s one of those games that every time you play it, you’re like “Oh, yeah…I need to implement that feature too…” I think the game could be reimplemented if a group could get together to work on it for a couple years solid. Maybe that’s where the others died; not enough people, not enough areas of expertise, and interest that wasn’t solid for long enough periods of time.


#33

There’s a very similar project under Unity that there’s a thread about on this forum you should take a look at. It sounds like you would have a common interest!


#34

I saw that other post, and maybe there’s information that we could share, based on our own separate digging. I don’t have much interest in Unity itself, but if they do, I don’t want to drag them into recreating the original engine, instead of going for a more modernized approach.


#35

So now that Underworld Ascendant is officially released, how about we re-visit the fact that there is no living resurrection of UU 1&2, despite source code being available to certain developers. How about another crowd funding to produce a modern Unity engine version of UU1? It would be trivial to strip out any Ultima specific content, since it was clearly tossed in at the last minute, and also make a Unity version of UU2 that requires ownership of the original game files.

I know I’d pay $100 to relive those games with modern graphics.


#36

Source code would be nice, but so would an actual working remake. At the very least, I’d like to see an UU equivalent of GZDoom.


#37

My posts here were collateral damage to spam cleanup: apologies that RangerThoric’s response above now shows out of sequence.

I posted that I’d gladly pay towards a kickstarter to release the source code.
RangerThoric posted that while source code was nice, a remake would be ideal.
I then argued that having the source code would allow not only a remake, but many other things too.


#38

Full source release would be wonderful, but apparently some licensing issues exist, probably partially because of this:

So the source code is likely full of bits and pieces of proprietary code that would be difficult to get permission from all the stakeholders to release.

Instead, what I am proposing, is for those that have access to the source code, to make available all non-proprietary code and information that would make it much easier to complete a modern version of the game. If ID Software can release full source code for Wolfenstein3D, DOOM, DOOM 3, Quake, Quake II, Quake III Arena, iOS ports, etc, you’d think that we’d be able to at least get a few crumbs of Ultima Underworld… enough to get a working remake going.


#39

I agree completely that even if only fragments could be released, it’d be infinitely better than nothing: I’d fund a kickstarter for that more than I’d fund any game ever.

We know SOME stuff already from reverse engineering, like that the 3D models were compiled into the executable as x/y/z triplets, and that triggers were placeable map objects called “traps”, and that at least in UW2, a trap which created an item was a “skup trap”. We have the dialog, but I think not the dialog trees. We know that they used sliding-window LZW compression in places. We have the graphics and 3D objects and maps extracted. We know much of the save format. And so on.

But these were historic games. They deserve the source code to be made public and celebrated. Heck, even just the structs alone would be amazing!


#40

Yes, that is the real question. Who would actually buy/fund a remake of Ultima Underworld I? I know I would, instantly, provided it runs on Linux as well as Windows and Mac. And, even better, provided they include an engine that lets the original game (data), without modifications, run on modern operating systems natively.

The BEST would be to get an open source remake of a compatible engine for the original game data, and, to make it worthwhile, a remake of the original game with modern graphics and a modern gaming engine and modern gameplay and a modern UI (like keyboard WASD/gamepad instead of mouse-based movement).

While the remake of the game engine for the original data definitely should be open source, the modern remake of the game itself could be closed source, I don’t care. But multi-platform non-the-less!

Who would fund such a project? Would there be enough financial support? And, like on the UA kickstarter, would there be a common ground? Because I know that a lot of the people who funded UA had different expectations to begin with. Some wanted a remake of UW1, others of UW2, and others had hoped for a modern UW3 (or, if you see Arx Fatalis as UW3, then a UW4), while some hoped for more Ultima and some for less.

A poll would be great. “Would you fund a UW1 remake?”

[Edit] What’s then still missing is someone who would write that remake. I think that OtherSide made it pretty clear they were not interested…