Getting Started (Mod Development Community)
Welcome to the Unreal Developer Network mod development getting started page. This page is designed to introduce mod developers to UnrealEngine3 and provide the resources for getting started.
Games that use the Unreal Engine have a reputation for supporting modifications, also known as mods
. Mods promote the longeivity of a game by allowing users to become developers - allowing them to tweak various aspects of the game, often including adding on something completely new.
There are many reasons for wanting to create a mod. Some enjoy doing game development as a hobby; others use it as a portfolio for becoming a professional game developer. Some have even used mod development to start their own studio; and a few have even become pop icons!
What is your goal?...
Once you have a copy of the game and a concept, you can dive into making your vision a reality! It helps if you have a clear understanding of what you want to do, and how you plan to get there. The first thing is to make sure you know where your vision fits in the realm of Unreal Engine modifications.
Consider the following...
For Unreal Engine games, modifications can be broken down into three categories:
- Gameplay - affects the rules of the game
- Mutators - minor tweaks to gameplay rules within a given Game Type or set of Game Types
- Game Types - major rule changes within the game
- Total Conversions - complete overhaul of the game; often built with completely new content
- Content Additions - levels, characters, weapons, vehicles
Examples of gameplay mutators and game types are as follows...
In Unreal Tournament
- Mutators - Big Heads, InstaGib?, etc.
- Game Types - Deathmatch, Team Deathmatch, CTF, Vehicle CTF, Conquest
In Gears of War
- Game Types - Warzone, Assassinatin, Execution, Annex, etc.
Unreal Engine games are built using next generation
technology. Creating a project using this game technology requires a lot more resources than previous generations. Models are high-poly with normal maps; and textures are higher-res. Most game programming logic will require the same amount of effort, depending on the project. With this in mind, consider how much more effort it will take to create stunning content for your project, while having the logic to glue everything together. Without the right resources, bringing a project to completion can be very time consuming and stressful.
The operating system and hardware needed to develop a mod project will be dependent on the system requirements for the game that you plan to develop your mod for. See the game box for details; or the support web site for updated information.
Most Unreal Engine games come with a version of the editor that is specific to that game. UnrealScript?
source code is available as a separate download; and the script compiler is built into the game engine - again, specific to that game. Alone, those tools are enough to begin creating game modifications; however many will want to consider some additional tools and utilities.
Programmers may want to use a visual Integrated Development Environment (IDE) such as the Unreal Development Environent (UDE) or Visual Studio 2005
Content creators interested in making static and animated models may want to use a 3D modeling program such as Autodesk 3D Studio Max
; or Softimage XSI
, as well as a high-poly tool such as Pixologic ZBrush
. Textures can be made using Adobe Photoshop
or other image-editing software capable of exporting images in .TGA format. Sounds can be made using Sound Forge.
While these programs are priced toward professional development studios, academic or free "lite" versions are often available. If you are a student, check with your bookstore; otherwise check at the vendor's web site for free versions.
: While mod development can be taken as a serious or professional endeavor, please be aware that software piracy is never a means for gaining a competitive edge. There are plenty of ways to acquire software legally. Check for alternatives!
Depending on your goals, you'll have to consider how many people it would take to complete your project in a reasonable time. Understand the scope of your project and break it down into manageable chunks.
Start small! Most projects fail because the idea was overambitious and never had a chance. Everyone has ideas; but the ability to turn those ideas into a reality is what separates successful teams from those that just don't make it. If you haven't made a game or even a mod before, consider a mutator, and work your way up to a game type. Maybe only make one new character, weapon, or vehicle rather than a whole squad of soldiers, arsenal of weapons, and fleet of vehicles. If you have something bigger in mind, keep these smaller increments as a foundation for building toward the bigger goal.
If you are doing something small, it's okay to go at it alone. You can learn a lot that way, too. Professional game development studios consist of teams, so once you are comfortable with your skillset, consider joining a team, or forming your own!
Know Your Role
Whether you decide to work with a team or do a project on your own, it's important to know your skillset, as well as your limitations. While there are some special cases, most people fit in only one category of development. It is that area of expertise in which you will be able to determine how you can approach the project yourself, and what you might need to complement your abilities while filling in for any deficiencies.
Be aware that a title does not make a role. You might have the title of Technical Director or President of a mod team; but that does not mean you will be the next big thing at a professional game development studio! If you are not sure what title suits your role, ask around. Read up on job opportunities for various companies and how they define requirements for employment candidates. A safe bet is to always play it humble and keep it simple: you'll get a lot more respect with a simple title like Progammer - even if your duties included more than just coding.
Most importantly, pay attention to your needs and the needs of others. If you want the project to succeed, do what you must to get things done. Some things aren't fun or won't get any public attention; but they are critical to getting things finished.
In most cases, try to learn as much as you can about the role you are interested. For programmers and artists, most formal college education programs are a solid start. There are some programs specific to game development; but that is not a requirement. Traditional tracks such as Computer Science or Software Engineering are great for programmers; and Graphic Design and Animation are great for artists. Level Design is an area in which there really isn't much of an established formal education. It really is a blend of many disciplines. Many people have cited studies in Architecture and Interior Design as beneficial.
Programmers focus on the logic for the game. This may be as simple as tweaking the rules for a mutator, or making new rules and AI logic for a major game type. For total conversions, programmers will also have to develop an architecture for all of the piecies that will make up the project, as well as a pipeline for getting everything working. For content additions, programmers work out the logic for integrating the content - such as weapon firing and how to play animations; character movement and attributes; and vehicle properties and behaviors.
The majority of mod programming will focus on UnrealScript?
. Familiarity with Object Oriented Programming
will be useful - especially Java or C#. The best way to get familiar with the UnrealScript?
langauge and the Unreal game architecture is to get your hands dirty in just digging through the classes, tracing the hierarchies and looking for examples in existing classes.
Content creation falls into different categories, depending on what type of content is being developed. Based on the that, you can determine your role and the tools you'll need.
Level designers bring all of the content and gameplay together. Their tool of choice is the Unreal Engine editor. They block out the level for flow, later adding decorative touches, including lighting and effects. Some level designers focus on the overall experience, while others focus on one area such as scripting or lighting.
The role of Level Designer has for the most part been split into two distinct jobs for UE3 generation games: you have Environmental Level Artists and Gameplay Level Designers. Gameplay Designers will generally start the level and finish it. Environmental Artists create content and decorate the level to make it pretty. Generally, most of each level is done by two Designers, but sometimes a third or fourth may help out or to allow for schedule juggling. While the creation of a level is split amongst two or more Level Designers, it is a good idea to learn both disciplines on your own; and then find out what suits you best. Once you find your spot, find someone that you can work with to complement your role.
The Level Design pipeline should start off by messing around with a general gameplay idea. Shell out the idea (with simple geometry and bsp with very few static meshes); get some initial playtesting done on it and take the feedback to help evolve the idea. Much gameplay revision happens at this point and sometimes even the initial gameplay idea that started the map will die or mutate. Once gameplay is established, take some screenshots and give them to a concept artist (or do it yourself) to do a paint-over to give the level a visual theme and cohesiveness to strive towards. Based on the concept, content can be made. The level can be meshed and and lit using the concept art as guidance. There should be constant feedback to make sure no gameplay is sacrificed. After the look and feel is complete, gameplay is revisited - doing things such as rough collision work and get the level playable again. Then more testing should be done to ensure the gameplay is still good. The last phase is a shipping
phase where collision is made smooth and solid all over, AI is fully implemented, any bugs are addressed, etc.
The majority of level design work will be spent in the editor. It is best to get familiar with some of the basic requirements
of the role and the tools, while looking through existing levels. Consider making a level for an existing popular game type such as Deathmatch or CTF.
Artists and Animators
Artists can make new models such as characters, weapons, vehicles, or even other objects such as ambient decorations. They also can create new textures for the models, including new player skins and UI themes. Animators make models such as characters, weapons and vehicles come alive by giving them sets for various behavior states (player running, weapon reloading, etc.).
Artists and animators will initially spend time working with their tool of choice, eventually using an export tool to get the content ready for the Unreal Engine. Afterward, the content will be imported, and then work can begin in the Unreal Engine editor. This can involve tweaking parameters and getting things just right for the project. Often, time will be spent working with a programmer to get things set up for representation and interaction in the game.
Audio developers can make new sound effects and music for their project. This will include sounds for major parts of the game, as well as ambient sounds.
As with artists and animators, sound and music production will be initially handled with the tool of choice, after which it will be saved and imported into the Unreal Engine, where things can be tweaked. Some time may be spent working with a programmer to link sound references accordingly.
For large team projects, there may be other roles to consider. You might need someone who is dedicated to designing and maintaining a professional quality web site. This person can also help with marketing relations such as making announcements to community web sites. Sometimes, if there are a lot of people developing the project, one of the members might need to be designated as the team lead. This role is not about prestige; but about bringing everything together and making sure everyone is on the same page. This is especially important for teams of people co-located in various geographic locations.
Over the years, mod development has grown to include not only the single garage developer, but entire teams that have successfully turned their project into professional endeavors - including winning the Make Something Unreal
contest. Mod development has spawned communities dedicated to the fun and excitement of turning your vision into a reality!
The Unreal Engine mod development community spans beyond what you will find what on the Unreal Developer Network. Check out Planet Unreal
for mod information and hosting. Also watch out for the Mastering Unreal Technology
book series and VTMs from 3D Buzz
Various community run IRC channels:
Over the years, several community sites have been dedicated to providing useful tutorials and guides to making mods for Unreal Engine games. Here is a list:
While game development isn't always fun and games, you are most likely getting involved in it because it interests you and as such, you should remember to enjoy it. Making games is a labor of love that few are willing to endure. Get out there and make something Unreal!
You can use the pepper grinder to create pepper by turning the crank...BUT, a pepper grinder is not pepper, so you MUST NOT TRY TO EAT IT!
- Tim Sweeney