- cross-posted to:
- gamedev@programming.dev
- cross-posted to:
- gamedev@programming.dev
A lot of old games have become unplayable on modern hardware and operating systems. I wrote an article about how making games open source will keep them playable far into the future.
I also discuss how making games open source could be beneficial to developers and companies.
Feedback and constructive criticism are most welcome, and in keeping with the open source spirit, I will give you credit if I make any edits based on your feedback.
Be the change you want to see. Make some games worth playing and release it as a FOSS and prove it can be a commercial success as well. See how it goes.
Asking people to release their work for free while providing very little incentives other than your own benefit aren’t going to convince people who need to put food on the table NOW, without relying on miniscule probability of popularity or success after pouring years of your time.
Shoutout to Frictional Games (known for Penumbra, Amnesia, Soma) who publish many of their older (commercially successfully) games on their GitHub: https://github.com/FrictionalGames
Great that they’re using the GPLv3 license too.
Sidebar: that’s why the Penumbra games have excellent VR support now, for those interested in shitting their pants.
Well, one of the alternatives is what ID Software used to do, where they would sell the game for a period of time and then open source the code Once sales dropped off.
Yee, you’re mot going to be hurt by open sourcing your game 5 or 10 years later. By that time practically nobody will buy your game anymore. And of the ones who still will,.they likely aren’t the ones that would even bother with looking for alternatives other than a big sale on a store page
But then, open sourcing adds to human culture, it lets others modify the game, or use it as a foundation for something new. And those things will credit you, and you will still get some extra benefit/good pr.
It’s just a good thing to do, imo.
I have mentioned examples of games that saw commercial success while being open source. And of course, delayed open source is also an option as some other users have said here.
The open sourcing of the quake engine is where a lot of modern engines got their roots.
Can you explain that? Are you saying there are modern engines using parts of quake 1 source code?
The engine Can of Duty uses is effectively a heavily modified quake 3 engine.
By this point it’s so modified it may as well be a different thing, but make no mistake it has evolved from the quake 3 engine.
The first 3 or 4 used quake 3 engine for sure, but didn’t they switch it at some point?
Edit: nm I found the wiki page on the topic: https://en.m.wikipedia.org/wiki/IW_(game_engine)
Tldr; it’s what you said
Half-Life Alyx still has some flickering light code from the original Quake. Couldn’t find a good gif that would include Alyx, but here’s a couple other games:
The only one I can think of is that Source might still have some id code in it from the goldsrc days, but that was before it was open sourced.
I’d really like to see an improvement through copyright reform. Copyright periods are already ridiculously too long, but after a game runs its financial course, I think everyone should be free to do with it as they please. At a fundamental level, wasn’t this the intent of a functional copyright system? Is it not the intent to allow the creator to benefit while balancing the value against social good?
Capitalism has scribbled right over the “social good” bits of that. We can pretty much single handedly thank Disney and lobbying.
Truely. Copyright terms are absolutely ridiculous and massively too long for their intended goal.
Yes exactly. These companies hold rights for far too long in the hopes they can “milk that cow” at any chance they have. The products of these (and many others) companies are electronic waste for many after a while and so normal copyright laws shouldn’t hold for them, it’s just too wasteful.
We need timebomb licenses: You have 5 years to make money on your product, thereafter it’s converted into a FOSS license
The games that are going to be the hardest to preserve may end up being many of the mobile games that are popular now.
These games are usually installed through an app store, so if the app store pulls it, that could be it for new installations of the game unless the game can be extracted off an existing device. And even if you manage to extract the game off of a device, in order to get it onto another mobile device will likely require some way to side load it.
Many of these games also depend on a server so once the server is turned off that’s another way the game to die.
The mobile devices these games run on aren’t built for the long term either. They are essentially disposable devices meant to last a few years and then be tossed. They aren’t built to be serviced or repaired. Eventually the batteries will die, and while you can replace the battery, there’s no standardization of battery packs and eventually replacement batteries won’t be available either.
Even if you can get an old mobile device going, there’s no guarantee that you’ll actually be able to do anything with it, because the device itself may depend on some remote server just to function that could someday be shut off. There’s already old phones today that if you factory reset them, it effectively bricks them since they need to contact some activation server as part of the initial setup process and that server is long gone.
Of course, many people may ask - who cares? Perhaps so, but I’d bet a lot of people said the same thing about the old Atari and Nintendo and Sega and MS-DOS games that were popular years ago and are still popular today.
It’s kind of interesting that pretty much all the games I played as a kid are still accessible to me today - in many cases the original game is still playable on the original, still functional, hardware. But a lot of kids today growing up today playing mobile games on a phone or a tablet, when they are my age, could very well have no way to ever experience those games again that they grew up with as kids.
The good thing is, on Android you can get an APK without root or anything like that, same for installing it, and you can use an emulator (or something like waydroid) to run it on a computer. For cases where the game doesn’t use any more specialized servers, and just uses the app store for authentication, DRM, etc. the situation is no different from PC games with DRM - it’s bypassable, and if done right, will work for all games, not just one.
That said though, it’s very true for multiplayer/always online games, and those are very common on mobile. While it’s possible to reverse engineer and rewrite the servers, for most of them nobody is going to bother. And in the world of aggressively monetized games, developers have an incentive to keep it that way - they can’t make money from players who are still enjoying a game they’ve already squeezed every penny out of.
I am old enough that already have lost some childhood (e.g. early iPod touch) games to time
Like all the donout games Or papi games Doodle jump …
Some still exist, but got updates that they not at all behaving like remembered or having tons of ads making it impossible to game
As an example:
I am so happy that they released Hill Climb Racing again without ads, sadly it is on Apple Arcade, but luckily my parents have a Apple One subscription that I am allowed to use through family sharing (for the time being)
But if this subscription is ended, I have no way on playing Hill Climb Racing in a version without tons of micropayments and ads.
Apps are challenging to preserve, but it’s the MMORPGs and online games that are almost impossible since there is no game without active servers and people playing the game. Hardware can be emulated and code preserved, so the apps you’re talking about could be preserved IF Apple, Google et al wanted to - which of course probably won’t happen, but still.
Why would we need open source instead of just removing drm?
Most people aren’t going to compile old games for new hardware. That’s not an easy task.
Abandonware is a thing, and there are some websites dedicated to it. GOG has done some great stuff releasing drm free games. So long as we have drm free, we can always build emulators to run what can’t natively run on modern systems.
Are you kidding? Think about all the skilled contributors that currently work on emulators, do you not think that some of them would switch to working on re-compiling games? And I agree there are probably weird platforms that it wouldn’t be easy for, but anything x86 is going to be much more trivial. I mean, someone was even reverse-engineering Super Mario 64, re-coding the entire game. The original source code and ability to use the code without getting sued would make things so much easier. Yeah, not every game would be done, but the big titles would be.
As far as emulating the rest, access to the source code would make it far, far simpler to figure out compatibility issues and make sure that every game is actually playable.
I’m not against it, but it’s not a silver bullet for game preservation. All game engines are unique. Some are heavily optimized for their target hardware. Just because you have access to original source code doesn’t necessarily mean it’s going to be easy to preserve it for future hardware.
I mean, there are games that got terrible ports despite dedicated teams working on it full time with access to original source code. It won’t be much easier for the fans taking this on as a hobby project during their evenings.
Only the games with most dedicated fans will get preserved for future generations.
That was true when every studio had their inhouse engine, optimized for their game types.
Today we have 100.000 times more power and “everyone” goes with a prebuilt engine so I don’t think your point is valud, any more at least.
That’s true, but there are still many games using in-house game engines.
God of War, Spider-Man, Elden Ring, GTA, Tears of the Kingdom, Doom Eternal, Halo Infinite, Destiny, Call of Duty, Cyberpunk, The Last of Us, Diablo 4, etc.
These are popular games that game into my mind. I don’t think game preservation should be limited to Unreal games.
And also, modern gaming platforms are all very similar. Since last gen XBOX and PlayStation have very similar hardware to both each other and to normal PCs and the Switch is very similar to many Android devices. The wild times where console manufacturers designed crazy custom chips that were hard to port to and from are over and thus the engineers tend to also be more agreeable with different platforms.
Not so sure about that. When you consider time spans.
Currently we can emulate the majority of early games consoles. So theoretically with time and Moors law any hardware will be emulate able in a few decades. With enough information.
The advantage of open source software. Is it can be used with the original binaries to reverse engineer the instruction set even if the original manufacturer wishes to hide it. So with will and effort even the most complex hardware will be able to be emulated on future much faster hardware.
Moore’s law is not a given. It has been slowing down recently.
Current games are made for current day’s design of graphics cards. They are very dependent on pixel shaders for example.
Let’s be hypothetical. Imagine that future graphics cards go all in on ray tracing. Pixel shaders have become a thing of the past and no new hardware support it natively anymore.
Preservers have two options: either try their best to simulate pixel shaders effects through ray tracing, or emulate it through software.
Simulating through ray tracing won’t be accurate. Many pixel shader effects can’t be properly translated to ray tracing. Emulating through software can be hard. I don’t think many games even from 20 years ago can be fully run on modern CPUs.
The direct numerics of moors law may not be definite.
But the principal it defines is. In the future computers will have much more power then they do now.
The reason modern GPUs use things like shaders etc is to allow them to archive massive manipulation of data in more efficient ways specific for the task desired.
Honestly this is why I mention time scale as the main thing that will make this possible. How modern gpus or other specialised processers do the task is less important then what the game code is asking the gpu to achieve.
The idea that at a unknown future date. The CPU GPUs or what ever future tech we have. will never be able to run fast enough to read current cpu or gpu instruction sets. And generate the effect defined using future techniques is not viable as an argument. The only questions are how long and is anyone going to have the motivation to reverse engineer the large but finite instruction sets used by secretive hardware corps today.
It’s an interesting article and I’m also starting to think more and more about game preservation.
I don’t understand why a company like Sony wouldn’t provide you a way to play ps1-3 games on your ps5. I would even be ready to pay for it.
There might be some technical problems I’m not seeing, but people can do it on older pc’s…
I guess the whole video game industry has to think about preserving its own history.
I don’t know if open sourcing games would help, but something needs to be done.
Even playing a game like Sim City 2000 on pc is proving challenging now on Windows. I would want to play it on Linux but I can’t imagine how difficult that would be as the game isn’t even listed in Proton DB. And the VM solution would probably not work as Steam wouldn’t support something like Windows XP…
SimCity 2000 isn’t on ProtonDB because they only list Steam games. It’s on Lutris though with multiple automatic install scripts for different versions, so it should be fairly easy to get running.
In general I’ve had way less trouble getting ancient Windows games to run on modern Linux than on modern Windows.
Hell, Lutris can even set up the original 1989 Sim City for you. Seeing that game on modern display sizes and resolutions is quite something
Ok Thanks for the info. I might check it out 👍
PS3 in particular has very weird hardware. There aren’t any good PS3 emulators for PC. Basically the only way to play PS3 games is on an actual PS3.
What do you mean? RPCS3 is an excellent emulator. It’s not completely hardware accurate, almost no 3D emulator is, but it’s still pretty good.
RPCS3 is indeed excellent, but if you look at their compatibility list about a third of all games aren’t in a playable state. The big exclusive titles people usually set up an emulator for will work for the most part, but outside of that it quickly becomes a lot sketchier.
Out of all the games I tried to play, only one of them worked.
That’s because these consoles and source code are not always compatible. To make them it would cost them time, money and the compromise to maintain them.
I would rather these companies to be forced to open source their older hardware and source code, so the community could do something with them and not have all the hardware laid to waste. Or at least support the development of emulators
I don’t understand why a company like Sony wouldn’t provide you a way to play ps1-3 games on your ps5. I would even be ready to pay for it.
They want you to buy new games. Not to play your old games.
PS5 doesn’t support CD, so popping in PS1 games (and a few early PS2 games) won’t work even if PS5 had a proper PS1 emulator. It’s only a matter of time until DVD support will be dropped for future consoles as well.
Re-releasing old games digitally is also difficult. More from a legal aspect. They need the permission of the holder of the IP. If they want to release Crash Bandicoot again, they need permission from Microsoft, who’s the current IP holder.
It’s also extra problematic if the game uses licensed music, which became common in the PS1 era. Then they need permission from all the involved artists. The Tony Hawk games are problematic in this regard for example.
New releases of Sonic 3 doesn’t include some of the original tracks. Possibly due to the potential involvement of Michael Jackson.
What do you guys think about releasing them on github for free but in official stores as paid?
I think it’d be good to release them under a timebomb license: closed source for 5 years, let the dev make money, after which they have to release their source under a permissive license.
Eh, that would disincentivize long-term updates.
Instead, 5 or 10 years of inactivity should be more than enough leeway.
On the other hand if the code from the 5 year old release was open source but the updates from today was still closed source for another 5 years that would encourage continual improvement addition content to differentiate from the community releases.
It wouldn’t be limited to community releases, though. Other companies could poach the source code for themselves, and I doubt that’s something easy to regulate.
True, “community” might not be the right term.
But nonetheless if the OG developer structures their license so that each version becomes open source after 5 years then people publishing that as is or creating forks will always be a few steps behind the official release.
Of course if the title has any kind of community support that crowd sourced effort has the potential to outshine the OG developer, its important they time their license to give themselves a head start.
I think Friday Night Funkin’ will turn into a cautionary tale here, by releasing their game with much hype and open sourcing their code the first 7 weeks in 2020-21 they allowed community to really flourish. The player community has created content and then content that builds on and responds to that content (both narratively and mechanically) for several cycles now. Much of this content is now viewed as core to the FnF experience by players but much of it is also now built around other people’s IP (video games, TV shows, music, etc)
At the same time The Funkin’ Crew has been quietly working on Friday Night Funkin’: The Full Ass Game but I suspect that as a commercial game bound by the resources of single dev team and the rule of law they will be hard pressed to compete with the community they spawned.
While this is a win for remix culture it might not turn out as being the most prudent business decision. On the other hand they pulled off a two million dollar kickstarter so ¯\_(ツ)_/¯
For a company that is iterating on its products this is probably fine from a mechanical sense but would be a nightmare for their IPs.
Consider the early Super Mario series:
- 1985 - Super Mario Bros
- 1986 - Super Mario Bros: The lost levels
- 1988 - Super Mario Bros 2
- 1988 - Super Mario Bros 3
- 1990 - Super Mario World
- 1996 - Super Mario 64
If in 1990/people could legally make their own “lost levels”-esque remixes with the SMB1 engine that would be paltry competition with SMW.
Similarly if people started remixing SMW in 1995 it wouldn’t have stopped SM64 from defining the 3d platformer genre and presenting a very strong argument for the analog stick being required for any 3d console.
But if people could tell their own Mario stories, that might tarnish the brand. If that happened we might not still be getting Mario games today.
I’m not sure how you open source both engine and assets without losing control of the narrative.
Easy – Nintendo simply has to release innovative Mario game after innovative Mario game to keep the community efforts at bay.
Why maintain a 20 year old game, when you can play the latest game with the knowledge that it too will be open sourced in X years?
Yeah as far as gameplay mechanics go they would be fine, most main line Mario games have a unique gimmick.
I wonder if the family friendly branding would be as strong if people could publish rom hacks in retail channels.
Similar way is how I ended up finding out about Mindustry. Found it on F-Droid and liked it enough to buy it on Steam when I found out it’s available there. Definitely a good idea if done right.
They could potentially release source only with no art assets. Then you wouldn’t be able to compile the game without either owning the game or pirating the assets elsewhere. But it would allow community members to update the game when it breaks or to add new features. Similar to the Mario 64 decompile.
While all this would be great for consumers it would probably take legislation to get publishers on board with something like this. Publishers have a financial incentive to let the games languish then force you to pay to get a “remastered” version.
I have purchased every single open source game that I’ve seen listed on steam as paid. Examples:
- Shattered pixel dungeon (and also the original Pixel Dungeon)
- TOME
- Shapez
- Open Hexagon
- Mindustry
- Lugaru
- Mega Glest
- Marvellous Inc
- Hydra Slayer
- HyperRogue
For more FOSS games on steam, there’s a decent list collected on this curator (also pointing which ones are only partially open): https://store.steampowered.com/curator/38475471-Libre-Open-Source-Games/?appid=1769170
Part of the spirit of open source is that commercial distribution be allowed. So there’s no issue with doing this.
NC licenses exist, but I don’t like them
Yeah but I feel like the spirit of open source is still to allow it imo. First point on the Open Source Definition: https://opensource.org/osd
I really enjoyed “Veloren”
Descent, Freespace 2, these two games open sourced a long time ago. They’ve been updated by the community over the years, and ascended far beyond where they started.
Indeed it has. Also, ground vehicles?!
I didn’t know about thrive. That game looks cool! Mindustry is a lot of fun! I am not a gamer but that game is really cool. And KGoldrunner is a classics
I think it could be viable for a company to release a game with a “5 year FOSS promise” or something similar, but you have to realize that the gaming community would never adequately financially support most development endeavors if the choice was as easy as downloading it from place A vs place B.
Many games are trivially easy to pirate and this has been the case for decades. It’s literally as easy as downloading it from Place B.
People still buy the games.
That’s not accurate. It’s far easier to purchase the game currently than it is to pirate it. You get things like automatic updates, server support, verified software, library management, etc with almost every single point of sale where as with piracy you get none of those and likely a little bit of malware as a treat. If you moved games to a completely open source model, you’d see this paradigm shift dramatically with gray markets spinning up seemingly overnight offering similar features.
Ehh if you are on a reputable tracker that has scene releases it’s generally downloading a torrent, copying a crack into the game directory or running some crack software, and play. It’s not in the least bit difficult.
Realistically most people don’t care about things like automatic updates enough to justify spending money on it.
You and I know very different gamers. I can’t even talk people into going pc instead of console/mobile phone. (Which is 90% of the gaming market).
I think it could be viable for a company to release a game with a “5 year FOSS promise” or something similar
Yes, that is one of the options I mention in the article. But there are games that are open source from day one, such as Mindustry, which have seen commercial success.
I’m all for it. Glider Pro for MacOS 9 and below released its code in a sort of “as is” state a few years ago, and thankfully, some skilled devs took it up and ported it to modern systems.
It’s a game I would have sorely missed, having long since left the Apple ecosystem (and that game was also PPC-only). We’ll still lose even open source games, but at least people would then have the option to preserve them.
Devil’s Advocate:
FOSS is basically an endless development cycle. Anyone who wants to pick up and keep developing can. This has benefits and drawbacks.
I would say the main drawback is that you might be expected to work longer on this code than you plan to. The gaming community can be pretty demanding while also not stepping up to contribute themselves.
Further, it means some games can end up in unintentional “development hell” because there really isn’t an end-state for the game. The nature of the game keeps changing because the person in charge can’t decide what they want to go with long-term. The Duke Nukem Forever problem.
Now, indie titles like Terraria and Stardew Valley stand as examples that show an eternal development can be a good thing, but they’re truly in the minority and they’re really both driven by auteurs, which is why the themes are so crisp and well placed throughout the games. It’s kind of hard to have a single brilliant auteur in charge of a giant game involving lots of people and have it work out. Look at the shitshow of an aftermath of what happened to the auteurs behind Disco Elysium. When you’re part of a big team, some things always become a shadow of their original intent. Things become anodyne not on purpose, but simply because not everyone is on the same page. Designing a horse by committee results in a camel, etc.
It could work for small indie games, I don’t think it would work for anything AAA-level.
You’ve laid out one potential development cycle: FOSS from the get-go, and open collaboration welcome.
However, that’s not the only way that a FOSS game might be developed. The code could be freely licensed, but the upstream developers refuse to accept outside patches. In that case, there’s one “original” and then if you don’t like it, build your fork.
Alternatively, a game could be developed entirely in-house under proprietary licenses, and then only made FOSS upon commercial release. Contributor patches could improve the project, but conception of the game would be entirely the domain of its original developers.
I agree