Re:What keeps modders modding?
by amyjess on Monday December 14, 2015 @01:33PM
(#10732832)
This is going to vary wildly from game to game. The short verison is that a lot of games actually keep most of their content outside the EXE. This includes most of the actual gameplay: often, the EXE just contains the engine, and everything that makes the game the game is loaded from other files.
How easy this content is to access is going to vary wildly from game to game.
A lot of games stuff it in an undocumented binary format. Reverse-engineering that is often a pain in the ass, but typically once somebody pulls it off, they'll release tools to make modding easier. If you're lucky and the developer encourages modding, then they might even release official tools.
Other games store it in plain text files using a consistent scripting language. Really nice developers, such as Paradox, will even officially document the API. Actually, Paradox is one of my favorite developers for this: in addition to documenting everything, their scripting language is an easy-to-parse declarative language that mostly consists of nested key-value pairs.
Art assets, regardless of the game, are often in common industry formats that are readable by various existing editors. This can be good or bad: some of these formats require very expensive editors to read the art assets (e.g. 3DS MAX). Music assets use common formats, too: for example, a lot of small companies will just use Vorbis files because they don't want to pay royalties.
Unfortunately, if you're dealing with one of the few games that stuffs everything in the EXE, modding is very difficult and typically requires hacking the EXE with a hex editor. With modern games, this is virtually impossible more often than not (especially with DRM involved). With classic games, it's much easier. For example, it's fairly easy to mod most 8-bit and 16-bit console games by opening the ROM in a hex editor: most of the classic games have been thoroughly reverse-engineered and documented by modders, and there's a colossal wealth of resources available. With many games, there are even programs to make the process easier. Some of the really advanced modders will just disassemble the ROM, modify the ASM code as needed (most 8-bit and 16-bit console games were originally written in ASM to begin with, so this isn't as hard as it sounds), and then reassemble it.
How easy this content is to access is going to vary wildly from game to game.
A lot of games stuff it in an undocumented binary format. Reverse-engineering that is often a pain in the ass, but typically once somebody pulls it off, they'll release tools to make modding easier. If you're lucky and the developer encourages modding, then they might even release official tools.
Other games store it in plain text files using a consistent scripting language. Really nice developers, such as Paradox, will even officially document the API. Actually, Paradox is one of my favorite developers for this: in addition to documenting everything, their scripting language is an easy-to-parse declarative language that mostly consists of nested key-value pairs.
Art assets, regardless of the game, are often in common industry formats that are readable by various existing editors. This can be good or bad: some of these formats require very expensive editors to read the art assets (e.g. 3DS MAX). Music assets use common formats, too: for example, a lot of small companies will just use Vorbis files because they don't want to pay royalties.
Unfortunately, if you're dealing with one of the few games that stuffs everything in the EXE, modding is very difficult and typically requires hacking the EXE with a hex editor. With modern games, this is virtually impossible more often than not (especially with DRM involved). With classic games, it's much easier. For example, it's fairly easy to mod most 8-bit and 16-bit console games by opening the ROM in a hex editor: most of the classic games have been thoroughly reverse-engineered and documented by modders, and there's a colossal wealth of resources available. With many games, there are even programs to make the process easier. Some of the really advanced modders will just disassemble the ROM, modify the ASM code as needed (most 8-bit and 16-bit console games were originally written in ASM to begin with, so this isn't as hard as it sounds), and then reassemble it.