Tenchi o Kurau II: Sekiheki no Tatakai Translation Project (Warriors of Fate/Dynasty Wars II)

Tenchi o Kurau II: Sekiheki no Tatakai Translation Project (Warriors of Fate/Dynasty Wars II)​

I've begun work on translating the Saturn version of Tenchi o Kurau II: Sekiheki no Tatakai.

This is Capcom's 1992 beat 'em up, originally released in arcades and later ported to both the Sega Saturn and PlayStation. Neither console version was ever released outside Japan. It is one of only a few beat em ups on the platform. The game is very solid and deserves to be fully playable in english.

The game is based on the Chinese classic Romance of the Three Kingdoms, one of the Four Great Classical Novels of Chinese literature. Although largely unfamiliar to Western audiences, it is deeply embedded in East Asian culture and is also well known in Japan, where Chinese literary traditions and writing systems were adopted and adapted over the centuries. The story's cultural status is somewhat comparable to Greek mythology in the West: a body of stories that everyone knows in some form and which has inspired countless retellings and interpretations.

Tenchi wo Kurau II focuses on Liu Bei and five of his generals: Guan Yu, Zhang Fei, Zhao Yun, Huang Zhong, and Wei Yan, as they struggle against the forces of Cao Cao during the Three Kingdoms era. The game only depicts a small portion of the enormous original novel, which spans well over a thousand pages.

Many people outside Japan know the game through its Western arcade release, Warriors of Fate. However, that localization stripped away all of its Three Kingdoms identity. Character names were changed and the storyline was altered. Liu Bei became "Kuan Ti", Cao Cao became "Akkila Orkhan", and the generals were renamed Portor, Kassar, Subutai, Kadan, and Abaka. The back story was changed: in the original story, Liu Bei defends his realm from Cao Cao's invasion, whereas in Warriors of Fate the player is fighting to liberate some kingdom already under the villain's control.

Tenchi o Kurau II is also a direct sequel to the first game in the series, Tenchi wo Kurau, which was localized in the West as Dynasty Wars and released on several home computers including the ZX Spectrum, Amiga, Atari ST, Commodore 64, and Amstrad CPC. Unlike Warriors of Fate, those releases retained the connection to Romance of the Three Kingdoms, making the title "Dynasty Wars II" arguably the natural continuation.

This creates an awkward situation with three possible naming choices for the translation:
  • Devouring Heaven and Earth II: Battle of Red Cliffs (literal translation)
  • Dynasty Wars II
  • Warriors of Fate
At the moment I'm split between Dynasty Wars II and Warriors of Fate. The former preserves the connection with the first game's Western releases and the Chinese back story (although it is itself a localized title). "Devouring Heaven and Earth II: Battle of Red Cliffs" is rather unwieldy, and "Warriors of Fate" only really makes sense if I was trying to mirror the NA arcade localization, including all of its flaws and loss of its real story, which I don't see much reason to do.

Current Progress​

Text and Encoding​

  • Text encoding formats have been identified.
  • I've gained control over both the 16×16 and 8×8 fonts.
  • The game can be made to display multiple text boxes in succession, allowing dialogue to be expanded beyond the original limits.
  • All game text has been located and extracted.
I've produced proof-of-concept modifications for most major assets and text areas. The game normally uses 16x16 font shown here.

1.png


Proof of concept using 8x8 font
4.png


Issues​

One issue that still needs solving is the text display timing. Each dialogue box remains on screen for only about 2.4 seconds, which severely limits readability using the 8x8 font. This problem also exists in the English arcade version, where much of the dialogue disappears before it can ever be read. The game can technically display much more text using the 8×8 font, but the usability of the 8x8 font is severely compromised by the static timing of the messages.

The English arcade version asks you to read this in no more than 2.4 seconds. I can only make it about half way in that time when making a real effort to read fast.

3.png
 
Last edited:
Update and documentation

Cleaning the remaining Japanese out of the game.


My first goal has been to clean the residual Japanese out of the game. Several menus in the game contain a lot of English, however there are some weird things that need cleaning up as well as residual Japanese signs throughout the menus and game interface.

This has been somewhat straight forward as the game renders much of its text on VDP2 and uses one single two byte text encoding shared for the 16x16 font and 8x8 font. This means no reverse engineering is needed to move from 16x16 to 8x8 tiles. Most text strings begin with six bytes for formatting that defines string read length as well as text location on screen in horizontal and vertical coordinates, mirroring the text and sets the 4bpp pallet.

However, some strings are defined differently, without the bytes for changing the text settings. In those instances I sometimes had to do more intricate custom tile work to get by.

Game engine

First up were the japanese signs present in the game-engine itself. The names of the characters, enemies and items are given in japanese as well as their romanized japanese equivalents. These names are however different from the english translation of the original chinese names. I removed the japanese 16x16 tiles, and reworked all the names into the actual chinese names as they are translatet into english. For example the game used RI-TEN for the character LI DIAN. These 115 strings were all in one single block in the binary and one long pointer table, which was suitable for making a tool that ment I did not need to make manual adjustments in the binary but could generate both the offset table and the encoded names through a toolchain.
1.png
2.png



