FOSS Games and Lost Media

FOSS Games and Lost Media

Postby forty_sham » 07 Dec 2022, 17:54

So, some time ago, I joined the Lost Media Wiki. I haven't really done much there other than tidy up some articles and make some comments, although perhaps I could get in on something at some point. One thing I've thought a bit about is whether or not there are any FOSS games that have become lost over time. I'm aware that there are certain aspects that might make it more likely for a FOSS game to stay preserved, such as the freedom of copying granted to users. Since proprietary games lack the freedoms given by FOSS, they seem to have more of a tendency to get lost. For instance, numerous articles on the Lost Media Wiki talk about missing Flash games. Some of these games may end up in a place such as the Internet Archive, but due to their proprietary nature there could be a risk of them being taken down (even if the owners of the game seem to have altogether abandoned it otherwise.) FOSS typically presents less risk of a takedown unless the terms of the FOSS license have been violated in some way or if there's a case of "free software but non-free media". Overall, FOSS games have less chance of getting lost because of the freedoms they give, while proprietary games restrict themselves at their own peril.

It is also worth noting, however, that the Lost Media Wiki also tends to talk about unreleased things, such as unreleased game builds and production material. It's likely that there could have been some proposed FOSS games or versions of FOSS games that have never seen the light of day and are only known to the public due to some announcements, promotions, or mere mentions/references. Perhaps this could be an area worth researching by enthusiasts of lost media and/or FOSS.

So, any thoughts?

EDIT: I also posted this to New FreeGameDev.
Last edited by forty_sham on 12 Dec 2022, 02:20, edited 1 time in total.
New FreeGameDev Codeberg OpenGameArt
Other:
LibreGameWiki: LibreJacket
Scratch: YesterdaysTomSawyer
Hedgewars: TheHogman
Minetest: blowgundude
User avatar
forty_sham
 
Posts: 24
Joined: 03 Oct 2022, 19:50

Re: FOSS Games and Lost Media

Postby bzt » 09 Dec 2022, 16:40

forty_sham {l Wrote}:One thing I've thought a bit about is whether or not there are any FOSS games that have become lost over time.
It is far more common that not the game is lost per se, but its platform and toolchain to compile its code. Colossal Cave Adventure (from 1976, written for PDP-10) pops to my mind, which is lost despite it's source is still available (but there's no compiler to compile it and there are no PDP-10 machines in use any more).

forty_sham {l Wrote}:I'm aware that there are certain aspects that might make it more likely for a FOSS game to stay preserved, such as the freedom of copying granted to users. Since proprietary games lack the freedoms given by FOSS, they seem to have more of a tendency to get lost.
Yes, but not only that. Even if the actual binary isn't lost, the platform capable of running it could be, as I've pointed out above. With FOSS you have the chance of modify the source to work with the latest toolchain or to port to new systems or languages. For example, Super Star Trek was originally written in 1973 for the CDC6600. Neither the machine nor a FORTAN toolchain capable of compiling it is around any more. But armed with the source, ESR ported it first into POSIX C, then later into Python, so the game is more likely preserved to run on future systems. For the records, the aforementioned Colossal Cave Adventure has a modern port too, open-adventure.

forty_sham {l Wrote}:So, any thoughts?
I think @dulsi is your man. He is doing incredible job in decoding old games' data files and then he writes a modern FOSS engine for them. That way the game will run on modern computers, while still using the original data. I personally think his approach is the best (but also the hardest) way of preserving old proprietary games.

Cheers,
bzt
User avatar
bzt
 
Posts: 332
Joined: 23 May 2021, 21:46

Re: FOSS Games and Lost Media

Postby forty_sham » 16 Dec 2022, 04:26

bzt {l Wrote}:It is far more common that not the game is lost per se, but its platform and toolchain to compile its code. Colossal Cave Adventure (from 1976, written for PDP-10) pops to my mind, which is lost despite it's source is still available (but there's no compiler to compile it and there are no PDP-10 machines in use any more).

