I noted in December that I am reading through the classic Umineko When They Cry visual novel series. The series has eight games, with each game constituting a chapter. I read through the first six in December but only started chapter 7 in April because I had been waiting for a friend to catch up. I usually use my main computer with two monitors at my desk. However, it is also connected to my television, which sits between the computer and my desk. I read chapters 1-6 on my TV. In March, I purchased and set up a low-end Beelink mini PC to use with my television. The reasons for the switch are largely beyond the scope of the instant article, but I will note that the Beelink PC uses less power, is quieter (not that my main PC is loud), and I set it up in a way that is better for television use than my main PC’s primary set-up. While there are many games that I would have to use my main PC for on the TV (as I noted, my Beelink PC is on the low-end of low-end Beelink PCs), simple visual novels like Umineko fall well within my humble Beelink’s capabilities. For that reason, I decided to set up Umineko on my Beelink. I did this with the help of Syncthing, and my set-up ensures that my saves will be accessible on both my Beelink and main computer.
How Umineko Runs
The official English version of Umineko When They Cry is published by Manga Gamer. It is available from many sources including Manga Gamer’s own website, Steam, and GOG. Chapters 1-4, collectively called the Question Arcs, are one purchase, while chapters 5-8, collectively called the Answer Arcs, are a separate purchase. I had purchased the Question Arcs from Steam several years ago, only to fail to start reading them until October 2022. Umineko is DRM-free, even on Steam, meaning that after installing it from Steam, you can copy the game’s launcher and files outside of Steam and run it locally (see my article on DRM-free Steam games). I ran Umineko locally, with the help of Lutris, much in the same way I did with two other Steam visual novels I reviewed: ACE Academy and Kaori After Story. After finishing the Question Arcs, I purchased the Answer Arcs from GOG, which only sells DRM-free games.
Umineko (as well as Higurashi When They Cry) comes with native launchers for Windows, Linux, and MacOS.
(Those of you who have been following my al|together visual novel review project may be interested to know that the English versions of Umineko are written in PONScripter, a fork of ONScripter-EN, which was used for most of the al|together visual novel translations I am reviewing. Those with familiarity with the ONScripter-EN games will recognize the 0.txt script and configuration file in Umineko’s directory.)
The 07th-Mod Patch
There are three sets of graphics for Umineko. The original graphics feature character designs that I could probably draw with enough effort (not necessarily a compliment). The second features character designs from a Japan-only console release of Umineko (these are good). The third features character designs by Manga Gamer (these are not great). There is a solution for those who do not want to be stuck with the original or Manga Gamer character designs: the 07th-Mod. 07th-Mod is a free and open source project to provide patches for the Manga Gamer releases of Higurashi When They Cry (see my one-New Leaf Journal Higurashi reference) and Umineko. For whatever it is worth, I highly recommend installing the patches. However, I will briefly move beyond the scope of the instant article to note a minor 07th-Mod patch issue I had.
Because I run Linux and generally prefer native-Linux games when they are available, I applied the Linux version of the 07th-Mod patches to the Linux versions of the Umineko games. Unfortunately, I had serious issues with static sounds and glitches with some of the music tracks and in-game sound effects. I tried a number of fixes, but none worked. I eventually decided to install the Windows version of Umineko, apply the patch to that, and run the Windows version on Linux on top of WINE. This worked perfectly, making Umineko a rare case of a game where I opt for the Windows version with compatibility tools instead of the Linux version.
(Note: I have no idea if the issue is specific to my set-up or a general one. My friend reported not having the issue on Steam Deck, which is based on Arch Linux just like my primary operating system, EndeavourOS. I thought about reporting the issue, but since the Windows version works perfectly on Linux – which is not surprising given its ONScripter/PONScripter legacy, I did not dig too deeply because my goal was merely to read the novel.)
Syncing Umineko With Syncthing
I wanted to read chapters 7 and 8 of Umineko using my Beelink mini PC connected to my TV. However, the chapters were in a local directory on my main PC. I thought of three options:
- Reinstall Umineko on my Beelink PC and re-apply the 07-th Mod. Lack of save carry-over is not an issue since it allows readers to “start” from chapters 6, 7, or 8 even without having completed the previous chapters on the same save file.
- Copy entire Umineko local directory to Beelink PC.
- Syncthing.
I opted for Syncthing, a free and open source continuous file syncing utility which I discussed in some detail my DecSync review. There are some dangers to using Syncthing for syncing a game directory locally. Namely, Syncthing does not handle certain kinds of conflicts particularly well. I will venture that Umineko’s save file presents one of these sorts of conflicts. However, so long as one avoids modifying the Umineko directory from two places simultaneously – it will probably be fine.
My confidence in my approach to syncing Umineko comes from my understanding how it handles save files. Most of the ONScripter-EN games I have looked at keep save files in a separate directory from the game directory (the directory is designated by the game.id file, but see Night of the Forget-Me-Nots for an exception). I have noticed the same behavior in many Ren’Py visual novels (e.g., ACE Academy stores its saves in a separate directory). However, PONScripter-based Umineko keeps its save files in the same directory as the game executable and other files, meaning that syncing the single directory will also sync my saves.
Two ways around possible-but-unlikely Syncthing issues would have been to (A) to sync only once; or (B) to sync in one direction only. However, while I plan to play Umineko on my Beelink, there is a chance I may write about it. It is easier to do that on my main PC when I am at my desk. For this reason, having the game with all of my saves accessible from my main PC would be useful. Thus, I decided to live life to the fullest and sync both ways.
One way to avoid potential Syncthing issues is to have an always-on Syncthing device. I have that in the form of a Lenovo ThinkPad T400 in my room (with LibreBoot). Having lacked a particular use-case for it, I turned it into an always-on Syncthing peer and server. I decided to sync the Umineko directory to that as well as to my Beelink.
Having settled on my plan, I synced the Umineko game directory from my main PC to my T400 Syncthing hub and to my Beelink mini PC. The process took a few minutes because the game directory is fairly large (11.4 GB), but Syncthing works fast on a local connection.
Once Syncthing completed its work, I configured Lutris on my Beelink PC to point to Umineko’s .exe file with WINE as its runner. The Windows version of Umineko on Linux does not require any special WINE config or tweaking.
After properly configuring Lutris, I ran Umineko on my Beelink. It not only worked perfectly but also had the saves that I had created on my main computer back in December.
After playing a bit in the evening, I launched Umineko on my main computer and found that the save I had created on my Beelink was there, just as expected.
Who needs “cloud-based saves” when you have Syncthing and a DRM-free game with no launcher requirement? In this case, I do not even need a thumb drive or external hard drive.
Syncthing really does (sort of) do everything.
Lessons
I have used Syncthing to move game launchers and save files (save files most often for Ren’Py visual novels) between computers, but this is the first time I have used it to replicate cloud save functionality in a peer-to-peer way. It worked as expected. I do not expect to encounter any issues so long as I do not modify the Umineko directory from multiple locations at the same time.
Syncthing is a useful tool that is amenable to some creative use-cases, if one is cognizant of its limitations regarding conflicts. While I am not a system admin, I am comfortable with using Syncthing for Umineko because (A) I understand how Syncthing works in a practical sense from an end-user perspective, and (B) I understand how Umineko’s directory is structured in a general sense from my experience fiddling with ONScripter-EN games.
I plan to look at some other Syncthing game-syncing use-cases going forward. For games for which it is appropriate, Syncthing can give the user quasi cloud save functionality without depending on a third party. However, I only recommend it for those who have some experience with Syncthing and its potential issues, have a good idea of how their devices interact as peers, and who understand how and where the game in question stores save data.