Settings menu
One instance where it was not as straight forward was dealing with the main menu settings tab. This is not rendered on VDP2 like almost all other text in the game, but is some form of VDP1 overlay. Also these VDP1 graphics had no direct sources in the binary like in my last “daisenryaku project”.Instead it seems the game only loads the tiles the game calls for into ram (generates a command table), and then reads the tiles from that limited set of the alphabet, rather than an entire font file

This menu contains one clear eyesore. The desperation attachkon button C was called “EXTRA JOY”.

After several failed attempts, I found the data in ram and tracked it to the binary by comparing dumps of the high rom space with and without the overlay open, flagging the areas that differed, and sequentially blanking them until I found the right location. When I found the bytes coding the text, the encoding itself was a trivial matter to figure out. I got It changed to “SPECIAL”. In this case I cannot write anything longer than the original text, but the game allows me to manipulate the string.

dssdds.png
ssss.png


Character screen

The character selection screen neither lets me alter the length of the strings (two 16x16tiles each), nor their lociation on screen. That information is stored somewhere else than the strings themselves or their pointers, and I have not discovered where. For now the solution is custom tile work that creates the illusion of a white only pallet version of the 8x8 font.

Nyt bitmapbillede (2)asd.png
dddds.png



Main menu graphic.

I don’t really know what to do about the main menu graphic. It is using two 4bpp pallets and is rendered on VDP 2 in 8x8 tiles. I can manipulate it and replace it if I decided to. However I still have not decided if it’s best to keep the original, or produce a replacement with an English game title by melding "Dynasty Wars" into the old graphical elements.

Nyt bitmapbillede (3)asddadsasddsss.png




Score count

The score count after each finished scenario also contained japanese signs. The 8x8 layout here was borrowed from warriors of fate. This also involved custom tile work as well.

Nyt bitmapbillede (3)asd.png
Nyt bitmapbillede (3)asddadsasdds.png


Intro

This is one of the first screens that appear when waiting at startup of the game, and is unfortunately the only page in the game where the 8x8 font is not availiable. This means this is the only place in the game where I remain strapped for space on screen and stuck on the 16x16 font. Because of this I did a preliminary translation of the story screens using the original 16x16 in-game english font which only exists in capital letters. This preliminary text cuts flavor text, and i would really like to see these pages in 8x8 text giving 420 letters per page rather than the current 105 letters. Thankfully this limitation does not affect the rest of the game.

Nyt bitmapbillede (3)asddadsasddssssss.png
adsasdsaddas.png



Making space for an english script.

The data encoding the original Japanese dialogue uses 4300bytes. The main game file 1.BIN has several large empty sections. Some of this space is not suitable to be used to store text, as the location in ram where payloads get written to, might to get overwritten at unknown points during gameplay. However I have located an additional 19000 bytes of space that seems genuinely unused, meaning I now have more than five times as much space as the original script used. This makes me confident that I can fit a full uncompromised english translation into the game, even though I will be using the original 2 byte encoding.

If possible I would also like to add the name of the person speaking along with the dialog. The Japanese release relies entirely on the character image being showed during the dialog. For english players the name would be beneficial, as it would help learning the characters that for most are not known in advance.

Current status

I have extracted the entire game script and all the remaining text and started builiding tools that can be used to inject a translation. I have left all full length japanese strings except for the intro screen untouched, hoping I can find a translator to work at it. My next post will describe the translation task in detail.

All the remaining text is concentrated in two pointer tables. The game dialog is all in one of them, that is a complete mess, but I have made a tool that can deal with that. All other game text text such as the name of the scenarios, prompts during gameplay and end screens are in the second one. This means there is not that much more work to do on the reverse engineering side except improvements where I feel they are needed, the rest is mostly translation.
 
Last edited:
Translator Needed

I'm looking for a Japanese-to-English translator for this arcade beat-'em-up game project.

The script is very limited in size. As this is an arcade action game, gameplay was prioritized over lengthy dialogue. The game contains approximately 55 dialogue entries comprising 124 lines (17 signs maximum length), with a total of 1,449 Japanese characters.

In addition, there are some story and ending texts outside normal gameplay, adding a further 53 lines and roughly 780 characters.

Altogether, the project contains around 2,300 Japanese characters, making it a very small translation task compared to most RPGs or visual novels. I would guess we are talking about somewhere around 1000 english words.

Because the script is so short, I am hopeful that the final release can be translated entirely by a human translator rather than relying on machine translation.

Here is a sample of the game's dialogue:

Player:
劉備様 阿斗様はおまもりしたの
ですが奥方様は井戸に...

Liu Bei:
すまぬ すぐれた将をうしなうところ
であつた。

Player:
さあ
敵のこないうちに逃げましよう。
CaoCao:

にげるか劉備 こしぬけめ。

Player:
やかましい!
おれ様があいてしてやる。

If you are interested in helping with the translation, please send me a private message or find me on the discord server. I imagine this project may appeal to someone looking for a manageable translation task rather than a large, long-term commitment, or to an experienced translator who could fit a smaller project in between other work.
 
Last edited:
Back
Top