Captain's Farewell - Postmortem


The original plan

For this O2A2 VN Jam, I wanted to make a game with familiar features to keep things simple. Can't remember where I got the idea for a pirate theme, but I wanted to explore more about writing letters as I'd done in The Fall of House Misra. This was my plan:

  • Write a pirate story with several unhappy endings (maybe six)
  • Use both NVL and ADV modes to have two different dialogue boxes
  • Use interpolation to save on word count
  • Use vintage CC0 illustrations as a collage for the art

I listed also a couple of new features to try and learn:

  • Use ATL to animate the NVL dialogue box
  • Use "bleeps" to give "voice" to the characters

This was actually the idea for last year's O2A2 jam, but since I ended up making something else back then, I stashed this idea for this year. I had done all the preparation last year (written an outline, looked up promising CC0 assets, ...), so the beginning was easy.

How it went

Schedule-wise I had some overlap with visiting family, but I wasn't worried about losing a few days of dev time. (Oh how that would bite me in the back later.) I started work on Thursday (almost a week into the jam) and wrote the story to about 60% done.

I used mostly Google Docs (to keep up with word count and interpolation) and Twine, though I implemented the story quite early to Ren'Py.

I used interpolation to recycle words and phrases that were used often and to save words on long names, like "Commander James Thorne" became just [commander!t].

I wish Google Docs had a way of commenting out words from the built-in word counter... It would make counting interpolated words much easier. I resorted to color-coded asterisks and my own short-term memory.

Then I got COVID.


I was bedridden for the weekend, but since my symptoms weren't that bad, I decided to continue my work on Monday. I used Mon-Tue to write and implement the story. 

I was supposed to use vintage CC0 illustrations to make the art, but I wasn't that inspired about it anymore; I wanted something colorful. So, I decided to draw the art myself. I did use some of the CC0 illustrations for the main menu graphics later on.


I spent Wednesday drawing the main art assets for the game (background and sprite). I used CSP's 3D models to figure out a nice angle for the scene. 

Thursday was the day for implementing the graphics. I had a plan of animating the NVL dialogue box to show/hide the First Mate's shadow (to "save" on asset amount and to be able to animate the Captain's writing hand), but I couldn't figure out how to make it work. Plan B: I made a black Solid and animated that to hide the First Mate's shadow.



I hadn't actually given much thought to how to show the First Mate's dialogue, but I decided to use a simple speech bubble for the ADV dialogue box. It's a bit too big for the smallest dialogue, but it gets the job done (though it tends to break if I tweak UI stuff and reload the scene. I just hope it doesn't do that to the player!). 

I could've used Ren'pyRemix's speech bubble system, but setting it up might've taken too much time for just one speech bubble. I also considered updating my Ren'Py to the latest version which IIRC has a new speech bubble system, but I have other unfinished projects using the 7.5.1 version, so I didn't want to mess with that.

Then I faced another problem: I needed a third dialogue box. I hadn't planned on making separate "epilogue news", but the story felt better with them... and they needed their own NVL style. I dreaded the idea of programming another dialogue box... but I did it!


(These are in the screens.rpy, near where the default nvl_window and nvl_dialogue styles are:)


However, my new fancy dialogue box style was buggy: it carried over when scrolling back to the previous dialogue (for some reason it didn't want to revert to the default one), so I had to disable rollback from the epilogue onward. Sorry about that! And to add to that, I noticed that when starting a new game after a run, the dialogue box style wouldn't revert back to default either then! So, I had to code another style for the letter NVL mode. 

Friday was mostly for making audio, finishing touches, and fixing bugs. I wanted to pay special attention to the audio since I wanted to use cannon fire, and I didn't want to explode my players' ears. I watched Tim Reichert's VNConf talk about audio optimization and used his tips on making the audio ear-friendly. I like to err on too quiet rather than too loud.


A new feature I tried was to use quill writing sounds as voice "bleeps" for the main character. I hadn't done any voice-related work on Ren'Py before, so it was a fun experiment. I wanted to randomize the sounds to avoid repetition, but unfortunately couldn't make it work. I picked a sound that wasn't too irritating to hear repeatedly.

Then I had just the UI left to work on. I originally wanted to use the game BG and sprite as the main menu BG, but I didn't know how to seamlessly make the game switch from the main menu to the beginning of the game with the same graphics (without any quirky transitions), especially if I wanted to animate the hand later. The toll of devving while sick was also affecting my energy, so I decided to just use the CC0 illustrations I had collected before. It turned out to be pretty nice, and I carried the graphics over to the Itch page, too.

I ended up publishing the game comparatively early and got some well-earned rest.

What went wrong

  • Schedule: I should've started earlier, even though I didn't crunch.
  • Devving while sick: I noticed that my energy levels were low, and especially the end of the jam felt though.
  • Using the dialogue box to hide the First Mate's shadow: If I had made it work, I could've animated the sprite. Besides, now it's kinda bordering on being against the rules since I have a special art asset (the black solid) and still use a BG and a sprite with a separate hand art asset (though I didn't animate it).
  • Coding separate NVL styles: I didn't like resorting to disabling the rollback, but what can you do.
  • Speech bubble: It just looks ugly. I might replace it later.
  • Voice bleeps: I wanted them randomized but didn't want to risk running out of time while researching that further, so one "bleep" it is.
  • Testing: I had asked a friend to test my game, but didn't end up sending a build for them 😅

What went well

  • Prioritizing: I scrapped features and ideas promptly to make a working, enjoyable game. Though one could argue that I didn't prioritize my health...
  • Prep work: Since I had outlined the story and downloaded some CC0 assets earlier, it was easier to start the development.
  • Sound editing: I had a good amount of time to focus on the soundscape and edit the sound effects so that the loudest bangs wouldn't peak too much.
  • Graphics: I liked the drawing process, and the style turned out ok. Even the CC0 illustrations got some use.
  • Epilogues: I feel like they complete the stories nicely, and I'm pleased that I used the grayscale effect.
  • Writing: I had fewer hurdles with writing than I normally do. There was a decent amount of interpolation, but not so much that it was difficult to keep up with.
  • Branching: For once it was easy to branch my story. It didn't get too complicated, and I could even add eight endings instead of six!


Conclusion

I feel like after this O2A2 jam I have explored enough of the multiple-branching micro visual novels, as well as the letter-writing format. I might use those features in a later game, but at least now I feel like trying something else. Maybe a kinetic novel, or something more linear. I might still use interpolation since it's a feature that works really well with the O2A2's 1000-word limit rule.

I'm also beginning to think that game jams might not be good for my health, or then it's just that I was sick while participating in this one. At least during the longer jams, I notice I'm "too into" the jam and everything else becomes a blur, affecting my well-being. I might take a break from game jams for a while and concentrate on my unfinished projects. It's just that jams are such a good source of motivation...

I also learned that I keep forgetting things I've already done in my other games! They are small things, like how to make the sound fade in/out, and how to make the dialogue box dissolve, but they add up to a considerable amount of time spent when jamming. It's frustrating since you know you have done it before, but just don't remember how... 

I'm planning on posting more devlogs in the vein of "Note-to-self" that cover some basic things I like to do so that next time I'm wondering how to set the volume bars on settings to 60% I don't have to go googling that (again). Maybe they could be useful to others, too.

Get Captain's Farewell

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.