20

Some retro games are moddable by design (have built-in map editors), others were disassembled long time ago and their level formats decoded, and custom editors created, others just have their source code published, which makes it easier to decode the format of resources inside the game executable.
But what makes a game completely unmoddable for years?

Examples: The Lemmings; The Lost Vikings; F-19 Stealth Fighter

Joachim
  • 20,337
  • 15
  • 73
  • 103
ivan866
  • 321
  • 2
  • 6
  • 9
    Lemmings on which platform? It's on everything from Commodore 64 up to in-browser using HTML5. The other two games are similar. Is there any discussion as to them being un-moddable or is it just a case that there's no demand for it ? – Alan B Sep 27 '22 at 08:01
  • @AlanB the fact 'Lemmings' was ported to multiple platforms only tells that there is high demand for it; many thousand people would enjoy new levels and new tools (perhaps adapted from Lemmings 2) for their favorite game; 'Lost Vikings' is listed on the shikadi.net website as unmoddable, which indicates there is as much demand for it as for the 'Commander Keen' series – ivan866 Sep 27 '22 at 14:35
  • @AlanB 'F-19' was re-published on Steam distribution platform several years ago, which indicates there is demand for it; however, there is somewhat about 99 missions in it, hard-coded, and the game is still playable - given new warfare regions and new missions can be provided – ivan866 Sep 27 '22 at 14:38
  • Being stored in a mask ROM under an epoxy blob. Anything short of that should be moddable, it’s just a matter of how much effort you’re willing to spend. – user3840170 Sep 27 '22 at 14:49
  • 6
    @ivan866 I don't see anything on that page saying it's "unmoddable"; on the contrary, it has some investigation details that would be useful for someone trying to work on a mod. There is a category on that wiki called "unmoddable", but all it seems to mean is "nobody's got round to working out a modding strategy for this game yet". The category doesn't contain any of the 3 games you list in the question. – IMSoP Sep 27 '22 at 15:12
  • 2
    @user3840170 being on a ROM is no issue, since the data can still be extracted and emulated. There a ton of games unreleased outside of Japan that were given fan translations and some(I remember the most popular Tales of Phantasia fan ROM changed some of the sprites to include a bit of 16 bit nudity as well as changing some of the dialog to be raunchy) – Eugene Sep 27 '22 at 16:43
  • Lemmings 2 is the case in point of why nobody wants the original one modded. And IDK those other two, so there's that. - You can make maps in Empire at War, you just need to know how to make one using HTML.... Also, legal trouble. I guess if you're Russian you can reverse engineer Fallout 1/2 into Fonline and get away with it. But the guy who made Tail of Two Wastelands (play F3 in F-NV) wishes he never did as Bethesda has been down his throat ever since. – Mazura Sep 28 '22 at 00:06
  • On the extreme end, you can have a separate process alter the game's memory. Many utilities for Dwarf Fortress do this. – Schwern Sep 29 '22 at 02:23

2 Answers2

47

No game is unmoddable. However there's a few reasons the barrier-to-entry might be higher for older games:

  • Lack of interest. Most people are interested in playing newer games. Older games, especially niche ones, have a much smaller audience.
  • Specialized hardware knowledge. Most modern games are playable on x86 (Intel) architecture. However most older consoles had their own CPU architectures. Modding games for these consoles requires knowledge specific to that console. This also means modders may need to write their own reverse-engineering tools.
  • Natively compiled code. Nearly all older games were compiled to native machine code, which tends to be a lot of work to reverse engineer. Many (but by no means all) modern games are written in languages like C# or Java, which are compiled to intermediate languages; or have their logic written in a scripting language like Lua. Both cases make the game much easier to reverse engineer.
  • Modern gaming engines. Most older games used game engines that were specific to that game, or at best, that development studio. Most modern games use one of only a handful of engines (usually Unreal or Unity). This allows modders of different games to share knowledge and tools with each other, again lowering the barrier-to-entry.