That's an interesting point. As technology marches on, some things may get left behind. It's odd that this didn't seem to come to mind when writing the initial post, particularly since I've been aware of this kind of phenomenon in the past.
bzt {l Wrote}:With FOSS you have the chance of modify the source to work with the latest toolchain or to port to new systems or languages. For example, Super Star Trek was originally written in 1973 for the CDC6600. Neither the machine nor a FORTAN toolchain capable of compiling it is around any more. But armed with the source, ESR ported it first into POSIX C, then later into Python, so the game is more likely preserved to run on future systems. For the records, the aforementioned Colossal Cave Adventure has a modern port too, open-adventure.

Interesting to see Eric S. Raymond get involved with this work. I'll admit that I haven't researched as much about him as I have about Richard Stallman, but this is cool to read about nonetheless.
bzt {l Wrote}:I think @dulsi is your man. He is doing incredible job in decoding old games' data files and then he writes a modern FOSS engine for them. That way the game will run on modern computers, while still using the original data. I personally think his approach is the best (but also the hardest) way of preserving old proprietary games.

I'm aware of dulsi's work. It's somewhat interesting. In fact, he actually posted on the New FreeGameDev version of this thread, where he talked briefly about a game called Dwarf Corp.
New FreeGameDev Codeberg OpenGameArt
Other:
LibreGameWiki: LibreJacket
Scratch: YesterdaysTomSawyer
Hedgewars: TheHogman
Minetest: blowgundude
User avatar
forty_sham
 
Posts: 24
Joined: 03 Oct 2022, 19:50

Re: FOSS Games and Lost Media

Postby bzt » 22 Dec 2022, 14:46

I've read this on the other forum.

Technopeasant {l Wrote}:C is already fifty years old, Python is over thirty, and Java not far behind
While this is technically true, I find it very misleading in terms of software preservation. Because:

Take the latest, most cutting-edge C compiler, and it will compile fifty years old sources without issues (worst case, you'll have to add "-ansi" to the command line options). Used libraries are a different kind of beast, API changes are a plague to any programming language.

On the other hand there's no way you can run thirty years old Python scripts with the latest Python interpreter, that's never going to work (Python3 isn't compatible with Python1, Python2.5 and Pyhton2.6, and I bet the upcoming Python4 won't be compatible with Python3 either if it ever comes out). And if you manage to compile to pyc without syntax errors, you can't relax just yet, because there are differences and incompatibilities in the VM versions too.

And Java is the same, or even worse. When I first learned that language, everybody used Java applets in the browser, which won't work any more (you won't be able to run a Java applet as a Java application and all browsers obsoleted the NPAPI and dropped Java plugins). And even if we are talking about applications, not applets, that's only if you can find a compatible JVM, because there are significant differences between Sun Java, Oracle Java, IBM Java, etc.. many variants already discontinued. And we haven't talked about incompatible Java versions within the same JVM yet (both on source and binary side), nor about completely different and non-standard bytecode VMs like Dalvik on Android... Java is definitely not ideal on the long run.

And to be a fair comparition, let's not use just bytecode languages, see Go and Rust too. Both are terrible from backward compatibility's point of view. A merely 5 years old official example Go project doesn't compile any more. And Rust's syntax and compiler is keep changing all the time, still hasn't got a stable ABI or a proper dynamic library support for example (you'll have to use "unsafe" and "#[repr(C)]" all the time, but then, why using Rust in the first place?).

Long story short, software preservation becomes more complicated as you start to use "more modern" and "more higher level" languages, C as simple and old as it is, still is the best bet.

PeterX {l Wrote}:Preservation would be increased if we take the principle used in many adventures: Split the game:

* A runner which can be ported and optimized, genre-specific
* the game core data (game logics and art)
* an editor
* a compiler (can be integrated inside of the editor or not)
* perhaps a graphics-optimized backend for the runner

