RPGM WIP Shisaye's Project List

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Btw while working on the OCRSMTL stuff I learned a lot of new things and I'm once again revamping my translations.
(No don't worry I'm not gonna give it a new fancy name, I'm just gonna stick with calling everything SLR lol)

I have been using Reddo9999's code for the initial Sugoi input for ages, because I didn't want to (and in parts couldn't) write my own. (That's what the R in my stuff stands for.)
But now that I actually understand programming more, and how AI functions, I've started to re-write it, and it turns out there's actually a huge room for improvement here. I had my SLR system kinda backwards, in that I had my main focus on fixing errors of the Sugoi output instead of modifying the input in a way that the errors don't occur in the first place.

As with all fun experiments of mine that means the next translations will be much more prone to crashing and weirdness, but if this works out I might be able to drastically reduce the time it takes to make a SLRMTL even further, while actually (slightly) improving translation quality overall.

First tests look really promising (Much faster.), but the spooky bit is that this for now also gets rid of a bunch of fail-safes I had. So this could end in disaster.

Just as general information for the next poor soul requesting something. :KEK:


Edit: And just to be stupid about it, SLR will now cover every single not manually edited translation from me and now means:

Shisaye (So it can still be used if something better than Sugoi comes along.)
L8rdude (For the groundwork of the picture based text translations.)
Reddo9999 (For the groundwork of the feeding system.)
:WeSmart:
(But ofc it's also still the "Self Loading Rifle" pun.)
 
Last edited:
  • Wow
Reactions: derakino999

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
  • Wow
Reactions: derakino999

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
As part of my new SLR approach I've also completely remade my dictionary system.
And because I'm revamping that anyway I've decided to tackle one of the last huge issues SLR still has (besides pronouns, don't expect those to be fixed anytime soon :HideThePain: ) and that is screaming, moaning, licking, slapping and other hentai scene "noises".

Because while a lot better than during my DeepL days, SLR still had the issue of having sections suddenly being cut off, or just displaying something like AAAAAAAAA, or N-N-N-N-N, or in general just broken text.

I've now added a first batch of 120 Japanese patterns of "noises" that will now no longer be fed to Sugoi, but instead be replaced by a pre-defined translations. That will make them much less jarring to read and increase translation accuracy.

But there's always a Butt, because if a phrase is no longer being fed to Sugoi, that "could" mean that something else looses context and I would have to add another pattern that grabs more so the box gets translated correctly.
The issue with that is, I wont know. It wont give me an error or something like that, there's just going to be a box with a bad translation.

TLDR: While that may seem really odd to do for an AI translation, I would need people to actually report me bad/nonsensical translations from now on. Obviously not every little detail, otherwise you would just report the whole thing, and I only mean boxes that include screaming or other "noise". Not normal dialogue. Making pre-defined stuff for general dialogue would never improve anything. Japanese is way too dependent on context for that.
 
Last edited:

derakino999

Well-Known Member
Sep 30, 2017
1,230
643
sounds good, also yea but like another issue is moans can be extended randomly, right?
like it can be
ah
or
aah
or
aaah
or
aaaah
or
aaaaah

and yamete or ya...me...te or yaame...ro!

variations are endless, and they don't just extend letters, they use symbols like
...
,

hiragana, katakana, mixing everything, etc etc
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
sounds good, also yea but like another issue is moans can be extended randomly, right?
like it can be
ah
or
aah
or
aaah
or
aaaah
or
aaaaah

and yamete or ya...me...te or yaame...ro!

variations are endless, and they don't just extend letters, they use symbols like
...
,

hiragana, katakana, mixing everything, etc etc
That is actually not the case.
Japanese doesn't do that. Translators do that.

It's a bit hard to explain, but extreeemely simplified, (people who know Japanese will yell at me how wrong I am) あ makes things multiply methaphorically.
While people generally translate it as if あ is Oh, ああ Ohh, あああ Ohhh, etc, that's not really true. It technically means a fuckton more than that. To a pretty ridiculous degree and people don't even really agree what would be accurate. If it would need to have 500 O and H to truly express the multiplication or something like that. :KEK:
あ~あ for example tends to get translated as a bunch of Oh, oh oh, while あ~~あ is suddenly translated as just one big Ohhh again.
put ッ at the end ? Congratulations its still being interpreted as Ohhh! Put っ at the end and it becomes Ahh now right? Nope that's just something MTLs decided it's technically still just a random scream/moan.
How about あああッくぅっ surely now it's a defineable scream/moan right? NOPE. Might be AHHHHH might be Ahhh might be OHHHH. I don't fuckin know.
If you ask random Japanese people, they'll pretend like it's crystal clear, absolutely obvious, and makes perfect sense, but the "correct" English translation they give you will change every time. :WeSmart:

Long story short it doesn't really make any sense in English and for readability and understanding it's pretty much irrelevant.
That's why I never even tried to translate those properly in my manual SRS stuff.
I can just make broad regex patterns for that and have them be replaced by generic screams. And it's not "really" inaccurate.

And I don't have to match them all because Sugoi only fails on the long ones.

Basically very simplified, (Of course I'm not doing it this badly.) let's say the "text" is this:
Code:
ああッくぅっ TEXT
Text ぉああッ TEXT
TEXT TEXT
あああ~~ぉあ
Then you could do:
JavaScript:
text = text.replaceAll(/[ぉあ]ぉ*あ*~*ッ?く?ぅ?っ?ぉ*あ*/g, "Ahhhh!");
And you would end up with:
Code:
Ahhhh! TEXT
Text Ahhhh! TEXT
TEXT TEXT
Ahhhh!
 
Last edited:

derakino999

Well-Known Member
Sep 30, 2017
1,230
643
No, wait, that's not what i meant exactly, i mean, i wasn't arguing about HOW to translate moans, what i meant was that how would you COVER ALL possible patterns and variations
Let's see if i got it right...
You have 120 patterns which are moans, right?
Like, for example you have these 3

ああ
ああ〜く
and so on.
You have 120 of THESE, did i get that right?
120 different types of moans
But i thought that the variations could be way more than that, since depending on how *ehem* extreme XD some scenes are, the あs could multiply exponentially AND having any くs, っs, tiny あs, ...s, !,s, etc in-between and at any random point, and those symbols can also get extended etc
So how you gonna cover all those? that's what i was asking
not that ああ translates as aah and あああ as aaah and complain if it's missing an a or something haha.
Though I'll say there IS a little more nuance in the later ones you mention,
like
あああっ Could be Aaah...! since that's kind of what that tiny っ means, her voice getting cut so to speak
but anyway, that's not what i was talking about, just how you would tackle all possible variations, like if you look at night of revenge scenes or some other games d-lis goes nuts with the aaas XD
 
Last edited:

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
No, wait, that's not what i meant exactly, i mean, i wasn't arguing about HOW to translate moans, what i meant was that how would you COVER ALL possible patterns and variations
Let's see if i got it right...
You have 120 patterns which are moans, right?
Like, for example you have these 3

ああ
ああ〜く
and so on.
You have 120 of THESE, did i get that right?
120 different types of moans
But i thought that the variations could be way more than that, since depending on how *ehem* extreme XD some scenes are, the あs could multiply exponentially AND having any くs, っs, tiny あs, ...s, !,s, etc in-between and at any random point, and those symbols can also get extended etc
So how you gonna cover all those? that's what i was asking
not that ああ translates as aah and あああ as aaah and complain if it's missing an a or something haha.
Though I'll say there IS a little more nuance in the later ones you mention,
like
あああっ Could be Aaah...! since that's kind of what that tiny っ means, her voice getting cut so to speak
but anyway, that's not what i was talking about, just how you would tackle all possible variations, like if you look at night of revenge scenes or some other games d-lis goes nuts with the aaas XD
Err... I think you didn't read all of my post.
A single regex pattern can cover hundreds of variations.
You can put * behind a character and it will match it from zero to infinity times. You can put a + to match it one to infinity times. Or a ? to match it between zero and one times.

So all variations of these

ああ
あああ
ああああああ
ああ〜く
ああ〜〜〜〜く
ああああああ〜〜〜〜く

Can be covered by this single pattern
あ+〜*く?

Of course I would add a lookbehind and lookinfront to make sure it would only match it if it's an isolated bit without other Japanese characters directly in front or behind it, but I think that would just confuse you now lol.
And you can add capture groups and count the あ or 〜 so your replacement can be variable in length as well.
 
Last edited:
  • Wow
Reactions: derakino999

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
  • Like
Reactions: Animefan_09

muz2020

Member
Nov 27, 2020
278
183

Shiyase can you recommend any software to MTL games made in unity?
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505

Shiyase can you recommend any software to MTL games made in unity?
If you mean fully automated, then xunity.autotranslator.reipatcher is pretty much the only option that "sometimes" works.
Usually when it doesn't work you need to change to a 32bit BepInEx, or 64bit BepInEx setup respectively. Or use MelonLoader.

It's a bit of a frustrating topic because that dev insists on not wanting to modify game assets to keep "unlimited compatibility" and instead just injecting text on the fly, but as a result it's slow, it's messy, and not really suitable for a proper translation format.
You can pretty much just try to cache every single translation that may come up and ship that with the game, but you will always miss something and need a fallback translator making this whole deal always online, translations delayed, and translation quality pretty bad.

While I fully admit that I haven't looked into it deep enough, yet, to make a proper judgement, and I currently have no plans to do so (I can't invest even more time into something that doesn't make me any money), if I were to add SLR support for unity games I would probably make my own system from scratch and not use bbepis' code.
 
Last edited:
  • Like
Reactions: muz2020

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Alright, I've completed and tested my base "noise" translation list.
So for that purpose SLR now includes 105 191 206 regex patterns with a total of 251 448 465 pre-defined translations.
I will expand or change it depending on feedback.

SLR will obviously also still include my pre-defined stuff for character names, items, options and buttons.
This means there's now actually a significant difference between SLR and just using SugoiV4.
(You'll be the judge if that significant difference is actually positive. :KEK:)

Edit: Nvm, I forgot a really important character. Time to write a bunch more of these...

Edit2: Done.

Edit3: Missed a fuckton more.
 
Last edited:

derakino999

Well-Known Member
Sep 30, 2017
1,230
643
If you mean fully automated, then xunity.autotranslator.reipatcher is pretty much the only option that "sometimes" works.
Usually when it doesn't work you need to change to a 32bit BepInEx, or 64bit BepInEx setup respectively. Or use MelonLoader.

It's a bit of a frustrating topic because that dev insists on not wanting to modify game assets to keep "unlimited compatibility" and instead just injecting text on the fly, but as a result it's slow, it's messy, and not really suitable for a proper translation format.
You can pretty much just try to cache every single translation that may come up and ship that with the game, but you will always miss something and need a fallback translator making this whole deal always online, translations delayed, and translation quality pretty bad.

While I fully admit that I haven't looked into it deep enough, yet, to make a proper judgement, and I currently have no plans to do so (I can't invest even more time into something that doesn't make me any money), if I were to add SLR support for unity games I would probably make my own system from scratch and not use bbepis' code.
You need to use Melonloader when the unity game is using il2cpp, and you only need to use bepinex if you also want to use other bepinex stuff like mods for example uncensors or whatever, otherwise xuat reipatcher works just fine.
There's also a version of xuat that has support for il2cpp games though its compatibility is limited.
And I haven't had any problems with it tbh, it's basically a one cilck translation program, gets and translates the full sentences, and has support for deepl and sugoi
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Since my new system is a lot faster and (hopefully) higher quality now I could relatively effortlessly re-translate old stuff I've made as well. And updates to newer game versions should also be a lot less problematic now.

Since I don't have any active requests right now that means I'm continuing to work on updating old Google MTLs to SLR.
But most of those threads are completely dead and I would much rather work on something someone actually cares about.

So long story short you can also request re-translations of projects I've worked on in the past, if you feel like they weren't all that good and you see potential that current SLR could actually improve them.
Not just Google MTLs, I also mean early DMTLs, Levi based SLRMTLs, or projects that have untranslated Picture based text.
 
  • Like
Reactions: GoldBolt

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Sigh, I just realized I had a typo and put ぉ instead of ぁ in one of my main patterns and so a lot of Ahhh! sounds weren't actually grabbed. I fixed it now, but that means the last 2 projects aren't representative of the system, yet.