How to start game development: Modding

In my last article, I told about, how important it is to start learning programming. To get at least basic skills in programming, you need time. But this doesn’t mean, that you don’t be able to learn game developing in the meantime. There are different possibilities to gain some experience and increasing the skills. Additionally, this is an opportunity to find out if game development is something for you (I know it sounds awesome and it really looks cool but it is a lot of work and effort) and which part of developing a game is the most interesting for you. Never forget, not everything in game development is about programming but also not everything is about clicking in some editor.

Update 01/2017: Well, the German version of this article is already several years old. In the last years developing games became somehow mainstream. Especially due to the rise of mobile gaming, a lot of people wanted to develop games. A few years ago, the tools used to develop games were often not available for the public and/or combined with huge license costs. But this changed in the last years. Also the accessibility increased a lot and nowadays it is often easier to download Unity3D or some “drag and drop” game maker and start developing games directly instead of dealing with mod tools. But I don’t want to keep this article back from you. Modding has still its value, and even it is not the easiest way to start developing games, it is a good point to proceed with. Games need graphics (3D models, textures, sprites, etc.) and if you don’t know an artist or designed it is hard to develop a game on your own. Mods (not the remodels/retextures, but mods that add gameplay) use the existing game assets. Good mods are also a valuable addition to your portfolio and can be an entrance ticket for a job in the games industry.
 

Modding

 
There are some game franchises, where everyone knows, as soon as there is a new game, there also will be modding tools. The major part are graphical mods, new character models, high-res textures, remodeled equipment and so on. For this type of mods, normally no tool is needed. Photoshop, Maya and co is enough. Often it is possible to modify games that doesn’t even support mods officially. The more interesting, and from a game development point of view, more relevant type of mod are new quests, new places or even new worlds. Well known examples are: the Warcraft 3 mod Dota (Defense of the ancients), due to its popularity, the second part became a game on its own (with no connection to Blizzard or Warcraft); the Elder Scrolls series is well know for it overhauls (SkyRe, Oblivion Overhaul) and total conversions (Nehrim, Enderal); and don’t forget, another mod that became a game (series) Counter Strike (Half Life).
Huge communities grew around this games, tools and mods. The Elder Scrolls community is one of the largest. Bethesda, the developer behind the Elder Scrolls games, often doesn’t implement features and counts on the community to do this job (it is questionable if this is a good strategy).
So why dealing with modding when you want to become a game developer? To create a good mod you need to know how the mod editor works (which is mostly a simplified version of the engine editor that is used by the game developers), you need skills in game/level design and also how to write scripts (programming). If you have created a mod on your own, you know if you are more interested in programming/scripting or in designing gameplay mechanics, levels or quests.

Dealing with a mod tool for the first time can be a bit cumbersome. Also there is mostly no official manual or tutorial. But if this doesn’t stop you, it mostly pays off. Following, there are a few tips on how to start. I’ll also mention a few tools and communities but this can be applied to any other community as well.

 

Tips

Choose a game you like to play and that you know well. If you are used to the game mechanics, it’s easier to deal with the modding tools.
Don’t overstrain yourself. Don’t think about the next Enderal or Counter Strike with own graphics and models. Take one step after another and learn how everything works.
Look for manuals and tutorials provided by the community. Take some time and look closer at the community. They mostly provide lots of tutorials and/or whole Wikis. Also they help beginners if they have questions or problems.
Learn from the developers. Sometimes the editors include demo levels or you could open the original levels from the game; or the community provides tutorial levels (CD Projekt is a developer that allows to look on their work in detail).

Scripting

Scripting can be a quite difficult part, especially if you don’t have any programming experience. You don’t only have to know how to write code, you also have to learn about the functions that the game already provides. Scripting is used to implement behavior that extends the possibilities of the editor. But there is always a limit, mostly the functions that are provided describe how far you could go, normally you couldn’t remove or add mayor gameplay features. But scripting doesn’t necessarily mean changing the gameplay experience completely (Flash’s Full Combat Rebalance Mod for The Witcher 1 and 2; on of the Oblivion Overhauls or T3nd0’s SkyRe), scripting is also used for little things, like enabling and disabling of different assets depending on how far the player progresses in the game or switching the behavior of NPCs. How much you have to script, depends on which game/editor you use and what functionality they offer, on what you want to do and if you are satisfied with the editor features. RPGs mostly offer broad features do describe NPC behavior within the editor, also a quest editor is mostly included, if you want to have similar features in a half life mod, you have to write more scripts.
Now we are back at where we were at the last article, programming. Without programming experience it is hard to understand how scripts and the provided functions work and to write more sophisticated scripts on your own. But don’t be scared, this is a good opportunity to get some programming experience. Script languages like Lua are easier to learn than full programming languages and there are a lot of resources to find. Scripts are often single functions or small programs (but also can get huge). It’s easy to concentrate on the needed functionality and there is no need to write a fully functional piece of software or care about how to execute the software. This is all done by the engines script interpreter.
But be careful, being able to script doesn’t mean to be a good programmer. As a programmer it is easier to understand a scripting language. As someone who can write scripts, there is still a lot to learn to become a good programmer (especially a game programmer) but it helps.

 