You know, AGS does it this way and there's Scumm VM. Same with interactive fiction.
That's a good advice, but I'd argue this only works with the adventure and interactive fiction genre. I believe this is a more general solution, suitable for any kind of games. For one, I'm trying to implement exactly this level of separation for RPGs. I have a player (the runner as PeterX called it), which has nothing to do with the game and GPL licensed; game core data stored in a well-documented, machine independent format; and a GPL'd editor as well which integrates a compiler that converts from commonly used asset formats into the game core data format (just as PeterX suggested). We'll see where my project leads :-)

Cheers,
bzt
User avatar
bzt
 
Posts: 332
Joined: 23 May 2021, 21:46

Re: FOSS Games and Lost Media

Postby zzo38 » 24 Dec 2022, 07:05

It is true that some programs have better backward compatibility than others. Emulation of older systems (some of which are described below) is likely more reliable to be preserved in future, than using newer programs, and there are other benefits to using emulation of older systems, too.

Those kind of splitting can be possible for many kind of games actually, and there is also possibility of using VMs that are more general, too. Some might be usable for one genre, some might be suitable for multiple genres (although not always as good as another one), etc.

Glulx is meant for text adventure games, although it is general enough that it is possible to make some other kinds of text-based games with it too.

Emulations of older Nintendo systems can be used for many games, e.g. NES/Famicom, Game Boy, etc. If you use a common mapper and common input devices, etc, then they will be much more portable than use of uncommon mappers and other features. (If necessary, for NES/Famicom, you can also use keyboard, mouse (of Super Nintendo), joypad with extra buttons (of Super Nintendo), touch screen, MIDI, etc, all of which are official from Nintendo; for Game Boy, you can use a printer if necessary.) Newer games are still being written for such old systems, and one reason for doing so is the portable and preservable emulation of them.

ZZT is an older game engine for DOS, and it is now FOSS. (The source code was lost, so they had to rewrite it, but the rewritten code is 100% compatible with the original and even produces an identical executable file than the original. Unfortunately, the compiler isn't FOSS, though.) If you are using the "Standard ZZT" subset (which most worlds do), then it is portable; the code has already been ported to other systems (using compilers which are FOSS). (Note: Standard ZZT is a subset of ZZT 3.2, excluding most (but not all) kinds of out of bounds memory accesses, and a few other things that are rarely used and were never intended anyways. But, if you really do need ZZT 3.2, that works fine in DOSBOX, too.)

Even other DOS programs can run on GNU/Linux and other computers too, by emulation.

About the separation mentioned above, it is also one thing I intended with Free Hero Mesh, for a specific genre which is grid-based turn-based puzzle games involving objects moving. It is FOSS and is also documented. It should be possible to use exec.c and class.c, with some modifications as necessary, and some parts of other files, to be able to make a version that is ported to other systems, although currently I have not ported it to any system other than GNU/Linux (but other people can try to port it to other systems they are more familiar with and have available for testing). (I try to avoid breaking things, although sometimes some things are changed (e.g. for better emulation of MESH:Hero, but they are unlikely to affect most puzzles). It does have regression testing capability of puzzles, and these test cases can also be used to test implementation (in fact it is what I have done, since it started as an emulation of a proprietary game engine; it is still capable of doing that but has many more features added since then).)
zzo38
 
Posts: 26
Joined: 07 Jul 2022, 19:04

Re: FOSS Games and Lost Media

Postby QwertyChouskie » 04 Jan 2023, 08:10

This topic is very fitting for what I'm currently working on. I'm archiving old WIP/unfinished/etc things related to SuperTuxKart here: https://github.com/qwertychouskie/Super ... xtra-stuff

I've ran into some lost media already. The following post's download links are dead nowadays: https://forum.freegamedev.net/viewtopic.php?f=18&t=6423

3 of the 4 songs had a re-encoded copy uploaded by another user, but one song, Overworld.mp3, doesn't have any alternative downloads. I attempted to PM a couple of the users that had downloaded the file in hopes that they might still have a copy, but sadly, the forum's email system is completely broken.

@charlie You were one of the users that had downloaded the file, any chance you could check if you still have a copy? I know it's a long shot, but maybe it's still sitting around in a Downloads folder somewhere...
Contributor to/fan of STK (Upstreamed Cartoon theme, numerous random big fixes/tweaks)
User avatar
QwertyChouskie
 
Posts: 559
Joined: 29 Jun 2016, 14:57

Re: FOSS Games and Lost Media

Postby Calinou » 10 Feb 2023, 20:11

Syntensity is an example of an open source game you can't run anymore since 2012 or so. Even though you can still download a Windows installer from ModDB, it requires a login and a backend to download content files from (the various "activities", which include maps and game logic). The base package (contained within the installer) only contains some HUD textures and the default player model.

It was a fork of Cube 2: Sauerbraten with JavaScript scripting using V8 (back when that was fresh, new technology). It was pretty innovative (and might even remind you of Roblox in some ways), and it was developed by the person who went on to create asm.js and WebAssembly :)
User avatar
Calinou
 
