Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

The Chivalry SDK lets you create custom maps and modifications for Chivalry: Medieval Warfare. Currently, the SDK is in an "alpha" state. You can start creating mods and maps now, but it will be a month or a few before we've integrated custom maps/mods into the live version of the game.

This documentation is a work-in-progress. I'm throwing up a quick guide to using the SDK. It somewhat assumes existing knowledge of UE3. Documentation is available on the UDN that can familiarize you with the engine.

We're going to be writing up more detailed documentation soon! I've pulled in some documentation from our private wiki. You can see all the SDK documentation pages at the end of this document (or in the bar on the left side of the screen).

Downloading the SDK

You must own Chivalry to use the SDK. To download it, open up your Steam Library, right click on Chivalry: Medieval Warfare Beta and go to Betas. Choose the SDK beta. You'll then be subject to a ~3-5 GB download. If you ever want to switch back to the normal Chivalry Beta, you'll again be subjected to a large download. This will be true every time you try to switch between the two.

The SDK branch of the dedicated server has the server side of the SDK build.

Important notes

  • Keep anything you're working on backed up somewhere. Preferably, keep it and the whole of the SDK's Development\Src directory in a source control system of some sort (GitHub would work, for instance, if you don't mind the code being visible). Really, don't just work on this stuff right in the folder; you want a backup, you want old versions, you want to be able to easily integrate new versions of our own code... you want source control.
  • See LICENSE.txt in the Development directory for the Terms of Use. This will be fleshed out (and currently says that it can be so fleshed out at any time). Please don't export Chivalry's assets or code and use them in other games; we're providing this SDK for creating new content for Chivalry.

Example maps

Some example maps are included in UDKGame\ContentSDK\ExampleMaps, demonstrating some custom Chivalry actors and kismet nodes.

Further documentation

Epic's public UE3 documentation on the Unreal Developer Network is by-and-large applicable to Chivalry. Chivalry is based on the July 2012 QA approved build of UE3, which is roughly equivalent to the July 2012 UDK, with some additional custom engine modifications.

Basics

Opening the editor

There's two batch files, "- Editor 32-bit.bat" and "- Editor 64-bit.bat" inside the SDK directory (default: C:\Program Files (x86)\Steam\steamapps\common\chivalrymedievalwarfarebeta) that will open the 32-bit and 64-bit versions of the editor, respectively.

Saving a new map and new asset packages

New map and asset packages should be saved to UDKGame\ContentSDK. You cannot modify existing Chivalry packages.

Creating a new script class

Go into Development\Src. Create a new directory, and within that a Classes directory (see SDKTest for an example). At a minimum, you want to create a new Game class, typically one which extends from AOCGame or one of its subclasses.

To get your new game type loading, you can either add it to the list of DefaultMapPrefixes in UDKGame.ini (though that means you'll have to be sure any server or individual who wants to host a game with that type has those changes), or you can add it as the Default Game Type in your map's World Properties, and then override the SetGameType function inside your game class like this:

static event class<GameInfo> SetGameType(string MapName, string Options, string Portal)
{
	return default.class;
}

Compiling scripts

Edit UDKSDK.ini in Documents\My Games\Chivalry Medieval Warfare Beta\Config and add a line like this: (YourScriptPackageName should match the name of the directory you created above)

ModPackages=YourScriptPackageName

 

Run the BUILD_SCRIPTS.bat file to compile scripts in Release (full logging). To compile scripts in Final_Release (less logging, faster) run BUILD_SCRIPTS - FINAL_RELEASE.bat. If you Debug scripts, just copy the BUILD_SCRIPTS batch file and add a -debug to the end of the last line.

Running the game with custom, uncooked scripts and maps

See the "- Launch game sdkcontent.bat" file. This adds the -sdkcontent command line switch, which will load all packages contained in UDKGame\ContentSDK

Cooking a custom content package

You want to cook packages before releasing them to the public. Get everything you want to cook into UDKGame\ContentSDK.

Edit COOK.bat, replacing SDKPackage with your mod's name. This can be anything (contrary to the note in the batch file, you don't need to match this with your script package's name, but it's a good idea anyways).

Running cooked content (maps, mods)

Just start the game without the -sdkcontent switch. Open one of your custom maps. Voila. If AOCGame starts instead of your custom gamemode, read Creating a new script class again.

Known Limitations and Issues

  • Config files and localization files for mod packages are not separated out nicely from the game's
  • There is currently no editorless executable, so the SDK build currently requires .NET
  • There may be issues with dedicated server binaries not loading in some actors in maps. Then, there might not be any issues at all. This requires testing. This will not hamper content creation, and testing content can be done with the client binaries if there are issues.
  • There will be some missing effects and particles. These are fixed internally, but didn't make it to this build
  • Customization is in this build. This is also not up-to-date with our latest internal build. There's a bug that causes all pawns to go blurry when you hit Escape, for instance, and there may be other customization-related bugs.

Chivalry SDK Documentation subpages


  • No labels