Devlog #25 - New Boss Attacks, Translation System Revamped and More!

Changing Jobs

For the past year or so, I've been tracking the amount of time I put into the project. For some perspective, in March 2022 I put in 5 hours, while in February I put in 44 hours. The reason was that I was preparing for interviews while keeping up with a day job. So I intentionally changed my focus.

With the new job came some further adjustments. Like anyone else, joining a new environment requires you to adapt. I always feel like I have to put in extra effort as the new guy. For that reason, I worked for less than an hour on the game in April and May. So not much progress to share.

In June, things started to settle. I put in 12 hours in June, 30 hours in July, and 49 hours in August. September was even better, with 62 hours. 

Statistics System

I wanted to have statistics to better understand how the game is being played. It was something low priority that I wanted to do much later on, but given that I was idle for a couple of months felt like a nice first challenge back.

The setup is straightforward. I have an enum where each represents a statistic I want to track. Then one class is responsible for keeping all those values. Right now, I'm only saving the statistics locally, but in the future, it can be hooked into unity analytics.

Language System

I already had a Language system that I used in my previous game Topoko. I decided to clean it up first by making the code similar to the rest of the project. The major change then was that the previous system simply had a dictionary of string ids to string values. I kept that in but also added two separate dictionaries. One for dialogs and another for credits. The setup for each of these types are different so it made sense to have different code responsible for each.

I built a component that you can attach to a UI object and it will apply the string value for you. I also built a debugger which is extremely useful because I can see the values loaded in and simulate changing languages.

Audio System

Following the success of working on the Statistics and Language systems, I tackled Audio next. Again, there was already a system in place. I just updated the code to the current standards and made its use simpler. To help with it all I also added a debugger to easily spot issues when they happen.

New Boss Attacks

My initial idea for the boss was to make him a tougher samurai enemy. By just making him have more health and damage, but that looked dull early on. 

To improve that I made him able to switch from dash attacks to shooting arrows. Since I was going to do that I made triple arrows instead of just one.

The next step is the shockwave. I wanted him to switch behaviors after reaching the given target health and start firing shockwaves. The idea is for the player to use the dash attack to dodge the incoming wave. 

Following the triple arrow, I challenged myself to make a split arrow. It's a regular arrow that after a few seconds it breaks into two other arrows. With the systems I have in place it was extremely easy to do. Basically, I kill the arrow after a few seconds and when it dies it spawns two other arrows. Simple as that.

Making It Feel Good

The last bit I worked on was adding two effects. One is when the player hits an enemy I pause the game for a few milliseconds. Which gives each hit a stronger impact. The other one was when the player gets killed I added a slow-motion effect. With this effect, the transition from hurt to killed is not so abrupt. These two things make the game easier to understand.

Plan Until December

I want to finish all the systems I have in mind until December. The plan is that in December I can focus on two things: content and polish. The idea is to not write any new feature after that. 

Hopefully, things will work out!

Thanks for reading until here and if you want more updates check out @brightflask on twitter.

Get Yurei

Download NowName your own price

Leave a comment

Log in with to leave a comment.