Posts: 171
Joined: 22 Jan 2010, 21:43
Location: France

Re: FOSS Games and Lost Media

Postby freem » 15 Feb 2023, 00:14

There is openfrag too. I gave a try at compiling it a little while ago, but unfortunately this projects uses Ogre3D, and I could compile it.
I was interested to try a medieval FPS, and the screenshots do not seems too bad, to me. Maybe I'll give it another shot someday, by using a Debian of this age.
freem
BN Moderator
 
Posts: 106
Joined: 18 May 2015, 19:38

Re: FOSS Games and Lost Media

Postby Technopeasant » 17 Feb 2023, 02:37

Or you could try running OpenFrag through Wine perhaps?

It works for me that way, although it is mostly just a glorified terrain demo.

Having dug up a lot of old libre games the past few weeks it is somewhat unfortunate that having a Windows binary is the surest way to get it running today.

Which is not an endorsement of Win32 as an API, just that it was used so much that there is a motivation to maintain backwards compatibility via Wine.

Since most Linux apps are recompiled for each new distro release, there is less motivation for supporting outdated binaries.
User avatar
Technopeasant
 
Posts: 176
Joined: 22 Feb 2017, 03:38

Re: FOSS Games and Lost Media

Postby forty_sham » 30 Mar 2023, 07:17

Calinou {l Wrote}:Syntensity is an example of an open source game you can't run anymore since 2012 or so.
...
It was a fork of Cube 2: Sauerbraten with JavaScript scripting using V8 (back when that was fresh, new technology). It was pretty innovative (and might even remind you of Roblox in some ways), and it was developed by the person who went on to create asm.js and WebAssembly :)

Interesting. It can be rather intriguing learning about the lesser-known projects of the developers of well-known software.
QwertyChouskie {l Wrote}:This topic is very fitting for what I'm currently working on. I'm archiving old WIP/unfinished/etc things related to SuperTuxKart here: https://github.com/qwertychouskie/Super ... xtra-stuff

I've ran into some lost media already. The following post's download links are dead nowadays: https://forum.freegamedev.net/viewtopic.php?f=18&t=6423

3 of the 4 songs had a re-encoded copy uploaded by another user, but one song, Overworld.mp3, doesn't have any alternative downloads.

I had speculated that some old SuperTuxKart stuff, either stuff from older versions or old addon stuff posted somewhere, might have gone missing somewhere down the road. This is interesting in that some of these songs I have not heard in any SuperTuxKart release I remember playing. I recognize the Ravenbridge Mansion song from some recent versions, but the other two available for download I hadn't heard until I found the thread. Because it is lost, I can't necessarily determine if the missing "Overworld" song is supposed to be the one currently used in the game (or some variant of it) or if it is something else.
QwertyChouskie {l Wrote}:I attempted to PM a couple of the users that had downloaded the file in hopes that they might still have a copy, but sadly, the forum's email system is completely broken.

Ah. That's not good.
New FreeGameDev Codeberg OpenGameArt
Other:
LibreGameWiki: LibreJacket
Scratch: YesterdaysTomSawyer
Hedgewars: TheHogman
Minetest: blowgundude
User avatar
forty_sham
 
Posts: 24
Joined: 03 Oct 2022, 19:50

Who is online

Users browsing this forum: No registered users and 1 guest