Tools and communities

 

The Bethesda games

No matter if Elder Scrolls or Fallout, Bethesda is one of the mod friendly developers out there. The community is huge and full of mods, forums, tutorials, wikis, resources, etc. And even the communities of the old games are still active. It is quite easy to start with, as there is a lot of help and the tools allow way more to create than simple mods (llok at the total conversions Nehrim and Enderal, completely done with the mod tools). On the other side, the editors are much more complex and without reading the wiki/manuals it is hard to start with.

Of course there are many more games that are moddable and especially older games like WarCraft 3 and Half Life still get modded. On reason is that they are very popular with loyal fans and another reason is that it was easier to use their tools than modern tools. These are becoming more and more like real engine editors. Also often developer don’t allow mods anymore. They say that they want that players experience the game how they designed it and not how gamers want to have them. The technical integration of user content is also difficult and often there are no resources to do that. Another fact that adds to that is, that cross platform games often start as console version and then just get ported to PC. Mod support is still a rare thing on consoles (the Skyrim Special Edition that brought mods to PS4 and Xbox one hasn’t changed much).
Helpful sources: nexusmods.com a huge portal dealing with mods for a huge number of well known RPGs. moddb.com the largest website dealing with mods of all the games, genres and platforms.

Garry’s Mod – Modception

Creating a mod for a mod in a mod, this is what working with the GMod is like. Garry’s Mod started as a Half Life and Source Engine mod and is now a standalone program. It is a sandbox tool that allows to combine thousands of objects and to create own worlds. The tool also allows to create own mods that can be loaded and played in GMod. Furthermore GMod provides access to all the user generated mods, to download them and to play them with others.
+ The community is huge as the Source Engine and GMod is pretty popular.
+ You can extend the asset pool by downloading resources from Steam Workshop or importing external resources.
+ Full Steam Workshop support.
+ Share your mods within GMod.

– There are that many mods that it is hard that new mods get recognized.
– With all the Workshop Assets it is hard to keep an overview.
– Others have to download the same Workshop files (e.g. a special character model) to have the same look as you have.
– Mandatory Workshop files have to be included, so a mod can quickly need a lot of space on the users hard drive.
– External resources can’t be included, they have to provided somewhere else.

Warcraft/Starcraft

Both franchises have a quite long modding history. The editors are relatively simple, they are just map editors and not engine editor rip offs like the Creation Kit from Bethesda. Games back then were simpler than nowadays, that’s why also the tools were simpler. This makes it easier for beginners.
+ The tools are small and kept simple.
+ Due to the broad modding history of these games, there are a lot of resources, wikis and tutorials to learn.
+ Although the tools were simple and limited, there can be done a lot with them (e.g. the original DotA).

– The usability of the tools were not that great compared to newer tools. Some convenient features are missing.
– Only triggers and simple scripts are possible.
– Tue to the limitations, many workarounds are needed to get the features you want.

D’Jinni (The Witcher)

+ The Tool is quite simple, it doesn’t offer that much features but that also makes it easier to understand and to focus on the important things.
+ All original levels can be opened, also the mods that are done by the community can be opened.
+ You can use (almost) all of the original assets from the game. Theoretically you can use your own assets.
+ D’Jinni works with two scripting languages, Lua and Neverwinter Script. Lua is used for global settings and functionality, Neverwinter Script is used as the main scripting language for all the gameplay. Both are well known and also well documented.

+/- You can only use the pre-modeled levels, it is easy to start with that but you are also very limited. E.g. buildings and larger objects are already part of the level, you can add lots of different smaller objects but there are almost no bigger assets. It is possible to create your own assets and include them but this is a lot of effort and needs experience in 3D modeling tools, also the outcome isn’t that good looking. At a student project were we used D’Jinni we managed to create a church with existing building parts and put it back into the editor but there were some issues with textures, no shadows, clipping issues, etc.

