Hey guys, I'm back!
I've been out of action for a while for various reasons: I drifted off my translation of the second Detective Conan game for the GBC as I needed some simple programs for text insertion and never got round to having them done. I've received a couple of messages about Hyper Iria, but anyone who wants to know why I abandoned that need only look at the thread.
Anyway, I became interested in Battle Robot Retsuden for the SNES, and even translated the intro and the first scene, along with all the menus, just for fun. A while later I looked again at it and thought "hmm, wonder if I can translate this properly?" I'd never managed to get a SNES translation right, with Hyper Iria being the closest I came to success. This time, however, everything seemed to be in my favour, as I'll explain later.
First, check out my "proof of concept" (ie getting it to a workable state, and proving that I can do a full translation given more time).https://youtu.be/ahiczRf-ejs
(does the forum support embedding YouTube vids? Couldn't find any info)
I'll try to be brief in explaining everything about the project, but feel free to ignore all of this and just give me feedback.
First, before you ask, I know the menu looks bad. "Bridge", plus three two-letter abbreviations. It's ugly, but this is the one area that I'm struggling with, because I don't fully understand what's going on. I'll explain later.
So I checked the ROM and it's HiROM, 24Mbit, so tons of room in there. The main font is 16x16, but the last four horizontal pixels are ignored, resulting in 12x16 for each character. This would be a good moment to introduce variable width font (VWF) but I can't code, and I've not found much luck in the RHDN forum on implementing a typical routine for VWF. However, the video shows a very thin font, giving me lots of screen space to play with.
That's because each 12x16 character tile is now two alphabet characters.
Yes, it sounds crazy, but there's a good reason for this: the ROM includes lots of kanji. There are four "banks" (not quite corresponding to true SNES banks) with 255 characters in each (plus the control code 00). This means 1020 characters used purely for text - and they use every single space. I did the maths and worked out I could do every single combination I could possibly need (a to z in both positions, punctuation, capital letters when required), and still have plenty of room left over. Perhaps a weird way of getting a nice thin font onscreen, but as you can see, it works like a charm.
At every turn during research for this hack, everything went right. I found the pointers and routed some dialogue text to a different bank, meaning I'll never run out of ROM space (as there's a ton of empty space on the cart, plus using digraphs means I use half as many bytes anyway). Almost everything is now pretty clear to me, and I'm confident that the only thing stopping me from a complete translation is my free time, which is quite limited at the moment I'm afraid.
Now to the one problem: the menus. Most of the menus are just a problem because there's no screen space: I can only use two tiles (ie 24x16) and that's that, so my choice of words is limited as you see. Not much I can do about it without going deeper. The bigger problem is the main menu, and I'll need to explain why.
They're a special case in that they have two characters, but after the first character there's a bunch of code before the second character (which seems to introduce a space) and if I ignore it the space disappears - but the selection highlight introduces an ugly block in the space to the right of the second character. If I just use three characters instead, it doesn't quite fit in the space, and graphically affects the menu. I'll post screenshots if anyone's interested.
A similar problem occurs on the start menu at the beginning. I used "kill" (two tiles) because I couldn't use "delete" (three). The reason is the selection: the game is clearly expecting two tiles and glitches elsewhere on the screen when you throw in three. This wouldn't be a problem if the text just displayed passively, but my guess is the code for highlighting it is done differently than the code for displaying the text unhighlighted. If anyone has experience of this, please get in touch, as it's the one issue I need to crack before I can deliver a full translation.
So, I could talk all day about it, but I'll let my work thus far speak for itself. Being an 'action' game, my plan is to make the game totally playable first: menus, weapons, unit names and so on. The actual story will be the last thing to do, since most people will probably skip through it anyway.
Looking forward to your comments!