Category Archives: Uncategorized

I can hardly believe it’s been like 6 years since the Deltarune Paper Trail AU started. I *adored* Paper Trail, and in a lot of ways it gave me more of what I wanted than the official Chapter 2 did. But in a lot of other ways given how Chapter 2 went, it’s understandable why Paper Trail was given the ending it got.

It’s cool there’s a compiled complete version online for archival purposes at least. https://archive.org/details/paper-trail-complete-edition/mode/2up

Also, I still intend to get rid of this current blog and replace it with a much simpler static site blog in the near future. Mat Mullenweg is doing a fine job of running the legitimacy of WordPress into the ground and I really do not need most of its features anyway.

Not feeling great, but that’s how it goes.

Still Having Sleeping Issues

Friday Night / Saturday Morning around 4AM I decided to try 1/4th of a melatonin gummy (the package suggests one gummy is 5mg – the typical daily limit for an adult- and that the package’s recommended serving is 10 mg- which is probably more than one should really be having without consulting a doctor)
1: I was surprised that it was gooey, not really a tablet like I expected.

2: I slept 14 hours, effectively losing my entire Saturday and waking up darn close to midnight on Sunday. I’ve been awake since then and I don’t really have a good plan for resetting my sleep needs since most likely I’m going to probably suddenly get sleepy and fall out around mid-day today.

3: Last week I kinda told some people I was planning to do kind of an important thing today, but since my sleep is messed up and my emotional state is kinda hit-or-miss I’m not sure I should actually do it _today_ I should probably wait until I’m in a good state to handle a high-emotion scenario.

4: If I’ve been dodging answering “how’s your day going?” It’s probably because the funky sleep + work needs + funky emotions = most answers I could give would bring the mood of the chat down, so I’m deliberately answering that question less unless I am in fact in a good mood. Or if the chat in question is a Serious Mode type of chat. But earlier this week I accidentally ruined one of my friends’s livestream with dumb low-sleep logic and it was bad enough that they ended the stream and then I felt really bad about that because in most cases doing something enough to cause the stream to end is absolutely a bannable offense. So uh… until I can at least get a reliable 2 hour nap on a schedule, I’m still gonna be a bit more reserved on what I post and where.

I think that’s it for the status update?


Some fun stuff:
* The first episode of the new Ranma 1/2 is out on Netflix and I enjoyed that a lot more than I expected. It’s got some parts that I’m a little antsy about, but they got to the matter of Ranma’s sex-swapping very quickly and it wasn’t kept as a secret from his romantic interests. So that’s cool, but I’m still hoping later episodes of the show don’t start getting too Weird about the sex thing. And I know different cultures view that kinda different too so… I just dunno. Admittedly it’s a little frustrating that the core of the show revolves around an unwanted curse that the character has to deal with that darn near most of my friends would absolutely punch somebody to have put upon them. But the dysphoric element of it is still relatable.


* Agatha All Along has been a great mystery thriller adventure so far with lotsa fun bits and only a moderate amount of blood. I’m a bit worried it’s going to get more violent by the end, but I’m already invested in seeing it through. I’m absolutely convinced Agatha is going to kill everyone by the end, but I really really really hope she has a change of heart and doesn’t because I already like this coven a lot. But given “witch killer” has seemingly been her identity since before the events of Wandavision, odds are not looking great.


* Played Soulstone Survivors. It’s OK. Grindy, kinda more Gauntlet Legends than Vampire Survivors and it’s not really meant to ever be an “afk-game” from what I can tell because inevitably enemies and bosses *will* do direct-targeting attacks, you are unlikely to have a build that can tank that until mid-level, and you’re unlikely to have any character that can out-dps to the point of screen-clearing all ranged attackers even if you’re already grinded a character’s talent trees very high.


* I tried Voids Vigil, a shump-survival type game by the makers of Boneraiser Minions. I… don’t really like it very much at all unfortunately, but it’s in early access. It feels like it wants to be way more of a shmup, but it doesn’t have the music nor the bright exciting colors that get me hype for a shmup.


*I experimented with modding Quake but I don’t really seem to like *playing* Quake or Quake 2 very much and I can’t really figure out any specific reason why. And I didn’t really figure out how to do extra scripting type modding without having to recompile the game so I kinda just put it down for now.


