Witcher 3 - Sins of the Student (Questline Mod)
Finalist in the 2024 REDkit Modding Contest main category.
The mod had nearly 500 downloads in its first week on Nexus Mods and is available there: https://www.nexusmods.com/witcher3/mods/9553
Overview
Adds a short new questline relating to the attempts of several Oxenfurt Academy alumni, including Shani, to start a night school to keep the Academy going in some way while it is officially closed due to the war. Something goes horribly wrong when there is an unexplained brutal attack, and now Shani needs Geralt's help to find and stop whatever did this.
Adds roughly 30 minutes of new gameplay over the course of 3 quests. Created as an entry into the 2024 REDkit Modding Contest main category.
This video contains spoilers for the questline as it runs through the whole mod. However, the speed edit skips through a lot of the dialogue and parts of gameplay to: A. keep the video runtime under 10 minutes (as required by the contest entry rules), and B. try to avoid spoiling all of the details and answers (like the puzzle answer).
Features
This mod takes advantage of the incredible power of the REDkit modding tools released for the Witcher 3 to create a rich new questline with new characters, well-crafted dialogue and cutscenes, new interior locations, and a unique puzzle and boss fight. Many of the features and the techniques used to create them are detailed below.
Questline:
Uses the REDkit's quest graph structure to make a well organized series of quests with advanced flow control to create things such as time-locked objectives (only triggers at night) and a lose-loop for the fistfight, allowing the player to try again while continuing the narrative, instead of having to restart from a previous checkpoint.
Made use of existing features in the game to streamline the process, including grouping blocks of code into quest phases to keep everything organized, and using the existing fistfight minigame system to handle the hooligan encounter.
Includes quest descriptions in the journal written in the voice of the character Dandelion so that they are consistent with how the quest descriptions for the base game are written.
Includes a new bestiary entry in for the new boss monster, detailing the story and vulnerabilities of the creature. It contains more information as the quests go on and the player learns more about the creature.
Unique New Boss Fight:
The boss fight is a unique monster created by combining elements of two existing monsters from the base game, a werewolf and a leshen (essentially a giant walking tree creature).
Uses a custom behavior tree to create a boss enemy capable of using abilities from both the werewolf and the leshen. The main part of the behavior tree is based on the stock werewolf tree, so that the monster still is fast, hard to hit, and attacks quickly like a werewolf should. Then, I added on some abilities from the leshen behavior tree and added them to the werewolf's attack options, including the ability to summon wolves for aid, and to summon a large root cluster out of the ground that explodes up and hits the player.
I also gave the new were-lesh enemy the ability to regenerate very quickly, but this regeneration speed is slowed for short time if the creature is burning, allowing the player a short window to take out the weakened creature. The idea for this ability is based on the fact that the new were-lesh enemy is essentially part tree and is thus very vulnerable to fire, just as leshen's are in the base game.
The new enemy's model takes a rigged mesh of branches and other nature accessories that is originally applied to the leshen base model and applies it to the werewolf base model to create a unique looking plant-like werewolf entity without having to add any new assets to the game, making efficient use of what is already available.
Door Puzzle:
Using buttons and quest-graph-triggered scripts to control the button and torch states, I was able to make a button-sequence puzzle to unlock the vault door with visual feedback to guide the player.
When a button is pressed, that button is disabled (can't be pressed again) and the torch below it turns off. If it is the correct next button in the sequence, it will stay disabled and the torch will stay off. Otherwise, all the buttons will be re-enabled and all the torches will turn back on, signaling the player input the wrong code and must start over.
Once the correct code is entered, all the torches stay off and the vault door is unlocked.
Cinematic Dialogue and Cutscenes:
Uses the REDkit's scene system to make cinematic dialogues with camera movement and character animations.
Uses look-at targets for characters to track the focal point of a conversation and to convey emotion, such as a character looking despondently down before looking back at the other person.
Facial expressions using mimics to further convey emotion.
Voice-over and lip-sync is not currently implemented in the published mod because I haven't yet achieved voice-over results I am happy with, but I have used the system to successfully implement some basic voice-over and use the automatic lip-sync generation while testing.
Also uses the scene system to make the boss fight introduction cutscene.
Boss cutscene uses event triggers to have Geralt draw his sword during the scene, as well as have specific music start playing during the cutscene to set the mood.
New Locations:
Uses the DLC structure to add all quest layers to the world in a non-destructive manner, so as to maximize compatibility with other mods. Only one base layer from the game had to be modified in order to replace some fake doors with real ones to open up certain buildings.
Features two new building interior environments. One is the classroom inside the small cottage and the other is the temple vault in Novigrad. Both of these buildings were previously inaccessible due to having fake doors, and thus had empty interiors that made for perfect blank slates to build the quest content into.
Layer visibility is controlled via the quest graph to ensure only the relevant content is loaded into the world at a given time, and to do some environmental story telling. For example, if the player returns to the classroom area one day after the quest has been completed, they will find that the bloody scene has been cleaned up and the classroom is once again set up properly and prepared for class now that the problem has been resolved.
New Characters:
Uses the entity system to efficiently create new characters by combining the existing NPC elements, such as heads, hairs, torsos, clothes, etc., and using the coloring system to modify the appearance of the clothes into a cast of unique NPCs for the player to encounter during the quest.