How the Sausage Is Made – Joshua Pelkington Programming Intern Devlog #2

This Week’s Shenanigans

I have been able to dig deep into Monochrome’s main systems this week and it has been wonderful! There’s a lot going on under the hood, which may be overwhelming to some, but I have embraced the new environment and I’m having a blast! Most of my tasks this week involved bug-fixes but they were surrounded by the game’s systems. I was even able to throw some of suggested custom fixes into the mix and it was lovely to see them working as intended. A lot of what I worked on involved the ORK Framework, which handles many RPG aspects the game uses. Its been fun this week digging through ORK to improve the game!

Task Overview

The previous Battle UI fit its purpose for a demo, but it needed an upgrade to be more consistent and nice to look at. It also had issues with the number of choices getting big enough that the boxes would get pushed down and become blocked.

I was able to shrink the choice boxes, and format the text in a way that the new Image component of each choice could fit in nicely and not feel too crowded.

Navigating ORK to do all this was a challenge at first, as there are a lot of settings, tags, options, and inputs for each piece of UI. But once I nailed down which settings did what, and figured out how to fit all the info, we are left with a pretty nice result I have to say.

In Monochrome there are 3 types that every enemy, ally, and ability can be set as. These types are Music, Special Effects, and Action. 

Similar to other games, each type can be Super Effective or Not Effective against the other types. For these 3 it goes: Acton > SFX > Music > Action

I was tasked with fixing this system, as some abilities were not triggering a Super Effective hit when they should be.

Strangely, some of Otto’s abilities would trigger this affect, so I knew it was mostly working, I just had to see why the rest were different. This mainly involved checking these events on the abilities. Each ability has a set of nodes to check for the type of the combatant it is being used on, and some of these nodes had a few settings that needed to be changed to work for everything.

After a lot of digging and some node changes, I was happy to see the system working in its full glory!

In Monochrome, you can add enemies to your troupe to help take down the big baddies in the world! How you do this is through the Joke mechanic. When an enemies Affinity is full (this is done through certain abilities), Otto can attempt a Joke.

The goal is to choose a punchline as soon as the text fills up to the blank where it is needed. A miss-timed joke results in a not so happy enemy, or so it should have. My job was to change this system to only add an ally when the joke is delivered successfully, not all the time, which is how it used to work.


Luckily the system was already mostly setup to handle this change. I just had to add a new node to the event that handles the check for a well-timed joke, and setup some code to let the event know whether the joke is good enough to let the ally join the troupe. A few short fixes later, and the system is fully up and running!

Next Week’s Plans

I was recently given a few Audio related tasks, and the system Monochrome uses for Music now needs a change. So I will be fixing that up and squashing the bugs involved in this Audio System. I am also looking forward to working with the many more interesting systems at play in this neat RPG!

Music To Grind Out Work To

I love listening to some good music when I need to focus on doing my work, and who could have guessed it’s some form of LoFi Hip-Hop. This week I want to highlight this 24/7 Livestream with some good beats that I listen to on the regular. Something about the music just calms my brain and lets me be productive when I need to.

Leave a Reply