Amnesia: The Dark Descent je od základu navržena tak, aby hráčům umožňovala tvořit módy, tzv. ‚custom stories‘, nebo-li vlastní příběhy. Tato stránka bude sloužit jako postupně se rozrůstající tutorial na tvorbu módů.

Část 1. – nástroje

Protože tvorba módů znamená postupně k sobě skládat obsah z různých oblastí, bude potřeba i několik nástrojů. Některé jsou nezbytné, jiné doporučené.

  • HPL level editor – editor map, jehož součástí je také model viewer, model editor, particle editor apod. Je to nezbytný nástroj
  • Editor obrázků – při módování je potřeba editovat soubory typu jpg, png, tga, dds apod., osobně doporučuji GIMP s pluginem na podporu DDS (pokud nepodporuje v základu), ale lze použít i jiný vyhovující nástroj
  • Editor hudby a zvuků – úprava zvuků, nahrávání dabingu apod., lze s čistým svědomím doporučit Audacity
  • Editor textových souborů – konfigurace, XML apod., ale především taky samotné scriptování – doporučuji mít dva, jeden základní na rychlé editaci konfigurací (notepad/gedit) a jeden pořádný na scriptování – např. Atom

Část 2. – Vytvoření základu custom story

Je třeba vzít v potaz, že existují dva druhy modifikací – custom story a plná konverze (tzv. ‚full/total conversion‘).

Výhody a nevýhody custom story:

  • + jednoduchá instalace, custom story stačí zkopírovat do složky ‚custom_stories‘ ve hře
  • + nezasahuje do základní hry a nemodifikuje její soubory
  • + nepotřebuje startovací .cmd / .sh soubor
  • – neumožňuje přepsat základní soubory – umožňuje pouze přidat nové, tedy např. nelze změnit lucernu nebo zvuky kroků, ale lze přidat zvuky a modely nové
  • – žádná možnost pre-menu, změny rychlosti/pohybu hráče, zásahu do nižších vrstev konfigurace hry apod.

Výhody a nevýhody konverze:

  • + absolutní kontrola nad veškerou konfigurací, kterou hra dovoluje bez nutnosti zásahu do zdrojového kódu hry
  • + možnost přepsání základních souborů (vlastní lucerna apod.)
  • + podpora sanity visions (zásah do a přepsání toho, co hráč vidí)
  • + pre-menu
  • – složitější konfigurace
  • – potřeba .cmd / .sh soubor, který načte hru s konfigurací konverze
  • – ne vždy pohodlná instalace díky naprosté volnosti v tom, do čeho všeho hra zasáhne

My si ukážeme, jak vytvořit základní funkční custom story, tedy set několika souborů a složek, které hře dají vědět, že vůbec existuje mód, který má načíst.

Soubor výše je základní šablona bez scriptů, s jednou mapou půjčenou ze samotné The Dark Descent. Obsah, tak, jak je, lze hodit rovnou do složky ‚custom_stories‘. Rozebereme si jej postupně.

  • entities – prázdná složka připravená pro případné doplnění objektů typu entita (entity jsou objekty/modely, se kterými lze provádět interakcy, mohou se hýbat, nosit, ale klidně mohou i stát a jen existovat, lze je zneviditelnit, deaktivovat, aktivovat apod.)
  • maps – složka obsahující soubory .map a .hps, tedy mapy a scripty. Vždy musí být shoda mezi mapou (.map) a jejími scripty (.hps) v názvu. Tedy např. ‚mapa1.map‘ a ‚mapa1.hps‘
  • music – prázdná složka připravená na případnou vlastní hudbu, veškerá hudba musí být v .ogg formátu
  • sounds – prázdná složka připravená na případné vlastní zvuky, veškeré zvuky musí být v .ogg formátu
  • static_objects – prázdná složka připravená na případné vlastní statické objekty (na rozdíl od entit jsou v mapě natvrdo zasazeny a nemohou
  • custom_story_settings.cfg – základní konfigurační soubor
  • extra_english.lang – jazykový soubor, který ve hře přiřazuje text k definicím z editoru a kódu

custom_story_settings.cfg:

<Main
Name="Moje custom story"
Author="headlesscyborg"
MapsFolder="maps/"
StartMap="mapa1.map" 
StartPos="playerstart"
ImgFile="obrazek.jpg"
/>

Z obsahu souboru je vše patrné. Názvy k souborům je dobré psát přesně, jak jsou, tedy i case-sensitive. Maps není maps a naopak, jinak bude mít mód problém na Macu a Linuxu. Name se zobrazí v menu hry, stejně tak autor a obrázek. Mapa zvolená jako startovní musí existovat a dobré je přiřadit správný PlayerStart (o tom později).