Here are some VERY useful links on game design. I got the list from here. You should visit that web site too - they have more stuff like articles on production and productivity, and even the actual design documents from games like Doom.
In brackets after the article name is the source... please note that you have to register with GamaSutra (free and instant) before you can read their articles. It's worth it though.
Whether you are coding, making models, maps, animations etc a variety of tools are available to help you out. The following provides an introduction to such tools and points you in the direction of where they may be found. If you are new to mods, we suggest you read our getting started page. If you are looking for help making mods we encourage you read on and check out our tutorial listing. If you have a mod you have made or know of one we are missing - please contact us or add it to our mod listing. What You Need
In order to start off with your mod project, there is always one tool a modder needs to have, and that happens to be the...
Software Development Kit
A "Software Development Kit" (or SDK for short) contains a set of development tools to help you create that mod you've always been dreaming of. This also usually contains the mapping tools required to edit the levels that you play in. This is what you need in order to modify the source code of the game itself in order to get your weapons/models/coding/etc. working. At the moment, several of the more popular SDK's have been made available to download. Here's a list of some of those games:
Half-LifeQuake and Quake III ArenaUnreal TournamentFar CryPreyBattlefield 2Elder Scrolls IV: OblivionDoom 3Command & Conquer: GeneralsReturn to Castle Wolfenstein: Enemy Territory
There are plenty of games which require you to purchase the game in order to use their respective SDK. These include Half-Life 2, Unreal Tournament 2004, and Homeworld.
Quake and Quake III Arena remain popular today, simply for the fact that they have recently been made open-source. This means that, unlike typical mods, you can make your creations into commercial products that can be sold at a fee for people to play. Those that aren't open-source are illegal to sell for a profit.
3D Modeling Programs
This is one of the most important tools you need when you are creating a mod. 3D Modeling programs help you create your characters, weapons, props; what have you. Here are a few of the most popular modeling programs that can be exchanged for some cold hard cash (or plastic, if you buy them online).
3DS Max - Usa.autodesk.com
Used by most industry professionals, 3DS MAX is a powerful tool for any of your modelling, animating, and rendering needs. Maya 3D - Alias.com
Another powerful program used by industry professionals, and is rated by even most modders to be equally, if not more powerful than 3ds Max. Of course, the same can be said about either, and it just determines on which program comes more natural to you. Both programs are highly recommended.
MilkShape 3D Editing Software - Swissquake.ch
This software is used to edit the characters in the games Half-Life, Quake I, II, and III, and Unreal Tournament.
There are also free modelling programs available online. That doesn't necessarily mean they're bad, but they just don't contain as much features as the paid one, or they have some crits among them, or just aren't as powerful.
Turbo Squid GMAX - Turbosquid.com
The free version of 3dsmax that is missing much of the fully-paid's features, but is one of the more-preferred modelling programs. This version of Gmax, Turbo Squid, is specifically tiered towards modifying game content.
Maya PLE- Usa.autodesk.com
Another great free software from Maya. The only crit is that it pastes "Maya PLE" over the background of your model.
Blender 3d - Blender3d.comSoftimage|XSI Mod Tool - Softimage.com
Softimage|XSI Mod Tool gives modders deep options for crafting content for their games (it can even be used for standalone products).
One of the critical parts of modding when it comes down to it. Animation lets you come up with new ways to die, reload, jump, crouch, etc. This is especially important in a 3rd person game, where you don't look like a log using an FPS integrated switch to third person, where it's just a straight body with a twisting head, and feels very clunky. Here are some programs that might interest you in animation:
Autodesk Motionbuilder- Usa.autodesk.com
A very intuitive and complex animation program that is used by many industry professionals, especially for FMV sequences, MOTIONBUILDER is the best real-time 3D character animation solution on the marke. You can also check the site for Mocap and plugins for video. Lightwave - Newtek.com
An affordable and easy-to-learn program that is only held back by having less power to animate than Kaydara does. But, for those who are looking for having an easier time to animate, or who are trying to learn how to, this is a pretty good program to try out.
Most modelling programs also contain their own built-in animator, so if you don't like either of these programs, you can kill two birds with one stone by checking out the programs listed under Modeling Programs.
2D Art & Texture
Looking to fill in those black and white pictures your concept artists have given you? Give it a more visually appealing look that is easier for the modellers to use by trying out these two programs, which happen to be the most popular of the bunch:
Photoshop - Adobe.com
The industry-standard used by all the pros. A very powerful program used by Web designers, photographers, and video editors. Paint Shop Pro - Corel.com
A professional and easy to use program that lets you create professional digital creations. It's also a lot cheaper than Photoshop's software, by about $550, so if you don't want to break the budget, I definitely recommend getting this.
Modeling / Skinning Resources
Don't feel like you have the creativity to come up with your own modelling and skinning, or are having a really tough time find a modeller and skinner? Try out these two sites, which give you both for free!
AddonDB - Moddb.com
The brand new network site from the creators of ModDB, AddonDB is your one-stop shop for all of the addons you could ever think of. From character models, weapon models, and maps, to sounds, skins, and tools, this site is the only resource you're ever going to need. FPSBanana - Fpsbanana.com
Perhaps the biggest customization site solely dedicated to FPS games on the Internet today, FPSBanana provides a wide assortment of tweaks and tools to help you in your endeavor to make your mod.
Although mapping tools are generally not released to the public and can only be used after purchasing the game itself (such as Unreal Tournament 2004's "UnrealED"), here are a number of programs that can help you in your level design ambitions.
Valve Hammer Editor 3.4 - Collective.valve-erc.com
The map editor that Valve supplies with Half-Life 1, it's the most used and should be the only used for Half-Life. GTK Radiant - Qeradiant.com
One of the most popular and most-used mapping tools is GTKRadiant, which is a descendant from the older Q3Radiant. This free-to-download program can be used to mod for several different games, which include Doom 3, Medal of Honor, Call of Duty, Half-Life, and of course, the Quake series.
You can usually use Hammer or Radiant for your compiling needs, but if you're frustrated with it, and want an easier and better way to open a map, here are a few other recommended compilers:
Zoner's Half-Life Tools - Collective.valve-erc.com
A friendly and intuitive compiling software that is a lot better than Hammer's own. Definitely worth the download if you don't want to worry about crashing or face errors or anything like that. MapFile Backup Compiler - Collective.valve-erc.com
A long running request by the community was that automatic map backups be supported. Although not time based, this is the next best thing as it will create a backup of your map files each time you compile. This tool is highly recommended.
Q3Map2 - Shaderlab.com
This is a popular command-line-utility BSP compiler for games based on the Quake III Arena engine. These include (the obvious) Quake III Arena, Return to Castle Wolfenstein, Enemy Territory, the Star Wars: Jedi Knight franchise, and Nexuiz. This program was known to be a replacement for map compilers such as QERadiant and GtkRadiant.
3D World Studio - Leadwerks.com
A map/level editor that can be used with the Torque Game Engine (a popular standalone engine), DarkBasic Pro, and Blitz3D.
The SDK requires a C++ computer language compiler to convert your creation into a file that can be executed by the video game. Officially, the SDK supports Microsoft's Visual C++, but there are alternatives.
Microsoft Visual C++ - Msdn.microsoft.comBorland C++ Builder - Borland.comMinGW C++ Compiler (free) - Mingw.org
In order to use this, it is also recommended to download the Code::Blocks IDE (Integrated Development Environment) and Dev-C++ IDE. It will make it a lot easier for those new to compiling with MingW, and also for the simple fact that the program doesn't come bundled with an IDE like the other two.
Advertisement / Recruiting
Need help for your mod or just wanted to spread the word? Here are some pretty good sites that are frequented by a lot of gamers and modders. You can usually try the forums themselves, and get feedback or help. Of course, it's always recommended to try Moddb first for help requests and advertisement. If you aren't getting heard, here are some interesting sites I visit myself:
Planet Sites - Gamespy.com
You can basically find a site for any game that can be modded through this network. Join their forums and start pimping your mod, or try to get hosted by one of the most popular sites on the Internet and gain coverage from the widely-read GameSpy front page and newsletter. FileFront Network - Filefront.com
Much like the GameSpy network, FileFront hosts a number of sites solely dedicated a single game, so you can browse through there and even get your files hosted on their site for fantastic exposure. On the main page, just click one of the games under "Browse Popular Games", then visit their community page.
MODSonline.com - Modsonline.com
A huge site dedicated solely to mods, much like ModDB itself, but on a smaller scale.
Still having a trivial time trying to figure out what you're supposed to do in a certain situation? Here's a batch of sites that can be really useful when the going gets tough in your modding endeavors. You can also use the sites under Advertisement / Recruiting for backup.
ModDB Tutorial Database - Moddb.com
Containing an extensive amount of tutorials covering almost every facet of modding development, the ModDB Tutorial Database is a highly recommended area to begin your search for additional help. And please, if you happen to benefit from these documents, give back to the community by submitting your own to help keep that section of the site growing. 3dBuzz - 3dbuzz.com
One of the best resources available on the Internet, this site is jam-packed with plenty of tutorials. One of the best hallmarks is that it also provides video tutorials to help you with everything from modeling and mapping to lighting and texturing. Also, for a small fee, you can participate in online-only classrooms where instructors teach you the different fundamentals of modeling programs. This is definitely one site you want to keep in your bookmarks.
Frequently Asked Questions about Mod Programming - Planethalflife.com
This is a good place for beginners to get started creating Half-Life specific mods. This FAQ covers all the basics.
Wavelength: Your Editing Resource - Thewavelength.net
Wavelength has information on coding, creating models, and even embedding your own sounds within a mod. Not only does the site have a variety of helpful tutorials, it also includes a forum where mod makers can exchange ideas and tips.
Wikipedia - En.wikipedia.org
Where can you find all of your information anywhere else except on Wikipedia? This great site is busting at the seams with content dedicated to helping you with any modding question you may have. It even contains pages detailing the programs I have mentioned above, in case you weren't aware of them in the first place.
Interlopers.net - Interlopers.net
A site containing a helpful community and plenty of tutorials to sift through, Interlopers is a great site if you're looking for some help on your mod. It's also a good place to advertise your mod to the community and gain some much-needed support.
Valve Editing Resource Center (VERC) - Collective.valve-erc.com
Formerly the Half-Life ERC, the Valve ERC has grown to encompass all of Valve's products. The site contains user forums, tutorials, and lots of technical details for advanced mod creators.
Valve Developer Wiki - Developer.valvesoftware.com
This is Valve's official developer resource for Source-based developing, It includes the old Source SDK docs and a continually growing amount of user-added developing resources.
This is THE place to look when developing on Source.
The right set of software development tools simplifies performance enhancement in media applications and allows for continuous, cost-effective improvements.
The market for digital media applications such as entertainment and game software continues to show robust growth and profitability. Credit for this healthy increase is due in large part to the realistic simulation capabilities that 3D technologies such as DirectX* and OpenGL* have contributed. These development environments have allowed developers to create the kinds of applications that users are craving.
One important factor in creating great 3D applications is establishing high playback frame rates. Satisfying this requirement involves determining the number of frames per second that the application draws to the screen and writing the application or game code to maintain this high frame-rate level.
This process can be problematic. As is the case in finding performance bottlenecks, certain parts of application code can drop frames unexpectedly, causing performance to be uneven and 3D playback to seem choppy. These performance deficits may not be related to major coding issues, but rather to certain portions of the code base that require some tweaks or minor modifications.
Today there are a number of great development tools that can help developers track down the portions of code that cause frame-rate problems. These tools, many of which are available as shareware, can often save a great deal of time and effort for the developer. This article introduces some of these tools.
FRAPS* Benchmarking Software
FRAPS*, which stands for “Frames per Second”, was created by developer Rod Maher in 1999. It started as a simple tool to measure frame rates in 3D applications, but after four years of development, the program evolved to accomplish much more.
FRAPS can be described as benchmarking software that allows you to measure the true speed of your system in frames per second. It can display your system's frame rate in the corner of your screen as the application runs, eliminating the need for developers to build that functionality into their applications. FRAPS also offers developers with the ability to capture screen contents as real-time high-resolution video at up to 30 frames per second.
FRAPS can save frame-rate performance data to an external text file, allowing developers to analyze or benchmark the average frame rate between any two points in time by hitting a pre-designated benchmark key.
IPEAK Tools for Analysis, Testing, and Monitoring
IPEAK GPT (Graphics Performance Toolkit), now discontinued, was a suite of tools that measured 3-D hardware accelerator performance, analyzed and recorded application workload, and analyzed the interaction of graphics hardware and software to help developers isolate weaknesses and achieve peak performance. IPEAK GPT created a database of all the application data files that access the 3D graphics system and recorded information about each frame.
This information was logged into a database, providing developers with the ability to analyze the files and determine specific performance bottlenecks within their applications. IPEAK GPT also had the ability to split the computer screen into four sections, providing different aspects of visual feedback during application runtime. These four views included a texture mode, wireframe view, overdraw, and standard preview. Unfortunately, GPT was discontinued after its initial release supporting DirectX 7.0 and OpenGL 1.2.
The DirectX* SDK's Graphic Performance Analyzer
Microsoft announced plans to include a tool known as the Graphics Performance Analyzer (GPA) with its freely downloadable DirectX SDK*. This tool contains all the performance features of IPEAK GPT, but it has been updated to work on DirectX 9.0 or later. GPA has the ability to monitor all API usage, as well as all activities that the application has within the system on a per-frame basis, and it includes many new and practical features.
VTune™ Performance Analyzer Provides Multifaceted Optimization Support
The VTune™ Performance Analyzer can help analyze the performance of digital media applications by locating sections of code that take a long time to execute and that generate a significant number of events. Analysis of these events may provide clues about how to improve code performance. With the VTune analyzer, developers can track critical function calls and monitor specific processor events, such as cache misses, triggered by specific sections of code. They can also calculate event ratios to determine if processor events are slowing performance.
The VTune Performance Analyzer collects performance data on applications and systems, displaying it in graphs or tables. Once created, the developer can also drill down into these graphs and quickly take a closer look at which portion of the source code has the problem area. The VTune environment shows source code and/or the disassembly code of one source file in the monitored module, annotated with additional information about the code. The analyzer displays the source code for any program that has been compiled with the debug information turned on, or for which the developer specifies symbol files.
VTune tools also support the creation of custom DLLs, allowing the developer to plug the VTune analyzer into an application at specific locations and then correlate what is happening within a 3D application with what the user sees taking place on the screen.
Xylobot* is Useful in Creating Media Workloads
Xylobot* is a generic game-development tool that is compatible with most DirectX games. Xylobot can record keyboard and mouse actions, and then play back those actions within the application. This functionality is particularly useful in creating online games. Xylobot can generate a reproducibl e workload, where a series of actions are scripted. With Xylobot, the developer can produce a series of similar sequences using the scripting tool, and then profile that sequence any number of times. This functionality allows developers to make changes to their code, then compare and correlate one profiled sequence to each subsequent sequence.
A 3D game engine is a complex collection of code. Anyone entering into game development would have to spend at least a year developing a game engine or purchase a pricey game engine to utilize. Of course, another option would be to use an open source engine, but game developers have often shied away from these due to their lack of features and reliability. However, these days there are several open source engines (or low-cost commercial engines) that have a rich set of features and offer stability.
Open source engines, however, do not necessarily have the performance of their more expensive commercial counterparts as they do not always take advantage of the latest features available on the CPU and GPU. The intent of this paper is to go over a few of the most common open source game engines and show how Intel tools and technologies can bring goodness to open source game development by getting the best possible performance out of these engines.
Game Engine Block Diagram
The block diagram below is of a typical single-player 3D engine, and displays the complexity of modern game engines. It shows the various subsystems and dependence between them. The "tools" portion of the engine (level editors, geometry and animation exporters, scripted event generators, etc.) have been left out for the sake of simplicity.
There are several open source engines available on the Internet, some of which are listed below. This paper will focus on both the Object-Oriented Graphics rendering 3D* engine and the Quake* 3 game engine.
The following is a short list of some of the open source game engines that are available for use:
Video games are no longer just a form of entertainment for children and young adults alone, and the old stereotypes of a gamer no longer apply. The ESA's "2009 Essential Facts About the Computer and Video Game Industry" show that 68 percent of American households play computer and video games. The research also reveals other interesting demographic facts about today's gamers and the games they play, including:
The average gamer is 35 years old and has been playing for 12 years.
Forty percent of all players are women and women over 18 years of age are one of the industry's fastest growing demographics. Today, adult women represent a greater portion of the game-playing population (34 percent) than boys age 17 or younger (18 percent).
Twenty-five percent of game players are over the age of 50, an increase from nine percent in 1999. This figure is sure to rise in coming years with nursing homes and senior centers across the nation now incorporating video games into their activities.
Forty-two percent of homes in America have a video game console.
Fifty-seven percent of online game players are male and 43 percent are female. Thirty-seven percent of heads of households report they play games on wireless devices such as a cell phone or PDA, up from 20% in 2002.
Ninety-two percent of the time parents are present at the time games are purchased or rented. Seventy-seven percent of parents believe that the parental controls available in all new video game consoles are useful. In addition, 63 percent of parents believe games are a positive part of their children’s lives.