– It is hard up to impossible to do more complex mods. The engine (a modified Aurora engine) itself is very limited and also the editor. There is not much documentation and most comments are Polish.
– The asset management is terrible, every connection is name based, one typo and nothing works anymore. Graphics like loading screens and maps are loaded by name and replacing them works only partly (not all maps of all levels get exported).
– Importing your own assets is hard work and very error prone. Creating nem items with existing graphics works, own minimaps with fog of war are almost not possible. Creating own textures works, creating own models is almost impossible/needs a lot of experience. You could theoretically modify existing ones but without detail experience of model and bone formats it is not doable (the existing ones didn’t get exported properly and there is no import feature).
– Creating an own level (own landscape) is not really an option. Maybe it is possible to create your own 3D model but to use it as a game level, it needs to have the correct data format but this is unknown.
– The Extended Edition (1.5) was a big improvement and extension. But this was not done in a clean way in the scripts there are a lot of conflicts. Some functions were added in version 1.5, some scripts refer to functions that existed already in 1.3 but work differently in 1.5. To compile scripts using such functions a lot of copy and paste and deleting is necessary.
– The original scripts lack of documentation and when there are comments, they are Polish.

The Community
The community was small and very helpful but modding for The Witcher never got that popular. Some of them switched to the REDkit but dealing with D’jinni means using the existing (old) sources, the community itself is not active anymore.

REDkit (The Witcher 2)

The REDkit seemed to be promising. CD Projekt promised an editor that bases on their own editor they used to create The Witcher 2. Unfortunately they had some troubles. Back then they didn’t have enough resources and lack of experience in developing such tools. The REDkit never really left the beta state but it was still a quite powerful tool.

+ There is an asset browser, it is way better that the dropdown from D’Jinni. It has a search function, tabs and a preview.
+ An official document explains the editor UI.
+ The terrain editor lets you shape a world as you wish. Different tools make it easy to form mountains. Creating water areas is a bit tricky as there are only 2 water textures.
+ There is an editor that allows to combine single assets to larger objects. It is not as user friendly as real 3D modelling tools but it is good enough to create own houses or castles.
+ The REDkit allows to import 3D Max files.

– The assets are sorted by type (graphical objects, characters, sounds, etc.), but all the placeables are divided into folders replacing the chapters in the game. So there are 3-4 folders containing buildings or furniture etc.
– Creating own doors or portals is not doable properly. All doors have a fixed size, it is possible to replace the meshes and they get animated also but only around the original axis. Also teleportation to other maps is only doable by a hack. For the Engine, the whole map os considers a closed system, only the player character gets to the new map, quests get closed/aborted. Changing the maps is difficult, either you create all you areas in one map or you make sure that the map transfer is only possible when the quests are done.
– There is no animation editor.

The Community
The community was quickly growing under the support of an member from CD ProjeKt. The was a forum with lots of helpful information and also a wiki. The forum is now a sub forum of The Witcher 2 but the wiki was taken down and there is unfortunately no offline version. There are still a lot of Youtube tutorials and of course the original levels to learn from.

Honorable mentions

There are way more mod communities, this are just a few I came in contact with in the past. There are even more famous ones but a lot of them just allow optical modifications. If you are interested in 3D modelling or 2D art, this is sure a good thing to start with but this article focuses more on the development part of creating games.
Dragon Age: Origins – A great game with a great modding community. Beside the dozens of graphic mods, there were also some user made addons. The German Games Academy even started a huge project in cooperation with Bioware to create a huge addon. Unfortunately this project seems to be disappeared. Bioware also started to shutting down their community platforms and starting with Dragon Age 2, no mod tools were offered by them. They don’t want to have mods for their games anymore.
GTA – Although most of the mods are graphical, there are also some mods that add functionality to the game, like the Spider Man or Iron Man Mod. But there is less playable content then for other games.
Half Life – Well, one of the most popular competitive shooters started as one of the most popular mods, Counter Strike. But there are also a lot of other mods for Half Life itself and also for Counter Strike.
 

Conclusion

 
At a first glance, modding can be overwhelming with all the games, communities, tools and resource. But if you stick to it and invest some time, it doesn’t take you long till you are able to create your first small mod. You quickly gain experience and skills by experimenting and communication with the community. Modding isn’t far from developing games, you just use the resources and tools from the developers and you are limited in what you can do. Mods don’t run without the original game and of course you can’t sell them, but the experience is worth a lot and a good mod can be the entrance to a career in game development/design. Philip Weber, creator of the largest mod for The Witcher 2 now works at CD Projekt as quest designer; Flash, creator of the FCR mode for both Witcher 1 and 2 also works for CD Projekt now due to its mod and they are not the only ones that got a job offer due to their work.

Leave a Reply

Your email address will not be published. Required fields are marked *