Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Chivalry SDK Documentation

  • SDK Overview (this page)

Child pages (Children Display)
Table of Contents
alltrue

SDK Overview

(Chivalry SDK Documentation)|(SDK Overview)|(Recently Updated)
excludedepth2
styleh2
sorttitle
excerpttrue

SDK Overview

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

Warning

The editor will not run on a 32-bit operating system.

Download the SDK

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.

Note

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

...

included with Chivalry: Medieval Warfare. Just browse to the chivalrymedievalwarfare directory within your Steam Library. 

Getting started

See Getting started with map editing for the map editing side, or Tutorial: Creating the "Giant Slayers" mod for the modding/coding side. Even if you've used an Unreal Engine 3 editor in the past, or worked with UDK, these pages will explain how to do things the Chivalry way.

Example maps

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

Further documentation

Info

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:

Code Block
languagecpp
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)

Code Block
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 need 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. The game will load all packages in UDKGame\CookedSDK. 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.

 

recently-updatedUncooked versions of the Chivalry Medieval Warfare Team Objective maps are also available here: https://mega.co.nz/#!0BRjSYRZ!d-m8FXYHkEl5KSHzUNabNrahrMKfbfTuqQQz2MkyGAs

Further documentation

Check out the rest of this wiki (see the links above, or on the bar on the left side of the page)

  • Tutorials / Guides has various step-by-step guides
  • Level Design has further information on level design and map editing topics
  • Code has further information on code-related modding topics
  • Animation has further information on animation-related modding topics

Additional Resources has links to further, external resources

 

...


Recent updates
typespage
spacesCHIVCOM
themeconcise