BlueRaja - Danny Pflughoeft
  • 47,814
  • 63
  • 226
  • 349
  • 14
    Another barrier can be DRM systems. The same technology which prevents changes to the executable which circumvent copy protection often also prevents any other change. – Philipp Sep 27 '22 at 10:36
  • 26
    And then there are server-sided components which run on the servers controlled by the developers. The user can't mod what they can't access. – Philipp Sep 27 '22 at 10:38
  • 1
    @Philipp or one can get banned from servers for making modifications client-side! – nightsurfer Sep 27 '22 at 12:53
  • So I assume Roller Coaster Tycoon probably has little to no mods considering it's written entirely in BASIC? – Robin Clower Sep 27 '22 at 13:54
  • 7
    @RobinClower Did you mistype there? Wikipedia says it was almost entirely written in assembly language, which would indeed make reverse-engineering harder than some technologies (most flavours of BASIC would be on the easy end of the spectrum, as they're not even compiled). On the other hand, people have modified console ROMs without even a disassembler, just reading raw hex machine codes - for instance, see this wonderful article about fixing the notorious Atari ET game. – IMSoP Sep 27 '22 at 14:18
  • 3
  • specialized hardware; we are talking about DOS versions, therefore, x86 platform in most cases; 2) native assembly code; 'Supaplex' is a good example of a game which was completely disassembled (with some luck, though) and ported to Windows circa 2010, giving birth to huge fan community and thousands of new level packs and demos; 3) modern engines; while being many orders of magnitude larger and volumous than retro game engines, notice old games rarely even utilised the code obfuscation technique
  • – ivan866 Sep 27 '22 at 14:44
  • 2
    @IMSoP whoops, you're right. I'd edit it if I could, I misremembered. – Robin Clower Sep 27 '22 at 15:08
  • 6
    Another thing: in modern code I can expect map / character / graphic data be neatly bundled together with some kind of logic. In old games, a few cycles were more important than clear code, so you can get enemy generation data within camera moving subroutine, id means different things in different moments, bunch of spececial cases where unrelated things happen to trigger something in another part of code... – Revolver_Ocelot Sep 27 '22 at 15:31
  • 2
    @IMSoP RCT and RCT2 were written almost entirely in assembly by a single human (Chris Sawyer), which actually makes them more comparable to games with available source code in terms of reverse engineering. Human-written assembly is organized and often very human-readable, as opposed to compiled machine code which has been disassembled to assembly. And the single developer helps with readability too, there's a consistent style. Indeed, RCT2 has a large modding scene. – Willa Sep 27 '22 at 15:54
  • @Revolver_Ocelot: Also, assembly was hard. The aforementioned RCT is a direct descendant of Transport Tycoon, which was similarly disassembled. That exposed a bit of a cycle waste: TT repeatedly converts its 8 directions between a 0-7 and a 1-128 scale. The idea seemed to be that 0-7 only required 3 bits, but it still took a byte of memory. Can't rip that code out now, it would break save games. – MSalters Sep 27 '22 at 15:55
  • "The Gamebryo system is a suite of modular C++ libraries. Game developers can combine and extend the libraries to modify the engine for a particular game. Gamebryo's design emphasises a rapid prototyping approach aimed at an iterative development process." - Everything from Morrowind to New Vegas ran on that. Bethesda licensed the engine; basically they too just make mods. But their only real job is to playtest them for several thousand hours, so you don't get stuck on a rock. Yea. Licensed Gaming Engine, +1. – Mazura Sep 27 '22 at 23:13
  • points 2, 3 and 4 are just examples of point 1 – Aequitas Sep 28 '22 at 02:57
  • 1
    @Aequitas I think point 1 is about there not being any interest in the base game. When a game doesn't have many players, then there will be less people interested in modding it. Modders are usually avid players of the game itself. So the smaller the community of the game, the fewer people in it who are interested in modding. And even if there are modders in that community, they might not be interested in creating mods for a game nobody plays. Even if the game would technically be rather modding-friendly. – Philipp Sep 28 '22 at 11:51
  • 9
    Many (but by no means all) modern games are written in languages like C# or Java

    Some games might indeed be written in C# thanks to Unity especially, however Java is very rare (yes I'm aware of Minecraft). Most games still get written in C++.

    – Thomas Sep 28 '22 at 12:06
  • 1
    @Thomas and the only reason Minecraft is an exception is that it descended from an applet! Actually, Jagex games (now mostly defunct and available for modding) are in this category too. – user253751 Sep 28 '22 at 16:43
  • 1
    Unity and Unreal might be common, but I would point out many major studios have their own engines. EA's Frostbite, for instance, or Capcom's RE engine. – Raven Dreamer Sep 28 '22 at 20:00
  • This answer is mostly good, but @Philipp's comment about server-side is one (sadly, big and growing) exception to the claim that no game is unmoddable. A game that's never in your possession because it exists entirely on some authority's server, and where you just experience it through some kind of thin(nish) client, is pretty much inherently unmoddable (short of pwning the server and liberating the server-side code). – R.. GitHub STOP HELPING ICE Sep 29 '22 at 20:24
  • "x86 (Intel)" - Most people are using x86-64 now, which is from AMD (based on x86 which is from Intel). – Yay295 Sep 30 '22 at 12:54
  • @Philipp yes, but if there is enough interest, the other points will be worked around. If someone has enough interest then hardware or whatever other challenges will just take extra time. People with less interest will be less inclined to gain the necessary knowledge or skills to overcome the challenges. – Aequitas Oct 05 '22 at 00:57