* I also tried a little bit of Half-Life / Half-Life: Source with consideration for modding. Source didn’t seem to like my gamepad for input. Non-Source worked just fine with my gamepad. I played far enough to get the HEV suit and stopped there. I get the impression Half-Life is not really my kind of videogame. I like how it looked, though! It’s the specific era of 3D videogame environment graphics that kinda locked into my brain.

  • Finished Yars Rising a week or two ago, I enjoyed that quite a lot. While it is primarily a Metroidvania-y type of game, there is a good bit of classic Yars-style gameplay in there too, especially when going to 100% achievements since the Hack List is pretty much all YARS gameplay and no Emi. There was a reward for clearing it too! Though I don’t see myself using said reward much.

Antidepressant Discontinuation Syndrome

Today I learned there’s a specific term for the symptoms I’ve been dealing with lately: https://en.wikipedia.org/wiki/Antidepressant_discontinuation_syndrome

And apparently it’s known for this to last for months. That’s. Not fun.

Most of the worst of it has passed, I think, but I still occasionally get some of those symptoms. The most annoying ones being extreme sensitivity to sounds/light for a while, falling asleep seemingly at random, and then waking up feeling fully energized seemingly at random and then suddenly running out of that fully energized feeling and just feeling tired but unable to sleep for hours.

I dunno. I’ll manage. I don’t plan to go back to taking those meds if I don’t have to. But I figured now that I know there’s an actual term for what’s happening to me, I should probably make a note of that somewhere.

Devil Connection Demo Decomp

I had been seeing video clips of a super cute game called Devil Connection. I believe it’s the same artist responsible for Makemon. For a while I thought it was a fan animation or a music video all the way up until I saw the announcement video for a Steam demo.

However, the game is a visual novel. The game is entirely in Japanese. And while I had taken some college courses for Elementary Japanese around 2011/2012 at Columbus State University, I did not learn enough vocabulary to be able to work my way through a Japanese VN without a lot of struggle.

BUT! Translation tools are very strong right now, and they can even piece together context from screencaps without a perfect manual transcription of the text on screen. These tools are NOT ready for sensitive tasks like handling medicine orders or preparing official legal documents , but for a low risk task like playing a videogame, a handful of missed cultural notes and some completely wrong translations here and there is low risk.

So I started trying to figure out what it would take if I wanted to do a soft translation of the demo. I browse to the install location Steam put the game at.

v8 javascript engine? The Chromium license? So this must be a browser-based game engine like Electron!

I see a lot of .pak files in locales that seems like it might be the game pre-translated! …wait no that doesn’t make sense, the game has only ever been shown in Japanese. those must be translation files for Chrome itself. In resources I see app.asar. I don’t remember what an asar file is, but it sure feels familiar. Is it a zip file? No. Renaming it to .zip and extracting with Ark does not work. So back to google. And sure enough, more confirmation that this is almost certainly an Electron app. Doesn’t take long to find the info on how to pack and extract an asar file.

cd resources
npx asar extract app.asar custom-unpack
and boom, now I can explore the files. I’ll have to remember to repack it to run it.

From here, I wasn’t entirely sure what to do next. I notice the folder named tyrano and was curious about that. But I first open index.html in a text editor and take a look around. Immediately see the text “Loading TyranoScript” and a short web search later I find out that TyranoBuilder Visual Novel Studio is a visual-editor based visual novel game making engine similar to Ren Py. Neat! I had been toying around a little with RenPy recently so seeing there’s other options like this that are already up and available on Steam seemed quite promising.

https://tyranobuilder.com

So my immediate goal is “Find where the dialogue text is stored”. At the moment I feel like searching with my own eyes rather than relying on grep or “find in files” in Fleet, partly because I’m curious to get my bearings on how this game is packaged in general more than I am eager to translate the texts.

Roughly 10 minutes of skimming the files in the root directory for the asar, I realize the most obvious place to put the Data for a game would probably be the Data folder, so I take and peek

Oh hey a Scenarios folder, that sure sounds like where one might put the scenario text for the various scenes in their game.

I open up Chapter1.ks and quickly notice that the ratio of instructional commands to dialogue and scene text is actually quite a bit higher than I was expecting. I also quickly realize that my plan of translating things has made no room for interactive buttons that are drawn as graphics, or any of the signposts or jokes that are in the background images.

Jump forward about 2 hours. I now have a TSV file with a preliminary auto-translation of the most important texts in Chapter1.ks to reasonably followable (if unflavorful and not very regionalized) English text. I’ve also taken the un-modified copy of the extract .asar file and renamed it to /app and renamed the original app.asar to app.asar.ignore. The existing app.asar.unpacked is left untouched. Doing a short test run to ensure I can still run the game without having to repack everything.

Devil Connection (Devil Connection)
Start from the Beginning
Start from Continue
Option
Collection

