Release & Postmortem


As you might have seen by now, I just released this micro-VN, Reunited in the Mist, for this year's O2A2 and Queer Joy Jam.

Engine Choice

Rather than making it in Ren'Py (my usual engine of choice), I chose to use GB Studio instead. My reasons for choosing it were mostly down to practicality: the day I had intended to spend brainstorming and recruiting collaborators instead ended up being spent at a walk-in clinic (don't worry, I'm fine now), and I didn't want to recruit people after O2A2 started. I don't really have the ability to create full-sized artwork by myself, but GB Studio outputs to Game Boy (Color), which has a maximum resolution of 160x144—at that scale, and with the GBC's color limitations, what I'd create comes off more like "charmingly indie" (I hope) rather than "hasn't drawn regularly in over a decade." I also already had experience working in GB Studio to make Emmy's Lab Escape, so I was confident I could get a VN working in the span of 10 days.

And I was right! But it was definitely a lot less straightforward than making a Ren'Py game, or even making a top-down GB Studio game.

One of the major things is that actor (= player/NPC) sprites in GB Studio have a size limit, so it would have been impossible to make an actor the size of a VN sprite (trust me, I tried). So instead, the "sprite" is actually baked into the background. You could probably technically consider it a CG instead.


As a result, literally every scene in the game begins with the Deactivate Actor event. I even added it to my favorites list. (That arrow doesn't appear anywhere in the game.)


Speaking of scenes, because each facial expression is a different background, that means every expression change requires a new scene. This is the reason for the white fade whenever Rina has a different expression; there's a plugin that removes the fade, but it causes the graphics to look a bit glitchy, so I thought keeping the fade in was the better choice. I ended up not bothering to name any scene except the very first and last ones and the ones immediately after choices (to keep track of which leads to which ending). I don't think I could have handled this for a longer game.


Text

Text itself is a bit finicky to deal with, too. You've got pretty limited space on a Game Boy screen, obviously. While using GBS Sans as my primary font helped, I still had to be careful about how it was arranged. The textbox will expand automatically depending on how many lines there are, but I discovered during the development of my last GBS game that having four+ lines often causes graphical glitches (placing tiles in the wrong place on the screen), so I limited every textbox to a maximum of three lines. I wrote the initial script in Twine so that I'd have something approaching an accurate word count before implementing it in the engine, and while I did my best to limit the length of text blocks, there were still a few places where I had to reword or split sentences to make sure they wouldn't exceed three lines.

Also, there's no automatic line wrapping; you have to put line breaks in yourself. Luckily, GBS lets you preview what dialogue text will look like without having to launch the build (this is a godsend primarily because you have to rebuild the preview build every time and it always takes a few minutes to load).


Unluckily, it's not 100% accurate; sometimes the text can look like it fits, but in-game it breaks the textbox boundary anyway. After a while, I started to get a feel for when a line would do this and preemptively changed the line break and cut it down. I made sure to test it to make sure, though.


Still, it's a great QOL feature that massively cut down on the time it took me to script the game.

Color

The reason why this game is specifically for Game Boy Color is due to an edge case in O2A2's rules. If you've played the VN, you've seen that the opening scene takes place on a completely black background. O2A2's rules state this:

There are no restrictions on:
[...]
usage of solid color backgrounds (all white, black, or other)

So I thought, great! I can just make an all-black PNG and set it as the background for that scene.

Except it turned out that, no, I couldn't do that. The full rules clarify the solid color rule (emphasis mine):

You can:
[...]
have unlimited solid color backgrounds in menus and in-game generated by the engine, alongside your illustrated BG

My black.png file clearly wasn't generated by the engine. so it had to go.

Luckily, GB Studio does have a built-in ability to turn screens all black, although it's not as intuitive as just using a black PNG.

The way that colors work in GB Studio is that, when you're controlling colors manually, every background image can only use a specific set of four colors. Inside the engine, you can define custom palettes that tell the game which color to display in place of each of the four input colors. For the default palette in the game, that looks like this:


(Don't ask why I put the default palette in slot #5. I don't know why I did it either.)

I created a new palette where all four colors are #000000:


The Set Background Palettes event lets you temporarily replace a palette with another, so I used it to put BG palette #6 in place of BG palette #5, turning the whole background black until the next scene.

While the Game Boy Color displays this just fine, the monochrome Game Boy does not. If I had left in DMG (= OG Game Boy) support, someone playing the game on an OG Game Boy would have seen something like this for the opening scene:

Do I think there are going to be scores of people downloading the ROM of this game to load onto their flashcarts and play on real life Game Boys? No. But I wanted to make sure it worked in the off chance that someone does.

Changing the game to color only is also when I came up with the idea of using different palettes for the endings. I figured that if I was going to make monochrome support impossible anyway, I might as well do something with the colors.

Would I recommend making a visual novel in GB Studio? No. At least not unless it's a short VN like this one, or if you really want to target Game Boy for whatever reason. You'll notice that this game is missing a lot of quality of life features people generally expect from visual novels: no auto function, no skip function, no volume sliders, no backlog, no saves...all that's alright for a short browser game, but for something longer? Oof. (You can do saves on GBS, but it would have required manually setting up a save menu, which I didn't think was necessary to go through the effort of for such a short, straightforward game. Some of that other stuff might or might not be possible, but it's definitely beyond my abilities—it might require diving into GBVM code, which I know nothing about.) That said, the engine is a lot of fun to work with generally, so I absolutely don't regret choosing it for this game.

Files

web.zip Play in browser
61 days ago
Reunited in the Mist.gbc 128 kB
61 days ago

Get Reunited in the Mist

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.