Live data from Hacker News

Build Doom3 on MacOSX with XCode4

fabiensanglard.net

11–20 of 32 posts

Re: Build Doom3 on MacOSX with XCode4

#11

As someone who isn't familiar with game development, could someone explain what exactly is and isn't free? What happens if I try to run the game without the Doom3 media? How might one go about making their own media for the game? Does it even make sense to do so? How tightly coupled is the released source code to the media?

could someone explain what exactly is and isn't free?

The source to the game executable (rendering, script interpreter, physics, pathfinding) is free and released under GPL. The assets, however, such as scripts, textures, shaders are still under the original commercial license.

It is certainly possible to make your own media for the game; it will be a lot of work, but arguably less work than writing your own game engine AND making the assets. It makes sense because the Doom3 engine is very flexible and you can do a lot with it, some of which has already been done in the form of mods (as the SDK has been available for a long time).

Re: Build Doom3 on MacOSX with XCode4

#12

As someone who isn't familiar with game development, could someone explain what exactly is and isn't free? What happens if I try to run the game without the Doom3 media? How might one go about making their own media for the game? Does it even make sense to do so? How tightly coupled is the released source code to the media?

id Software is, to no small degree, in the business of making game engines, not just games. Their engines are quite deliberately decoupled from data so they can license them to other companies for their own games.

You'd use a combination of general-purpose tools (Maya, Blender, Photoshop, GIMP), and more specialized tools (like Radiant for map making) to create original media assets.

Custom gameplay is achieved with a combination of a built-in scripting language and modifying a separately-loaded C++ library that encompasses most of what really constitutes the "game" beyond the core graphics engine. The game library appears to be included in the GPL3 release, and was previously available as part of the publicly-available SDK for modders.

You could take this code base and start adding your own custom models, textures, and maps, and have a workable game as-is.

Re: Build Doom3 on MacOSX with XCode4

#13
post #12

As someone who isn't familiar with game development, could someone explain what exactly is and isn't free? What happens if I try to run the game without the Doom3 media? How might one go about making their own media for the game? Does it even make sense to do so? How tightly coupled is the released source code to the media?

id Software is, to no small degree, in the business of making game engines, not just games. Their engines are quite deliberately decoupled from data so they can license them to other companies for their own games. You'd use a combination of general-purpose tools (Maya, Blender, Photoshop, GIMP), and more specialized tools (like Radiant for map making) to create original media assets. Custom gameplay is achieved with…

Thanks, this was a great explanation.

Re: Build Doom3 on MacOSX with XCode4

#14

As someone who isn't familiar with game development, could someone explain what exactly is and isn't free? What happens if I try to run the game without the Doom3 media? How might one go about making their own media for the game? Does it even make sense to do so? How tightly coupled is the released source code to the media?

could someone explain what exactly is and isn't free? The source to the game executable (rendering, script interpreter, physics, pathfinding) is free and released under GPL. The assets, however, such as scripts, textures, shaders are still under the original commercial license. It is certainly possible to make your own media for the game; it will be a lot of work, but arguably less work than writing your own game eng…

Thanks.

So if I wanted, theoretically, to modify the mechanics of the game, how would I do that with "assets"? For example, if I wanted to add "magic" or something (like mana from diablo 2), and perhaps change the way "score" is calculated, is that part of an asset as well?

Do engines provide a DSL for making games? I guess that's my question. It seems like media assets only allow you to reskin Doom instead of making a new kind of game.

Re: Build Doom3 on MacOSX with XCode4

#15

Earlier quoted context omitted.

could someone explain what exactly is and isn't free? The source to the game executable (rendering, script interpreter, physics, pathfinding) is free and released under GPL. The assets, however, such as scripts, textures, shaders are still under the original commercial license. It is certainly possible to make your own media for the game; it will be a lot of work, but arguably less work than writing your own game eng…

Thanks. So if I wanted, theoretically, to modify the mechanics of the game, how would I do that with "assets"? For example, if I wanted to add "magic" or something (like mana from diablo 2), and perhaps change the way "score" is calculated, is that part of an asset as well? Do engines provide a DSL for making games? I guess that's my question. It seems like media assets only allow you to reskin Doom instead of making…

In iD games, there's a clean division between game-specific logic (which is usually in a separate DLL, haven't looked too closely at Doom3 yet), and framework/engine code.

On Quake 2, you could replace the DLL to switch between the regular game and capture the flag. An expansion with new mecanics could, theoretically, be done with only DLL code and new assets. You'd need to change the engine code only to add new kind of effects that it didn't support yet.

So yes, if you don't change any code, you'll only reskin Doom by creating new assets (it's usually called Total Conversion). If you want to add new game mechanics, you have to write some code.

Re: Build Doom3 on MacOSX with XCode4

#16

Earlier quoted context omitted.

could someone explain what exactly is and isn't free? The source to the game executable (rendering, script interpreter, physics, pathfinding) is free and released under GPL. The assets, however, such as scripts, textures, shaders are still under the original commercial license. It is certainly possible to make your own media for the game; it will be a lot of work, but arguably less work than writing your own game eng…

Thanks. So if I wanted, theoretically, to modify the mechanics of the game, how would I do that with "assets"? For example, if I wanted to add "magic" or something (like mana from diablo 2), and perhaps change the way "score" is calculated, is that part of an asset as well? Do engines provide a DSL for making games? I guess that's my question. It seems like media assets only allow you to reskin Doom instead of making…

The scripts are written a C++-like DSL, and are part of the assets. There's map scripts, weapon scripts, AI scripts etc. They process high-level triggers and events to handle the storyline, different behaviours, and so on.

So you could make a magical weapon writing just scripts, for example. But yes there is a limit in the flexibility, if you want to make a completely different kind of game you probably have to change the C++ classes as well...

Re: Build Doom3 on MacOSX with XCode4

#17
post #4

Earlier quoted context omitted.

They can easily merge those changes. You just have to use the git command line. It's possible to merge in a separate repo. Like so: git remote add d3mac https://github.com/fabiensanglard/Doom3-for-MacOSX-.git git fetch d3mac git merge d3mac/master

No, you cannot do that easily the way you described: $ git fetch d3mac warning: no common commits $ git merge d3mac/master [ many many conflicts ... ] CONFLICT (add/add): Merge conflict in neo/ui/Winvar.h Automatic merge failed; fix conflicts and then commit the result.

Here's the original repo with Fabien Sanglard's patch applied on top of it.

https://github.com/uxp/doom3.gpl

Just like his concern, I haven't tested building this on windows (VC 2010), so this repo needs to be cleaned up before it should be merged back into the main repo.

Re: Build Doom3 on MacOSX with XCode4

#20

Why not just get these changes upstream? Also, instead of forking it on GitHub, he just reuploaded the whole thing again ( https://github.com/fabiensanglard/Doom3-for-MacOSX- ) so that others cannot easily merge these changes. And neither in his repo nor in his post, there is a reference to the original repo ( https://github.com/TTimo/doom3.gpl ). Also, on the original repo, there were already a few fixes for Xcode4…

> Also, instead of forking it on GitHub, he just reuploaded the whole thing again

He responded in his comments:

> If not, the fork will remain buried as a Pull Request with no visibility at all.

Which is loads of bullshit. By design git is decentralized so upstream is a mere convention, where usually the closest to upstream is either the original author's repository or the most active repository.

Post reply on HN