Hacking Translation Lets talk about Girlfriend of steel

Kitsu-neechan

Coffee makes your kokoro go doki doki
OP
Member
Joined
Apr 9, 2015
Messages
307
Trophies
0
Age
36
XP
1,830
Country
Finland
The translation is complete, and will be released shortly!
....or so i'd love to say, and while it will be released in the near future, its not quite complete yet.

ULJM05456_00000.png


buckle up because this is going to be a bit on the long side, i need to rant about it somewhere and this is as good of a place as any. :P

so, some years back i translated girlfriend of steel 2nd and i figured that since the toolset is mostly the same, and these are relatively simply built games, lets just get this game out of the way too..


first things first, lets see what i've done,

- all graphics of the game reconverted from source assets (all of them, literally.)
- replaced compression with a more efficient one.
- all system text translated
- all known bugs fixed
- game script was started today, first 2 scenes done for testing's sake.'
- opening FMV redone to be fullscreen and not looking like shit.

now, lets take a look at why this game is so easy to hack but it took me over a year to work it out in silence, before i even got to the part of actually translating it.

we'll go in order, the graphics:

so, being a pc/ps2/whatever other platform game, obviously, the psp version being a handheld has smaller, downscaled assets compared to its big brothers, so it should look quite clean as it is.
WRONG!
this game is the single biggest piece of garbage i have ever seen, and all the game assets have been taken from what seems to be the ps2 port (740x400 resolution) and ran through an automated converter to convert them
to 480x272 for PSP.
to add to the insult, bicubic interpolation was used on downscaling, coupled with an extremely aggressive sharpening filter, and hideous color reduction algorithm, to produce the retail version of the game.

here's some of the more prominent examples of just how shit the game looks, and what i've done to it (originals on the left, new on the right)

ULJM05456_00004.png
ULJM05456_00003.png


ULJM05456_00005.png
ULJM05456_00006.png

also one of the uncountable number of bugs in the game can be seen here, where the internal battery indicator graphic is just drawn allover the place (fixed on the right.)

this was the first order of business, reconvert ALL the graphics of the entire game again, in order to clean up whatever the actual fuck the original is.
which brings us to the second problem.

now, background images like this arent the end of the world, its just an image i can downscale and process properly. Fair enough.
enter overlay sprites and transparency, such as the battery indicator image here, or the character overlays on some scenes.

the game does not use alpha channels for its graphics, and instead, a single transparent color is used for creating "rendered images", as such, like this.
again, original on the left, new one on the right,

P_C023A1.png
P_C023A1.png


now, this was a big problem, since there's a lot of these, and rendering them out takes a good while. but eventually, i managed to clean up everything, and thus we have survived a major hurdle of restoring alpha channels to the entire game, making it look significantly better (as it should have been) than the retail game.

here's a screenshot comparing the scene,

ULJM05456_00008.png
ULJM05456_00007.png


thats a lot nicer, lol.
now, after this, theres another type of animation on the game, which takes a background image, and pieces of the same image with differences on it, to generate animated things, by overlaying partial frames of the same image
on-top of it.
you can probably already see what problems this causes in an enviroment that is exclusively using 256 color images. Yup, color clashing at image edges because of the piss poor color reduction job.
the game has several scenes where using "square" cuts couldn't be avoided due to how the scenes work, so i cleaned those up to the best of my ability.
For the rest, i constructed full frames of every single image, and rendered everything, in order to keep the background image clean while doing animation.

examples such as this scene and the blinking streetlight in it.

P_C077A.png
P_C077_A.png


and my arrangement of it,


C077A.png
C077_A.png


which works considerably better than the original solution.
now, this is the simplest of the example, there are scenes later in the game with hundreds of animation frames and massive explosions et cetera, that took days to create for what is essentially 2 seconds of gameplay.
but whats done is done.

there is a very small handful of things i redrew completely from scratch, because the source just quite literally sucked ass. most of them being simple things like the monitor overlays on this scene

ULJM05456_00010.png
ULJM05456_00009.png


but yeah..... in all fairness, it took me about a year, and is far more work than this game is ever worth, not to mention this is what it should have looked when it released to begin with, as i used the same assets the developers did, when it was made.

in total i reworked 2351 images (couple more are going to be added once im done tweaking a few things) which constructs essentially the entire game. And thats before i even got to translating it.

then, now we're done fixing the entire game, the rest is easy right ?
nope.

the game's script files are a terrible mess. and by terrible i mean terrible. these are ASCII text files, with binary code randomly thrown into them, WHILE the file maintains its structure as a text file.
as such, the code is nearly impossible to read as its completely non-aligned.
to add to the insult, in addition to the fact that there are random 0x0D0A linebreaks (0x0D0A is hexadecimal for windows enter key press in a text file.) that misalign everything and cause things like code starting from odd offsets (this should never be a thing) they can also be found randomly from the middle of the code. And if this wasnt enough, the code is also big endian.

