|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
![]() |
Goto page 1, 2 Next |
Author | Message |
---|---|
|
Tensai Bakabon translation
![]() |
Just to make this clear...
I am not promising to work on this any more than a few minutes at a time. I'm just posting some stuff that I hope will be useful. First off, let's get the script dumped. Here's the font: ![]() What we need first is a plain text (ideally UTF-8) file with all the characters typed in (I'm not sure what's up with the ones after the digits, they might not exist in Unicode, so use an approximation if need be), in order. Next, type out some of the text in the game, like this: ![]() ...and we can search for it using the character list as a reference. If we're lucky, the script will be stored uncompressed and we can dump it out. There's a reasonable amount of text "burned" into graphics. All the graphics in the game are compressed using Sega-standard compression. My decompressor will let you find them, but is a bit weak otherwise. I have an unreleased lost-source buggy enhanced version I used a bit for Phantasy Star that works a bit better and my BMP2Tile program can compress to that format from common file formats, so it might come in useful. But for now, search for the text-burned graphics. |
|
![]() ![]() ![]() |
|
|
![]() |
Probably easiest way to find text is to use MEKA's tile viewer, and point to each tile value, noting the hex value in the corner of the window.
Then make a text file with a character list like this (a "table file"): $01=あ $02=い and so on. filling in the table by comparing known characters and what appears on screen, it seems accented characters are stored as two bytes (base character and accent character). Save it. Some ROM hacking hex editors, like WindHEX will allow you to open this, and then just scroll through the ROM (or just look up the hex values for each letter in a single word, and then search for a matching hex pattern). I did a quick search, and found text from the opening screen scattered around in the ROM bank at $2C000. |
|
![]() ![]() |
|
|
![]() |
Does the game really use the "deko boko" (凸凹)characters??!? :-D
As an aside, when translating, I had a hell of a time finding table makers/table hex editors that weren't completely SHIT. For finding text and graphic screens inside of games, though, I'd recommend this awesome program: Djinn Tile mapper http://www.romhacking.net/utils/349/ As you can map the actual graphic tiles in a ROM to the data viewing window. |
|
![]() ![]() ![]() |
|
|
![]() |
Unfortunately, that program doesn't work as well when the character tiles are stored compressed.
Using the compressor program, I extracted the game font from $C222 Edited that with YY-CHR, and then was able to recompress and reinsert it. Now we have some roman characters to play with! |
|
![]() ![]() |
|
|
![]() |
Glad to see this actually might become a reality. Thanks for getting the ball rolling, guys. Wish I could help! I write a considerable amount of fiction in my line of work, so I'd at least be happy to comb through the text to make sure it's all kosher before the hacking begins. | |
![]() ![]() |
|
|
![]() Last edited by Maxim on Tue Nov 18, 2008 8:56 am; edited 1 time in total |
So can someone make a table file yet? I didn't want to assume characters would be stored as tile numbers, but the assumption of ordering is much more certain hence why I was going for a relative search (easy to do, and would find the tile numbers anyway) before making a full-on table.
Inserting the font is easy when you have the (de)compressor tools already written... The Phantasy Star retranslation also has commandline tools for doing just that if you're happy to work with raw tile data rather than PNGs; personally I prefer the latter. I just need to modify the decompressor to save to PNG. Edit: Aaargh, I don;t read Japanese but here's a table file anyway. It might have errors which Japanese readers can understand. It's true about the tools. This UTF-8 table file seems not to work with any tool I've tried. I'll see about dumping the script later. |
|
![]() ![]() ![]() |
|
|
![]() |
I am working with raw tile data, I'm comfortable with that. I'm starting on the table file now. | |
![]() ![]() |
|
|
![]() |
Wow, it looks like things are really getting off the ground now
Awesome |
|
![]() ![]() |
|
|
![]() |
Here are some tools.
bitmap_decode.exe - decodes RLE compressed tiles to raw VDP data, suitable for use in raw tile editors that support the "SMS" format bitmap_encode.exe - goes the other way Note that the compressors we have could use a little work. Taking the font as an example... - It decompresses to 141 tiles = 4512 bytes - It takes up 2087 bytes in the original ROM (53.75% compression) - It compresses to 2112 byes with bitmap_encode.exe (53.19% compression) - It compresses to 2093 bytes with "Sega 8-bit tile decoder A.exe" (53.61% compression) I've seen cases where the Sega compressor is worse than mine, though. |
|
![]() ![]() ![]() |
|
|
![]() |
There is some multi-tile encoding going on, so the table is a little more complex that just what we see. Using WindHex's table editor is working out ok, and the Unicode view is working fine, just not with that UTF8 table. | |
![]() ![]() |
|
|
![]() |
The characters are in a mostly "standard" order, which makes things a little easier. I'm working on a better tile encoder. | |
![]() ![]() ![]() |
|
|
![]() |
On the other hand, it looks like the text strings are all over the place. | |
![]() ![]() |
|
|
![]() |
I know that's a problem sometimes, but it's not so hard to decompress the tiles, then do a COPY /b Bakabon.sms+TILES.BIN Bakabon.tmp (in DOS, for example), then at least view text & edit it in the djinn program. |
|
![]() ![]() ![]() |
|
|
![]() |
Here's a new encoder that produces identical output to that of the Sega compressor (for the font at least, it could maybe use some testing). It's using extra tricks to save a few bytes.
|
|
![]() ![]() ![]() |
|
|
![]() Last edited by DMEnduro on Thu Nov 20, 2008 9:11 am; edited 2 times in total |
OK, I've worked out a fair bit!
At $2C000 we have a list of 43 little-endian values. (56 80 5B 80.. read as 0x8056, 0x805B) These point (I don't actually see why, but the fact there are 43 of them is assuring) to Multi-tile "phrases". These are stored at $2C056-$2C186. They use the standard table values as seen layed out in the font table. 1 byte, value 0x00 seperates each of them. The section is ended with 2 bytes, 0x00 0x02 (It looks like a lot strings in the entire section are terminated this way. This is a bit I can't figure out properly, see below.) In the main script section $2C187-$2E63A, values of 0x80-0xAA are used to refer to these phrases. I've included the phrases in my table file. 0x00 are newlines. 0x00 0x01 0x00 0x02 One of these is the "wait for button press" part of text. The other is some sort of section break (too tired right now to say which is which). These may have to be treated specially somehow, otherwise あ and い (01 and 02) get stuck in where they shouldn't be. Here's the table file so far, Shift-JIS encoding - just how WindHex plays. I have dumped script with it, but it is a bit incorrect because of above issue. EDIT: fixed an error in the table |
|
![]() ![]() |
|
|
![]() |
Good to see things are progressing :) Are you sure 00 is a newline? If it's "end of string" then things would seem to make more sense.
Are you sure the 02 at 0x2c186 is relevant? |
|
![]() ![]() ![]() |
|
|
![]() |
There's nothing that can't be done at SMS Power! :P | |
![]() ![]() ![]() |
|
|
![]() |
It could be expressed either way, depending on what you want to call a string. On this I am unsure, I was pretty tired. I'll check it out today. |
|
![]() ![]() |
|
|
![]() |
I've determined the real meaning of 0001 and 0002. What I said before was wrong.
These aren't two byte values, instead, 00 always means string end. The 01 or 02 belongs at the start of strings, and it indicates how many strings are in the following batch. The result of this in game is if 1 or 2 lines of dialog are printed before waiting for button press. Here's the first conversation: Mama: 02 $2E181 Papa: 01 $2C8F7 Mama: 02 $2E198 Mama: 01 $2E1AC Papa: 02 $2C37A Papa: 02 $2C907 Mama: 01 $2CD86 Papa: 02 $2C919 Papa: 01 $2C92D Each case here is the byte indicating how many lines are printed, and the address of the first character for each block. I suspect the pointers to these would be 1 less than each value above, it would point to the "no. of lines" byte instead. |
|
![]() ![]() |
|
|
![]() |
Here is the script dumped!
|
|
![]() ![]() |
|
|
![]() |
Awesome, I will get working on it first thing tomorrow (im a little drunk at the mo), I cant really tell how long this is going to take me, as I have never done a game translation before, but I will try to get it done as fast as I can |
|
![]() ![]() |
|
|
![]() |
Awesome stuff, I spoke to DM, id be happy to play test the game once its been translated :) | |
![]() ![]() ![]() |
|
|
![]() |
http://bto8.smspower.org/segapower/1355/index.html
Walkthrough of the game? In Japanese, may help understanding in some contexts. |
|
![]() ![]() |
|
|
![]() |
Thanks, that helps a little There is however a couple of problems with the script you dumped. Its completely out of order, so I have to piece the script together like a puzzle, while translating it. This is going to make the whole process 3 or 4 times longer than It would normally be Also, Im not completely sure, but there seems to be bits missing from the script. Or Im just not looking hard enough. |
|
![]() ![]() |
|
|
![]() |
Yep. I should maybe look into pointers and see if there is any order to it. |
|
![]() ![]() |
|
|
![]() |
So I started working on replacing the title screen, which has lead to a few questions:
- Are we going to translate the name of the game? "Tensai Bakabon" or "Foolish Genius Bakabon" or... - Any suggestions on fonts? I'm having a hard time finding fonts that look "similar" to the Japanese. |
|
![]() ![]() ![]() |
|
|
![]() |
I was checking this out. The small japanese text at the bottom of the title screen says Fujio Productions. There are English sections on http://fujio-pro.co.jp/ that suggest the name should be translated as (The) Genius Bakabon. Also, FUJIO-PRO. would fit nicely in that space on the title screen. | |
![]() ![]() |
|
|
![]() |
Personally leave the title as-is.. it helps add to the mystique of the game. | |
![]() ![]() |
|
|
![]() |
The character's name is Bakabon. (Baka means "stupid".) Tensai is just a qualifier meaning "genius". So the title is literally "Genius Bakabon", but the meaning is more like "Genius Stupido" or something like that. (Compare to "Dumbo", "Dopey".) I'm happy to use the "official" name "The Genius Bakabon". | |
![]() ![]() ![]() |
|
|
![]() |
I cant help but think it should probably be left as `tensai bakadon` because that what everyone in the SMS world already knows it as
Also, there are a lot of bits of dialog missing from the dumped script, so I cant really translate it properly yet DME - Take your time with this buddy, you are doing an awesome job at hacking the ROM |
|
![]() ![]() |
|
|
![]() |
I also think it should be kept as Tensai Bakabon.
I don't really have a point beside the fact that the game is known under this name, it would be confusing to create a new name. |
|
![]() ![]() ![]() |
|
|
![]() |
Hmm... How about a subtitle then?
Tensai Bakabon The Foolish Genius Or just a straight translation? Tensai Bakabon The Genius Bakabon |
|
![]() ![]() ![]() |
|
|
![]() |
Tensai
Bakabon The Title That Maxim Just Couldn't Leave Be |
|
![]() ![]() |
|
|
![]() |
Just write "Tensai Bakabon" under the logo. | |
![]() ![]() ![]() |
|
|
![]() |
The point is, it's a translation. Translations often leave "burned-in" text because it's hard to modify; that's why I want to do it. So there will not be Japanese text on the title screen. I can see the argument to have it say "Tensai Bakabon", because that's what we know the game as, but to not attempt to convey the meaning of the title seems lazy. | |
![]() ![]() ![]() |
|
|
![]() |
Note that the official "The Genius Bakabon" although is an half-translation by itself. I don't mind having a subtitles.
Translation could come packaged with a little text file describing some of the difficult to convey information (or just funny trivia information). The theoritical localization process as they would have done it back in the days would have to change many of the objects and location names, perhaps even partly reskinning the game. We are kind of elitist players who only want to be able to play and understand the game but keep it as close as the original. Based on this it's not too bad to keep Tensai Bakabon as the name. Btw for trivia I own an US shaped cartridge of this, which I guess was sent to Sega of America for release evaluation. And as it happened they rejected it. |
|
![]() ![]() ![]() |
|
|
![]() |
Tensai: (n) genius, prodigy, natural gift, (P) "Bakabon the Genius" "Bakabon the Prodigal Son" "Young Bakabon" "Bakabon the Prodigy" "Bakabon the Child Prodigy" |
|
![]() ![]() ![]() |
|
|
![]() |
Youre thinking too much into it. The word `tensai` in this sense is taking the piss, because the main character is a complete moron. `Tensai Bakadon` comes out something like `The stupidly clever bon` in English. The `bon` part itself is most likely derived from 凡 `bon` which is Japanese for `Joe Blow` (as in 凡人 `bonjin` which means `A nobody`). So if we put it all together we get `The stupidly clever Joe Blow idiot monkey apple carbuerator`. There are times when it`s best not think into it too much and just go with what we have, ie. The original title |
|
![]() ![]() |
|
|
![]() |
Baka: fool (an,id), foolish, idiot, trivial matter Hence the dilemma. Here are some existing translations the manga/anime has had over the years: (The) Genius Bakabon Bakabon the Foolish Genius Bakabon the Idiot Genius Meet the Boneheads (The) Genius Idiot As the officially unofficial not-working-on-this-project person who wants to make the title screen: I choose to have Tensai Bakabon as the main title (to be drawn in a matching way to the existing title, the style of which seems to be standard for the cartoon), and "The Foolish Genius" as a subtitle. Hence "Tensai Bakabon" is taken as a nickname + real name, and the subtitle is conveying the overall meaning, as well as matching what seems to be the most common existing translation. Here's an existing hack of a NES game (not identical) that went with "The Genius Bakabon". As I understand it, part of the (initial) story of the cartoon is that Bakabon was a gifted child but has become increasingly foolish. However, over the years the focus shifted to his father (Papa), who is the central character of the game. So the title isn't even that relevant to what happens. |
|
![]() ![]() ![]() |
|
|
![]() |
So I have been getting into the translation a bit, while playing it as well `just to make sure I do it right`
I havent done a whole lot, but I have done a reasonable chunk, I dont think it is going to take me as long as I thought Howere there is a rather interesting problem with the text in the game itself, that is, there is some really, seriously foul language in some of the coversations. In the part I am translating at the moment, a guy tells Bakabon to `Shut up, piss of home and get fucked`. I am a little suprised Suggestions on what to do or how I should go about wording such obscenities in English? |
|
![]() ![]() |
|
|
![]() |
To me that sounds inline with the comedic nature of the game (however this is slightly biased as language like that is part of aussie lifestyle).
The problem is there are plenty of ways you could 'nicely' word such a phrase, but none that would preserve the context of the conversation. |
|
![]() ![]() |
|
|
![]() |
Can you post the Japanese? | |
![]() ![]() ![]() |
|
|
![]() |
Sorry this is late but my computer threw a fit and refused to work (meaning I havent been able to work on it much lately)
Anyway here are some lines from the game うっるせー! とっとと うせな! Shut up and fuck off already! いたいめに あいたいらしいな! Looks like you want a hiding doesnt it? オラオラー! ここは おめえなんかのくるところし゛ゃねえんた゛。 かえれ かえれ。 Oi, oi! This isnt the kind of place for shit heads like you Piss off home You get what im saying? Im thinking that because there will not be a whole lot of children that will ever play this game, leave all te cuss words in should be ok, and a whole lot more hilarious |
|
![]() ![]() |
|
|
![]() |
I am wondering, what level of offensiveness that would be in Japan?
I've seen other (fan) translations go that route, but official (authentic?) translations would be toning it down a bit. e.g piss off / get lost |
|
![]() ![]() |
|
|
![]() |
Disclaimer: I'm no Japanese speaker, my east Asian linguistics lie somewhat further west than Japan.
かえれ かえれ。 かえれ = "get out/go home" Saying something twice = emphasis So where's the "piss off"? |
|
![]() ![]() ![]() |
|
|
![]() |
The anime this game was based on is currently airing on the Indian "Hungama TV", a channel owned by Disney International.
http://www.hungamatv.com/ |
|
![]() ![]() |
|
|
![]() |
Its quite offensive, the Japanese language itself actually has very few swear words, `swearing` in Japanese comes down to the level of politeness used in ones speach and also depends on the context and situation. Official translations need to be family friendly to advoid age restrictions which in turn will restrict sales. Its big business baby. The weird thing I have found living here in Japan is that `swearing` (nudity, sex and graphic violence also) is common in television shows, video games and comics, even those aimed at children and teenagers. Which brings up another little niggle. It maybe normal in Japan, but how normal is it in the English speaking world. Would an honest translation of such swearing seem odd in a game like this?
The `piss off` is in the context of what is being said here. かえれ (kaere) is the imperitive command form of the verb かえる (kaeru) which means to go home. Depending on who is saying it, the situation, context and intonation it can mean anything from `You may leave` right through to `Get the fuck out of my sight`. In this case a gangster is saying it twice to some moron who just barged into his hideout, so it would most likely carry a strong, offensive meaning and tone to it.
This doesnt suprise me. Ever seen an episode of Dragon Ball Z? Those dudes curse a blue streak in Japanese. Of course the translations and voice overs are toned down for a general audience. Once a company has bought the rights to an anime they can pretty much do what ever they want in the way of dialouge. |
|
![]() ![]() |
|
|
![]() |
Hi everybody. Long time, no post. :)
I've worked on a few translations myself, so I'll jump in here and lend a hand.
True. The concept of "bad words" is kind of foreign in Japan. There are only two words that I know of that actually ever get censored in Japanese media (both are vulgar names for genitalia). Also, not showing proper respect is often considered offensive in Japanese culture. So, the most offensive language in Japanese is probably that which shows the least respect for the person at whom the language is directed.
This is true to a point, although nudity is rarely shown during family viewing hours. One of my local stations shows a lot of uncut American movies in Hi-Def late night on weekends. :)
I'd recommend not using swear words. Tensai Bakabon is aimed at a general audience, so any attempt to localize it should capture that spirit. Then again, the standards for what is acceptable for a general audience in Japan is a little different than in other countries. Case in point, as I was typing the preceding paragraph, I glanced up at my TV screen and saw some Japanese kids burying their older brother in the sand at the beach, and they had erected (pun intended) a penis on top of his crotch. And this is in the middle of the afternoon :| But anyway, I still recommend you avoid swear words.
You can capture the tone without using swear words, though. A simple "get outta here" is just fine. Considering the context, "piss off" is also fine, though. Anyway, I think that resorting to swear words basically amounts to taking the easy way out (no offense). I remember wanting to add swear words to the translations I worked on because at the time I thought is would make them seem more "grown up" (in hindsight, this was probably a reaction to the sometimes extreme censorship present in the games I grew up with). I'm no puritan by any means, so I'm not against swearing in general, but I think it's important to capture tone, but also keep the (original) target audience in mind. Since Tensai Bakabon is really family-oriented entertainment (and thus likely wouldn't offend the average Japanese person), IMO, the English localization should at least attempt to not offend the average speaker of English. More importantly, how are you going to capture the main character's signature use of no da at the end of nearly every sentence he utters? :) |
|
![]() ![]() ![]() |
|
|
![]() |
Thanks Paul, that was pretty much the answer I was looking for
As for the no da at the end of almost every sentence, well, I havent quite figured it what decent Englis evquivelent would be yet, any ideas? . |
|
![]() ![]() |
|
|
![]() |
Well what is the general idea or expression of no da? to what purpose is it used? | |
![]() ![]() |
![]() |
Goto page 1, 2 Next |