Tutorial:Beginner's Guide

From Total War Modding
Revision as of 22:52, 13 January 2022 by Vandy (talk | contribs) (first wave, intro and pre-tools stuff)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This tutorial attempts to be a comprehensive beginner's guide that will take you through all that you need to begin your journey modding. By design, it can't cover ever facet of modding, and the author's knowledge will prevent him from covering every subtopic possible extensively. However, the primary attempt here is to equip someone brand new to modding - no experience in anything needed - with all the tools and skills they need to have a good level of understanding, and to have the ability to solve some problems on their own. A focus here is to "learn how to learn", and I will be providing methods and best practices everywhere that's possible.

This tutorial is written using Warhammer 2 as the example game, but all of the concepts and practices apply to every Total War game since Empire.

As a final note, I'll be making an effort to out-link to as many pages as possible, to provide deep dives into specific topics. There will be a lot glossed-over in this tutorial, intentionally - it's better to get into hands-on as soon as possible, instead of being bogged down by theory.

Being Bogged Down By Theory

Before we do anything at all, let's talk a little bit about mods - what they are, what they can do.

"Mod" is shorthand for "modification" - it's any thing that changes the game. Mods take many different forms in many different games, but for Total War they're a feature supported by Creative Assembly natively. Using a proprietary file called a pack file (heretofore called "packs"), you can load up files for the game to load and use in runtime.

This is the /data/ game folder for Total War: WARHAMMER II, which contains all CA packs for the games. Note a couple of my own mods - akv_hobo and confed_options - strewn amongst the vanilla packs.

Mod packs are functionally the exact same as Creative Assembly's pack files. A pack file is nothing more than a bunch of stuff packed inside of a single file, to compress data into a single structure.

A pack opened within RPFM (more on that in the next section!). As you can see within this, a pack has folder, and it has files - same as any other directory on your computer. A pack file can contain a lot of different things!

As we talk, the words mod and pack can be considered interchangeable. "Mod" will be used when talking about the high concept and design of your creation; "pack" will be used when referring to the file structure.

Packs can contain any file within them, and by default the game reads a lot of stuff through pack files. Namely, packs contain the models, textures, animations, and skeletons for all units; all UI images and files, like animations; all in-game, localised text; all in-game audio; and the database. Think of the database as a series of interconnected spreadsheets. Each spreadsheet is about a single "thing" - whether that thing is a Unit, or their Weapon, or their Mount, or the Building they are recruited from. and the spreadsheets themselves all have columns for information such as "weapon damage" or "unit speed" or "building cost". When the game is initially loaded, every part of the database is read, verified, and loaded: so when a modded pack introduces a new Unit through the database, the game will read that new set of files and create the unit within the next loaded campaign.

An example database file from within the vanilla packs. The "thing" here is a "melee weapon". We define a "key" for each melee weapon (think of it as a "name" for the weapon, more on that later), and we give it a bunch of values - regular damage, armor piercing damage, bonus versus cavalry, and much else!

Tools & Prep

With that dull theory out of the way, let's get our hands dirty. First we have to install all of the necessary tools to get modding!