thats enough technical jargon though, i parsed the files enough to be able to fgix bugs such as missing animation frames, incorrect animation frames, flat out missing graphics, and incorrect graphics coordinates.
so thats all done.

oh yeah, did i mention that the game's text is also thrown into these files in the middle of the code somewhere... its quite a mess to clean up.


here's the catch, the game's script, which is fully contained in these script files, is actually unused.
every line of text in these files contains a text string, and a prefix.
the prefix is a file name of an image that contains the text in drawn form, as such


a21b035.png


so in order to translate the game, i not only have to translate the text, but then convert it into 3418 images, which are formatted to this exact specification, in order for it to work in the game.
yay, i didnt have enough fun with images already....... -_-

a21004.png

well, thats done.

------------------------------------------

all in all, i've probably poured some thousands of workhours into it, and its only today I got to actually start translating it.
its not worth it and there is no one on this entire planet who fully understands the fact that I've essentially recreated some 95% of the game now (audio excluded)

feel free to ask questions, i'll be happy to rant more :P
and yeah, long post, but i had to type it out somewhere. i have been mindblown time and time again on how incredibly shitty this game is from its design and I still have difficulties comprehending the fact that

1) someone got fucking paid to do this
2) someone at QC saw this and with a straight face said "yeah, its good, lets release it."

anyways, here's a pile of screenshots, i hope it'll be good enough because i sure as hell will never go near thjis game again in my life, lol.
i'll post a proper release thread when im done with the translation, in thea meantime you'll find me from my twitter as usual: @teh_mugi

ULJM05456_00011.png
ULJM05456_00012.png

ULJM05456_00013.png
ULJM05456_00014.png

ULJM05456_00015.png
ULJM05456_00018.png

ULJM05456_00020.png
ULJM05456_00021.png

ULJM05456_00023.png
ULJM05456_00024.png
 

TigerTiger

Well-Known Member
Member
Joined
Aug 23, 2020
Messages
109
Trophies
0
XP
532
Country
United Kingdom
Wow. I can't imagine lol.

Props to you for sticking with it and still having the willpower to make a translation though! I feel like they should be sending you a paycheck :rofl:
 
  • Like
Reactions: Kitsu-neechan

Kitsu-neechan

Coffee makes your kokoro go doki doki
OP
Member
Joined
Apr 9, 2015
Messages
307
Trophies
0
Age
36
XP
1,830
Country
Finland
thats how I feel, lol

its getting there though, although im kinda busy with work, its moving along nicely
 

ecto

Well-Known Member
Newcomer
Joined
Jan 22, 2020
Messages
53
Trophies
0
XP
1,404
Country
Germany
Wow! You transformed it into what it should have been in the first place. Congrats!
Gainax (or Cyberfront) probably just said: : "If it works, we can sell it"... Anyway, it's great to have the whole series now (or soon?) for the PSP.
 
  • Like
Reactions: Kitsu-neechan

Kitsu-neechan

Coffee makes your kokoro go doki doki
OP
Member
Joined
Apr 9, 2015
Messages
307
Trophies
0
Age
36
XP
1,830
Country
Finland
its getting there.
im about 10% done with the script.
work is slowing me down but its moving a bit every day, depending on how busy i get it'll probably be a month or 2 to complete and test.
not gonna say anything about the time though, it's done when its done. :P
 
  • Like
Reactions: ecto

duwen

Old Man Toad
Member
Joined
Sep 6, 2013
Messages
3,191
Trophies
2
Location
Bullet Hell
Website
www.exophase.com
XP
4,294
Country
United Kingdom
@Kitsu-neechan - Sounds like you're having lots of fun ;)

In fairness to the original devs, the background images are mostly fine considering the resolution of the PSP, it's only when it's emulated or output to a tv where the lo-res becomes noticeable... same is true of a lot of PSP titles, including bigger budget titles than this one.
 

Kitsu-neechan

Coffee makes your kokoro go doki doki
OP
Member
Joined
Apr 9, 2015
Messages
307
Trophies
0
Age
36
XP
1,830
Country
Finland
its not the resolution thats the problem with the images, its the way they're processed.
the bicubic downscaling and the utterly overaggressive sharpening filter have left pixelated, jagged edges everywhere and its just generally a hot mess.

in all fairness, the resolution being 480x272 as it is (this game actually uses 480x256 graphics, there's black bars at the top and bottom) still look like shit when upscaled even after what i've done to it,
its just the fact that if you actually play the game as intended (on a psp) it now looks crisp and clean, not like someone shat it out at lunch break.

when upscaled, the difference is less apparent. As much as I'd like to claim so, im not jesus christ allmighty, so theres not much i can do for dithering artifacting or some such when i reduce a picture with 95000 colors down to 256 colors. its just an objective fact.

all that said,
the year i spent fixing this thing, _I've built it from the ground up, one picture at a time, they are all indicidually processed and for each image, the most suitable way to process it was chosen. the quality difference between the vanilla assets and my assets is enormous.
 
Last edited by Kitsu-neechan,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: I'm back