News for hackers. Stuff that matters.
Re:What keeps modders modding? by Kiro on Monday December 14, 2015 @09:50AM (#10731250)
I don't understand how modding works. I mean, are the games even open source? How can you achieve such marvelous things without having access to the source code? I'm always impressed by the speed of which these mods come out after game release as well.
Re:What keeps modders modding? by vvanders on Monday December 14, 2015 @10:30AM (#10731517)
Most game engines are heavily content driven due to the common team makeup of a modern AAA title(last game I worked on was ~10 programmers and ~70 art/design). Sometimes you get a subset of the source(Half-Life/Quake era stuff was like this).

Some times you don't get any source but the tools are powerful enough to build an entirely new experience(see DOTA/Starcraft mods).

Re:What keeps modders modding? by SmellyGeekBoy on Monday December 14, 2015 @10:51AM (#10731666)
> Sometimes you get a subset of the source(Half-Life/Quake era stuff was like this).

My understanding was that the first Half-Life essentially was just a Quake mod. Amazing stuff.

Re:What keeps modders modding? by vvanders on Monday December 14, 2015 @11:07AM (#10731785)
Nah, from what I remember of the source(the modding SDK exposed a lot of the engine internals) it was a mix of Q1 + Q2(I think the Q2 part was mostly networking code).

Keep in mind there was Hammer(the level editing tool) which grew into it's own thing as well.

Re:What keeps modders modding? by tracker1 on Tuesday December 15, 2015 @04:06AM (#10736694)
It was a Quake 1 / QuakeWorld mod... I remember playing it via GLQuake, only time I ever played a game more than two days in a row... played so much over that first weekend-week, my muscle memory reset, at work my hands didn't go to the home-row keys on the keyboard for a week.
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.

Re:What keeps modders modding? by pja on Monday December 14, 2015 @10:01AM (#10731316)
The game logic in modern games is usually scripted in some form or other whilst the world mesh & textures are “just” data structures. Reverse engineer both & you can make a game engine dance to your own tune.
Re:What keeps modders modding? by SmellyGeekBoy on Monday December 14, 2015 @10:18AM (#10731440)
To stick with what I know - I certainly had a lot of fun messing around with Doom WAD files all those years ago and they were essentially a nice tidy package format that allowed everything to be changed - weapons, music and sound, levels etc. but I assumed that was more because id designed the game in such a way as to make modding easy.

Is that still the case with modern games or is there a lot more reverse engineering involved?

Another thought: It surprises me when people modify e.g. a game's networking code and similar "core" functionality which I would expect to be compiled into the game binaries.

Re:What keeps modders modding? by andrewmcwatters on Monday December 14, 2015 @10:42AM (#10731596)
It widely varies with modern games, but any experienced modder facing an isolated system will use some degree of reverse engineering from analyzing file formats to scanning functions, hooking, and building trampolines, etc.

This is also how cheats for games are developed, and some communities use more malicious forms of these modding techniques for technical challenge and the fun of it, and sometimes possibility of making a little side cash.

Re:What keeps modders modding? by SmellyGeekBoy on Monday December 14, 2015 @10:49AM (#10731647)
"Cracks" too I guess. I recently discovered the joy[1] of manually deobfuscating JavaScript by picking through it with a debugger so I can totally empathise with these people.

[1] And I mean that, it's a zen-like experience! :)