Looks like it at least loads from the /app folder. After clicking start it didn’t go straight into chapter 1, the text I’m seeing here is something else. Looks like it’s from scene1.ks

(omg wow the game looks much prettier in action than it does in the videos \=OuuO=/ )

Quick smoke check to see if it’s gonna blow up if I just put in any old text here.

Oh… I didn’t planned for text overflows. And that’s going to be a _constant_ issue as the romanization of any given Japanese text is going to be roughly 2-3 times the characters used on average and Kanji that might only take two or three characters might instead be words that take as many as 12 or more characters… Oh well. It’s something I might be willing to fix if I were more devoted, but for now I just want to see if this’ll even work.


Now I’m going to use a short python script to replace the relevant texts in Chapter1.ks based on my Translation.tsv.

Another hour later. Had a change of plans. Rather than manually doing an excel file for each file to translate, I concatenated all of the .ks files into one big text blob and went through all of them looking for lines that needed translating. Feed the lines through auto-translate to populate the translation column like we did with the proof of concept. And use another python script to automatically go through all of the .js files and replace each matched line with their corresponding translated text.

Translation is going OKish with this approach, but there’s certain sections that the LLM refuses to parse due to sensitive content. As far as I can tell it’s something involving tickling or clothing? Or both? Either way, I got worried I wouldn’t be able to continue, but I gave it the text to continue from and skipped over that section, so maybe it’ll be fine…

Guess I’m taking a break on this now, I am frustrated and want to play videogames and eat and stuff.

It’s tomorrow and I’m doing a quick followup on this:

1, there are a _ton_ of text lines in the file that I’m not sure are actually used in the demo and might have been intended for the full game or something?

2, because it’s so much longer than I expected, it’s a lot harder to automate the process of translating the relevant sections. I can do some basic filtering like ignoring lines that start with known control characters like # or [, but that means quite a number of lines that require an effect to happen first will get skipped unless additional processing is done to skip over matching bracket pairs and focus on only text that might be contained within.

3, I tried messing about with only translating the Chapter 1 file instead of trying to translate everything. And it mostly works, particularly if I go in and manually insert the lines myself. However, the automated injection I wrote is failing resulting in the game failing to even _boot_, and Steam continues to show it as “Running” despite there never being a window for it visible.

I might experiment more with this later if I come up with a better way to automate out the parts I don’t want to do manually, or if I limit the scope to only translating the parts I am encountering my own playthrough. But for now the old and familiar method of screenreader+side translator is probably the better option than translation injection. It’s *definitely* doable, but it’s enough tedium that I wouldn’t do it for fun.

Edit: I think the answer to “why the total text so HUGE!?” is because the “System” folder under Scenario also have their own scenarios, and I accidentally included the Scenario1 file twice???? oops.

If I take another crack at this, what I’d do is along the lines of writing a script to:

Iterate every line of the file. For each line,

1: if the line starts with #, delete the line (Sets the character name, I believe. Since it’s a command, I’m reluctant to mess with it.).

2: If the line starts with *, delete the line (I’m not sure, but I believe these are for numbered labels to jump execution around).

3: If the line starts with //, delete the line (ECMAScript Comment).

4: If the line starts with {, delete everything up until the closing } (this may need to span multiple lines).

5: If the line starts with ;, delete the line (It’s a Tyranoscript comment).

