The long overdue update
Well, it’s certainly been awhile!
I’m sorry for the lack of updates. Things have been super crazy for me so there’s not been a lot of progress to report. Since the last update in end of April I…
- broke my foot in a dog-related incident and had to be in a medical boot for a bit.
- had a lot of home issues, some as a result of not being as able to get around.
- Started my kid in day care, which has had its own challenges.
- Lastly, i’ve had a cold this week.
- Aaaaaand next week I’m back at work.
So a lot of crap’s been happening that has taken me away from the project. I’ve also been roped into a couple games, Saros, and most recently, MGS Delta I got for a good price and was testing it out. Past that I’ve done a lot of LLM/AI work on the side, with a lot in mind as for how to further optimize my work and projects.
It’s bumming me out not having the kind of time I used to for my project but that’s part of parent life I guess. Even so, there’s been some progress to report, so to give myself some credit, let me go through some of the last few things I did get to.
The GUI was put on github, and has had many updates to it.
You can find the GUI itself here: https://github.com/DoktorDeSparkle/mgs1-translation-toolkit
A LOT of people reach out to me asking for the tools or help translating into their native languages. Some of the features I’ve coded in have been for their benefit. For example, character sets are editable, not just across the main game, but on a per-call basis.
I’ll be honest. The GUI is heavily vibe coded for two reasons:
- I meant for the majority of my work to be done in the command line with automation. This project was in pursuit of releasing a patch as the end product. But that said, the tools are free to use, and with all the requests I decided to push forward working on a GUI. The gui makes it much more approachable for everyone to use these tools for their own native languages.
- Second, I started this with the goal of learning more about coding. But I found working on the GUI incredibly slow and tedious, to the point it’d probably never get done if I didn’t. But also, since “vibe coding” is starting to look like it’s here to stay, I figured I should get better at it. I figured the separation is the scripts (the real meat of editing the game) are mine and coded by me… the gui is for folks who don’t code or use CLI.
And as a minor note, as we get into translating RADIO where additional lines are needed, it helped to align one shared interface that would have to edit two separate files. As mentioned a few times, dialogue stored in RADIO.DAT, but timings are in VOX. Kind of a pain to mod, when you’re also modifying the two files themselves. Where it gets real bad is splitting one line into two appearing titles.
AHEM
Anyway.
I was able to keep working on these while my kiddo napped. Little bits here and there, but the gui is now “workably usable” and should produce working files when exported. So please use it, and report bugs to me either using this form or the discord.
Format change for the radio iseeeva files (json)
Had to change the format to better support the GUI, because of how we log changes. With that change also meant writing a conversion script for old versions. But the idea was that if you want to take the command line scripts and insert them into the native file (it’s just a zip, ending in .mtp… oh did I mention? MTP for Metal gear Translation Project lol).
This has been helpful though for converting my command line scripts into a testable patch in the GUI flow. More work to come obviously, but in the meantime the converter script is there, and there’s even support to still import the old version.
I don’t think this throws anyone off enough to really bother them, but these scripts are “as-is” until I finish them anyway.
Some other Code Explorations for bug fixes.
There are some things that always bugged me about the character matchings. For example, we have some different codes used for punctuation. I ran a few code sessions with Claude to figure out why this was the case, and we have some reasoning as pulled from the Integral decomp.
Soon I’ll be able to review and revamp the code to account for this. There’s no real advantage for it, except for the fact that in testing, we try to extract/recompile to ensure accuracy. And when we don’t know why two things create the same character, we don’t know which code to re-compile with.
AI Projects
I fooled around with Openclaw a bit for various things, for a while I had a (fake money) crypto trader bot, which lost tons of (fake) money. But i had some thoughts on it. It would be interesting to create my own agent for my discord server for support questions. I had a bot started, but ultimately scrapped the idea, since no one asks for help anymore.
Besides, most folks are vibe coding their own solutions. They’ll probably just point to my repo anyway.
What happens now?
I’m starting work again next week, which will probably fill my plate up quite a bit. But once I’ve got a handle on that, I do fully intend to blast forward on this. I need to get back to translation. There are a number of other things I wanted to do to get myself more organized on the project, but we’ll see how those priorities shape up.
One big blocker for me translating was that we had many changes come up while trying to translate, which made me feel like translation was a waste of time. And other times, wanting more of a mindless task, I would just sit down and translate rather than work on the code.
But, this is all the nature of the project. You hit a roadblock, focus elsewhere, and come back.
The work is mysterious and important!
That said, it will get done. I had all of disc 1’s story sequences in demo and radio translated (I think), but there is much more in VOX to handle. After that I move on to disc 2, and then come back for all of the optional dialogue…
…which is a LOT……….
So there’s a lot more to be done. And I balance that out with doing fun AI projects while I’m bored or aimless. But my time is sometimes only available 15 min in a chunk, so I have to be very diligent while I’m also on a lack of sleep.
Not to mention having a sinus infection.
That said, more things are coming in the pipeline! I feel like the youtube channel could use some love, and I have aspirations to get a tutorial of sorts out, even if it is makeshift and only temporary until the final versions are out later.
Don’t worry, i’m still here. Chipping away! More soon.
J-Rush