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 26 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. There's a quick guide to using the SDK below. 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 build

You must own Chivalry to use the SDK. The SDK build is a branch of Chivalry that includes an editor; it's the full game and can be used for both creating a testing/playing custom content. Eventually, this branch will be merged with Chivalry-proper and moved out of the Beta. You can't join non-SDK-branch servers from the SDK branch, and vice-versa, so until that merge happens both custom content creators and testers/players need to be using this branch.

To download the SDK build, 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.

You need .NET 4.5 to start the game or the editor, otherwise it will crash. Download .NET 4.5. It's possible that .NET 4.0 will work; 4.0 supports XP, 4.5 does not.

Important notes

  • Keep anything you're working on backed up somewhere. Preferably, keep at least your custom map/asset packages and the whole of the SDK's Development\Src directory in a source control system of some sort. 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. The editor is just about the same as UDK's.

The UDK Forums are a great resource chock full of guides, tutorials, etc. for UDK (see below for the most important ways UDK differs from the Chivalry SDK). If you need more information, don't be afraird to ask on our SDK support forum.

And feel free to join us on IRC in #tornbanner on QuakeNet! (If you're going to use the IRC channel often, you might want to use a client instead of webchat; I like HexChat)

Basics

It's recommended that you at least check out the Unreal Developer Network for more information on Unreal Engine 3 before trying to delve into modding/mapping. The UDK forums are also a great resource. This section really explains how Chivalry's SDK differs from UDK.

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. The 64-bit editor is faster and is recommended.

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, so when you create or import an asset be sure you don't try to place it in one of our 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 usually want to create a new Game class, and typically that 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