This post will cover the most recent progress with the development of the project, including the creation of Anti-Titan Weaponry, further work on Titan Walls, and the marking of a minimum viable product level of completion.
This week I created Anti-Titan Weaponry in the form of ODM Gear, weaponry that is normally effective against humans, but can be used to dispatch Titans to protect a colony from harm.
The Anti-Titan Weaponry consists of two parts: ODM Gear and Blades. For the sake of scope, I have reduced the Anti-Titan canons to a stretch goal, as the ODM gear will be enough for the player to use.
The Blades were created by taking a pre-existing melee weapon, and changing the XML values so the type of damage it did changes from a standard damage type to a damage type with a massive effectiveness against Titans. That is, the damage type is not listed as a strength for the Blades themselves, rather a weakness in the Titans XML data, so that the blades are standardly effective against any other enemies.
The Gear itself is functional, but in an incredibly stripped-down stage. Within the source material, the ODM Gear is a system of grapple hooks and gas boosting systems designed to allow for omni-directional movement in a 3D space. In RimWorld, the ODM Gear is a piece of apparel that, once equipped, provides a wide array of stat modifications to attempt to translate the use of this in the original material.
Shown here is a portion of the XML code detailing the stat modifications that using the ODM Gear affects the character with.
<MeleeDodgeChance> and <MoveSpeed> are the major buffs that using the ODM Gear provides. <MoveSpeed> grants an additional 10 move speed to a character (baseline for a human is 3, resulting in over quadrouple movement speed), and <MeleeDodgeChance> grants an additive 50% dodge chance to melee attacks. (10%->60%, eg).
The caveats to using ODM gear comes in the form of the rest of the stat modifications: strong, harsh debuffs. <IncomingDamageFactor> multiplicatively increases the damage the user takes by 2.5, and <PainShockThreshold> decreases the maximum amount of pain a character can feel before entering their Downed state (unable to move, requiring rescue/ medical attention ) from 0.8 to 0.2. These two debuffs are intentionally harsh, but representative of the source material; the effect of being hit once and immediately downed, taking more damage than you would from a normal injury creates a "smoke and mirrors" effect - the character would not only be injured by an (un)lucky bullet, but is shot down out of midair and crashed into the terrain.
<CarryingCapacity> massively reduces the weight the player can carry, from 75 to 5. This is to ensure that the player can not use ODM Gear for purposes other than combat, as this makes the colonist unable to perform almost every work type in the game, as well as wear heavy armour. Shown here are turnarounds of a character wearing the ODM Gear; placeholder art.
Image showcasing the side-view design of the ODM Gear. Image taken from https://attackontitan.fandom.com/wiki/Current_Publicly_Available_Information/Anime
<RestFallRateFactor>, like the <CarryingCapacity> stat modification, acts as a limiter to the use of ODM Gear, rather than a harsh debuff to using it. It greatly increases the reduction of the Rest Need that the user has, resulting in strongly limiting the time that the pawn can use the ODM Gear before having to sleep. This effect is two-fold: characters using ODM Gear in the original material are under a significant amount of physical pressure and effort to use it, resulting in them becoming physically exhausted. The other is that ODM Gear uses a gas system to propel forwards. A key reoccurring struggle in the source material is running out of this gas and having to refuel - whilst creating a separate resource system for this gas system would be incredibly demanding in scope, the use of this rest factor can act as a suitable stand-in, as the end result on user experience is the same. This experience being that the player can only use ODM Gear sparingly, as the use of it is in fact a resource, and improper use can be strongly detrimental to the success of a colony.
Shown below is a series of Titan Walls accompanied by a Titan Wall Gate on its south side, a huge gate with an opening portion to allow entry and exit from the enclosed space created by Titan Walls. This Titan Wall Gate actually functions based on another pre-existing mod. It is essentially a mod of a mod; an incredibly common practice in RimWorld modding in general. The reason I chose to create the Titan Wall Gate this way was as it was easy and reduced scope, as the plan I had for its functionality would have required a substantial amount of C# code functionality. Despite this, after the assets creation I became aware of a workaround for the reliance on C# - as a stretch goal I intend to revisit this asset and re-do it from scratch. The reasoning behind this is two-fold: the first being that the work on the mod being purely based on vanilla RimWorld assets would be personally more rewarding. Modding mods to create new mods is incredibly common, with a majority of mods a significant portion of the community use being a variant of the Vanilla Expanded or Combat Extended mods. Despite this, I want this project and my work to be truly my own, and feel that creating a mod truly solitarily will be more fulfilling. The other is that it actually helps for the health of the mod - being a mod of a mod requires the modded mod, to be installed. In fact, the mod that my mod is modding: Doors Expanded, itself requires Harmony (a tool used to allow for further C# modding functionality, which acts itself as a mod to the game) to be installed, creating a list of dependencies for the mod.
With the ODM Gear in a usable condition, this brings each major component of the mod to a usable state. Titans act as a new threat the mod provides, with Titan Walls and ODM Gear acting as a defense and offensive measure to this new threat.
This means that a core gameplay loop now exists within the mod. The multiple components have come together to create an interlinking system of mechanics that play off one another to reach an enhancement of the player experience when playing RimWorld.
Comparison images to showcase the visual change between the source material (both anime and manga) and the mod. Images taken from https://attackontitan.fandom.com/wiki/Titan_(Anime), https://attackontitan.fandom.com/wiki/Locations
As is stands, what remains of me to complete for this project can be summarised into two categories: Polish and Stretch Goals.
Polish is a large blanket statement here - the transition from placeholder art to final art for example, falls under here, as I am not an artist and never intended to create art for this project. Other aspects of polish include sound effects and sound design, further testing and balancing, and general refinement of pre-existing data.
Stretch Goals include any work that would require C# functionality, as well as any other XML work, such as Anti-Titan cannons, that I had to deem a lower priority due to the incredibly opaque scoping of the project and the need to get a core gameplay loop working as soon as possible.