4 ms·
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 Do
by endlessvoid94 15y ago
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?
- wladimir 15y agocould 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).
- endlessvoid94 15y agoThanks. 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.
- lt 15y agoIn 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.
- wladimir 15y agoThe 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...
- prg318 15y agoID has released the source code to idtech1-3 and it has done wonderful things for the open source company. Take a look at warsow, which is based on the idtech2 engine (engine used for quake II): http://www.warsow.net/ http://www.warsow.net/ There are also a variety of games using idtech3 (quake 3 engine) such as UrbanTerror, OpenArena, and Nexuiz (http://www.urbanterror.info/home/ http://www.urbanterror.info/home/ http://openarena.ws/smfnews.php http://openarena.ws/smfnews.php http://www.nexuiz.com/ http://www.nexuiz.com/). I'm not sure idtech4 is as suited for fast multiplayer gaming like the idtech2/3 engines were, but who knows what the open source community will come up with.
- nknight 15y agoid 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.
- endlessvoid94 15y agoThanks, this was a great explanation.