Sabaku Bossfight Mod

About the game
Sabaku Bossfight is an Undertale Mod where you can fight the monster rapresentation of the content creator Sabaku. This fight took inspiration from the genocide run on twitch of Sabau and Cydonia. The fight is placed after the battle with sans, becoming the last battle before the end. Since is part of a genocide run, the only choice is to fight, no mercy allowed.
I have a lot of fun building this fight, since my passion for the game and the content creator I like.
Specs
-
Engine: Create Your Frisk (Unity Mod)
-
Programming language: Lua
-
Year: 2024
-
Development time: 5 months (free time only)
-
Team: me
-
Type: Personal project
-
Role: Lead
![]() | ![]() | ![]() | ![]() |
---|
Game Structure
The game is an Undertale Mod Fight, played in a genocide run, where no mercy and dialogue are available.
The fight starts with an interactive sequence where the boss tries to persuade you to stop the run. If you insist, the real battle starts. Gradually decreasing the boss's health implies an increase in the difficulty of the attacks. After reducing the health to 0, the boss seems defeated, but in these cases, it's always only a small pause before the second phase, where the difficulty rises.
What I have done
In this project, I was responsible for all aspects: art, music, design and programming. Fortunately, since it's only a mod, I have some base folders and structures already available to manage.
For art, I took the screens of the sprite made for the Twitch content of the genocide run of Sabaku and Cydonia, and the music is the same, made specially for this event (both not mine). Other art references are made by a friend or taken for free online.
The coding structure is very simple:
-
a dedicated monster file, named as sabaku to manage all the single enemy options, from health to what happens in when taking damage;
-
an encounter file to manage the general options and state of the battle, such as how many enemies, the arena size, the dialogue battle and the wave to select;
-
a series of files for the attacks (or waves in this case), each one implementing a single attack.
Sabaku parry

In the monster file, I implemented the parry feature. I took inspiration from the famous Souls saga, since it's the main content of Sabaku. The idea is to make it hard for the player to attack and inflict damage. I override the method BeforeDamageCalculation, checking for the player hit value of the attacking phase and giving the player only a restricted window in which the attack hits the monster, otherwise it parries the incoming attack and does not receive damage. This is made with a counter of the player's attack that increases the window gradually through the fight: starting accepting only perfect attacks and then becoming more open to imperfections (this is also to simulate the boss's tiredness during the fight).
Sabaku waves
I created a lot of attacks, but with the idea of multiple versions of each with increasing difficulty. In particular, for the majority of the attacks, I have 3 versions: a base one to show how it works and is easy to dodge; a second harder version, usually doubling the attack entities; and a third version that uses cyan and orange colors already present in the game with the features of not moving and moving to not take damage. Then, in the last part of the second phase, I introduce the idea of combo attacks: fuse different attacks together, creating a bit of chaos for the player. In this way, from a develop point of view, I created a few attacks from a few ideas and then increased the variety with alternative versions. The difficulty of coding with Lua in a mod made with Unity is that the base managing of the attack should be made in the update method, with only small options. So even if it was fun, I do not care too much about the implementation of the idea in a well suited way.
The attackes are:
-
logoarena: spawn the logo of Sabaku and simply move it left-right with a rotation, resulting in a strange form to avoid;
-
lore: spawn the text "LORE" as a bullet from up to down to avoid. It has three spawn points: one in the middle, one left and one right;
-
logocoin: spawn a coin as a projectile toward the player position;
-
logopingpong: inspired by the pong game, the logo is divided into two parts, becoming the lateral extreme of the field where a ball (a cube) spawns and moves as a projectile to the player bouncing on the borders and paddles;
-
logocoinboom: stronger version of the basic coin, but also creates an explosion on the impact;
-
logoblast: similar sans blast attack;
-
logocombo_pingpongboom: combo of ping pong attack with the shoot of the exploding coin;
-
logocombo_pingpongblast: combo of ping pong attack with the shoot of the blast;
-
logocombo_pingpongboomblast: combo of ping pong attack with the shoot of both the blast and the exploding coin;