Collaborative Mod Development


����������� This document describes some guidelines for developing mods with other mod developers. In particular, it is intended for multiple mod developers working on the same mod from different locations. The MDK provides some features to assist with collaborative development, but it still requires some coordination between developers to be successful.


Preparing a Mod For Sharing

����������� With the latest version of the MDK we�ve introduced the notion of shareability. In other words, how much of your mod do you want to share development with the community. There are 3 levels of shareability defined for a mod. These levels are set in Description Dialog of the Configure Mod tool:



The �Mod Sharing� section of this dialog allows the mod developer to set restrictions on how the mod can be used. By default (and for all mods prior to the version 1.1 MDK) the shareability level is the highest. In other words it�s set to �This mod can be edited without the original author�s permission�. With this level of sharing mod developers can make whatever changes they want and use the resulting mod for any purposes. The second highest level of sharing is where the original mod author allows anyone to change the mod, as long as they get credit for it. When this level is used, the Author field in the description is disabled to remind new developers that the previous author should get at least partial credit for the mod. The lowest level of sharing is the protected level. If this level is set, the MDK tools will be disabled for that mod. Care should be taken not to set this value until you are finished making changes to the mod and are ready to send it out. If necessary, you can disable protection by editing the mod�s moddesc.xml file. The sharing levels are not intended to be a secure form of copy protection. They are however, intended to define how the mod should be shared with other developers.


Below the sharability levels of the mod is the �Protected Script� field.If one of the mod�s scripts is selected in this field, the script cannot be changed by the MDK Script Editor tool.Script protection acts independently ofthe shareability level. For example,you could have the mod sharing at �This mod can be edited without the original author�s permission�, and still have a protected script. The purpose of having a protected script is that a mod developer may want to establish a master script that determines basic elements of the mod. For example the protected script may define a Capture the Flagtype invader game which has rules that the original author doesn�t want changed. However, the original author may want other mod developers to make maps for the game, so he would define a protected script, but make the rest of the mod shareable. Note that the protected script doesn�t have to be the only script that the mod uses. Other mod developers could create new scripts that include the protected script to get the same functionality as the original script.


Also in the Mod Sharing section is a �Notes� field. Use this field for describing how you want this mod to be used. For example it could say: �This mod includes a CTF game in the protected script, and I would like to see people develop maps for it�. You can also use the notes field for keeping a log of changes, so that as each developer makes changes to the mod, new notes get added.


Once the sharing attributes have been set, the mod developer can send the mod out to the community. This can be in some sort of compressed file, such as a .zip file which contains the contents of the mod folder. Since the intention is to share mod, development all of the files and folders contained in the mod�s folder should be included. For example if you wanted to share your �WeaponTweak�mod, you could zip up the entire contents ofthe �My Documents\EA Games\Medal of Honor Pacific Assault(tm)\moddir\WeaponTweak� folder and send it to the other mod developers you will be working with.


Using a Shared Mod


When you get a shared mod, typically in the form of a compressed file, you should unpack it in your moddir folder. You should also read the �Notes� section (described above) to see how the author intended it to be used. It is expected that you will work cooperatively and to not try to circumvent the protection used by the MDK tools. After installing the mod in the moddir folder, do not use �New Mod� to create a new mod of the same name. Instead, just run �Configure Mod� and set your current mod to the shared mod. When you�ve made your changes you can then send the result off to the next developer for changes. Multiple developers can also work in parallel as long as everyone is working on separate parts of the mod. After completion of the mod, the map source files and any other non-essential files can be removed and stored elsewhere. The subfolders of the mod folder can then be stored in .pk3 or .rez files instead of normal directory files, and the moddesc.xml along with the .pak or.rez files can be packaged in a compressed file and sent out as a final mod that gamers can use.