Getting started
Let's get into it.
The first thing we want to make sure we've done is to download and install the developer tools. It's a simple download-and-extract operation.
Next, let's set up the developer environment, as shown here.
With this done, we will now go ahead and create our custom story.
First steps
Open a folder in the main TDD installation location. You will see many folders, such as entities
and static_objects
, as well as some DLL-files (on Windows) and the main Amnesia executable. Locate a folder named custom_stories
. If it doesn't exist, create it.
Enter into custom_stories
and create a new folder. This will be the folder for your own custom story. Name it however you like. I will name it "My Story" for this tutorial. It will look somewhat like this (but there are more files and folders than shown):
Amnesia The Dark Descent/
├── billboards/
├── custom_stories/
│ └── My Story/
├── entities/
├── static_objects/
└── Amnesia.exe
Enter your custom folder and create a new file named custom_story_settings.cfg
.
Known file extensions are often hidden by default. Therefore you might end up with a file like custom_story_settings.cfg.txt
without knowing (because .txt is hidden) and this won't work. Make sure you enable all file extensions.
On Windows, you can show file extensions through the options in the file explorer.
The file we just created is the main entry point into the custom story. This file is required, and must contain a little information about your custom story and how it should load. The format for this file uses the XML syntax, and should have the following content:
<Main
Name="Title for my story"
Author="Me"
StartMap="first_level.map"
/>
There are some more fields we can add, but for now this will do. Check this page if you want to see all possible options.
Notice that we added StartMap
with a value of first_level.map
. This will be our initial level that loads when the custom story begins. You can change the name of this file, but you can only use A-Z, 0-9 and basic symbols such as _ or -.
A common naming convention used for maps is XX_some_description.map
where XX is replaced with 2 digits representing the order of when the map is first visited. For example 01_outside.map
and 02_inside.map
. This makes it easier as the maps will sort by numbers rather than alphabetically.
Before we create our first level, let's quickly make the maps
folder, next to custom_story_settings.cfg
. This is where we will place our levels.
You should now have the following folder structure:
custom_stories/
└── My Story/
├── custom_story_settings.cfg
└── maps/
└── (maps will go here)
With this in place, we can move on to creating a level.