6: if the line starts with [, we assume every pair of [ and ] is a command tag, First, we temporarily store an array of each text entry that exists outside of any command tags in the line. Then, we discard the original line, and insert each of the found text entries as a new separate line. (The idea is that we don’t lose any of the important narrative/dialogue text and keep those on separate lines so they’ll be easy to translate/inject later without risk of touching the commands.)

7: Once we’ve gone through the entire file, we save the file as “all-chapter-texts-no-metadata.txt”
8: make a translation table for every line in _that_ file, with column 0 being the source line, column 1 being the translated line.
9: use that translation table to run a find and replace on every text from that file. It may be best to run it against one file at a time and ensure the game still runs after updating the one file. That way if something gets replaced that shouldn’t be, it’ll be easier to catch. And if we kept a safe backup copy of the extracted files, we can use a diff-tool to check for the offending unintended changes.

okay I’m gonna go eat stuff and play game now bye ^O^

Meta Quest 3

I borrowed money using the current Affirm payment plan and got a Quest 3. This was probably not the wisest decision as I’ve already kinda stretched by budget a bit, but current resolve is to offload at least two of my guitars and use that money to pay down other fees.
That, and the Quest 3 is a *signficant* step up from the Quest 2 in terms of feel and convenience (I can actually see my phone without taking the thing off!? Wow!), so I fully intend to be spending more time using Quest 3 for actual work.

Got some other ideas I’m toying with. Still sorta want to explore what doing a VN in VR is like. Still sorta want to try turning Bubble Menace into a short free rail-shooter style experience. And I want to do more VR Sculpting. (Right now, ShapeLab 2024 is giving me a bunch of issue refusing to get past the initial loading screen on Linux, while Kodon works GREAT and feels SO GOOD to work in… but loading any of the files I made in it takes an extremely long time. I feel *very* sure that once I find or create a 3D modeling tool that works smoothly for me in VR, that will probably almost entirely replace the role 2D sketching currently has in my life. drawing on paper or screen tablets is a very useful skill, but it’s been more than a decade since I was able to say that I enjoyed the process for the process so much as enduring the process for the outcomes.)

I think it’s possible to do VR streams. I recall having tried a few times in the past. Once I start feeling cozy and settled in I’ll probably give it a go again with the new kit. Though I just realized I have to get ALVR and Developer Mode all setup on this new headset and make sure it works as well as it was with the Quest 2. What I found out from a lot of tinkering about today is that while ALVR has oddly high lag when playing 2D games in VR, playing the actual for-VR applications/games in Stream VR via ALVR often works very well, even over the WIFI. I know it’s possible to route that network traffic over USB to make the connection even more reliable, but I haven’t had success with that on Pop OS yet.

Aaaaand, I think that’s about it for today? I actually spent quite a lot of time in VR today and am very pleased about it. I’d like to show off the little sculpt doodle I did in KODON when I figure out how to actually get it to load.

(Pretty sure it’s already done loading within the first minute, but the prompt just won’t move to let me see and verify.)

Blender 3D

(CC0, screencap of live EEVEE viewport in Blender .4.2.1) Was supposed to be lighting practice, kinda just turned into messing about with shaders and 3D doodling to try to relax. Aimless, sure, but it’s kinda nice to have low-energy stuff to do that isn’t really meant for others.

Out of Meds

My apologies in advance, I am diabetic and I deal with depression.

My current doctor is refusing to renew any of my current prescriptions and thus far has not given an explanation for why.

I’ve been trying to use the same clinic for years now and they repeatedly give me issues. I use them because they are one of the closest I get to but now it’s becoming clear I need to find somewhere to go that’s closer because most of our cars no longer work so I can’t just up and go to any appointment whenever I want. And I still owe different places money so while I’m trying to catch up on those debts I can’t exactly go shopping around for the “optimal” health care.

But I am sick of getting jerked around by Emory Clark-Holder in West Point, I’m sick of being paranoid, I’m sick of trying to figure out how I’m gonna get my meds refilled and how I’m gonna get to appointments, I’m sick of darn near every other thing I eat screwing up my body dude, I don’t know what they’re expecting me to DO


I can’t just up and walk down to the clinic whenever I want it’s a freaking HOUR AND A HALF WALK best case scenario

so anyway if I seem particularly irritated or very avoidant of any kind of social contact I am Not Okay right now and it’s probably better that I’m only Available when I feel I can deal with being Available.

i nearly cried over our dog walking to another room, and I ended up shouting at someone who explained something very obvious and sensible, and I have a meeting in like two hours and I have absolutely no clue how I plan to get through that as if I were normal. I screamed so much my throat hurts and I don’t want to talk anymore.

sry

DO NOT COVER D&D ON YOUTUBE

For any of my friends who are into Dungeons and Dragons or anything related to Wizards of the Coast, if you depend on revenue from your Youtube account to survive

DO NOT COVER D&D ON YOUTUBE.

DO NOT SHOW the Handbook, even if the embargo or review guide said that you should.

Honestly I’d recommend not even taking the review deal.

So… why not? If you already like D&D and are going to share it anyway and want to let your friends know how cool the new D&D is, why wouldn’t you do a video on it?

You Will Be Copyright Striked On Youtube. Copyright *Strike* not Copyright Claim. Remember, a Claim might just redirect the revenue from your video, but a Copyright STRIKE can kill your channel and potentially your entire Google Account if you rack up too many of them. And if they’re doing that even to people they directly approached for the purpose of having review videos go up, then they’re probably not going to be any nicer about it to smaller teams. Do please please please, take care of your financial and social well-being and DO NOT COVER D&D ON YOUTUBE.

maybe I’ll post some lore stuff or art next time, sorry for more downer stuff this time around