Skip to content

Krokodyl/dokapon-english

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of content

  1. Introduction
  2. The English patch file
    Translations
    Special characters
    Variables
    Menus
  3. Know bugs / Improvements
    Fixes
    Missing translations
    Screenshots
    BPS Patcher
  4. Tips and Hints
    Scenario mode
    Locations
    Special chests
    Dokapon Ring
    Sky Palace
    Quizz

Dokapon 3-2-1 - English

This project is a Java program that generates a translation file (.bps) for the Super Famicom video game
Dokapon 3-2-1: Arashi o Yobu Yuujou (ドカポン3・2・1 〜嵐を呼ぶ友情〜) released in 1994.

This is a work in progress
Feel free to fork it, share it, improve it.
You're welcome to report any bugs or issues

Dokapon 3-2-1 is the second Dokapon game for the Super Famicom. Like its predecessor, it follows a group of ragtag RPG heroes across a board game-like map as they attempt to outmaneuver each other and be the first to save the kingdom. Characters move around determinant on dice rolls and can acquire items and treasure depending on where they land. They can also get into fights with random monsters to gain experience points and increase their stats, though being defeated will cause them to lose a turn.

A remake for the Wii and PS2 was released in 2008.

The English patch file (v1.4)

January 2023 Update - v1.4

Patch file v1.4 is available here : Dokapon 3-2-1 English v1.4.zip
New wiki: https://github.com/Krokodyl/dokapon-english/wiki

Previous patches

Patch v1.3 : Dokapon 3-2-1 English v1.3.zip
Patch v1.2 : Dokapon 3-2-1 English v1.2.zip

Also available on romhacking.net https://www.romhacking.net/translations/5561/

It applies to the following ROM :
File: Dokapon 3-2-1 - Arashi o Yobu Yuujou (Japan)
No-Intro: Super Nintendo Entertainment System (v. 20180813-062835)
ROM SHA-1: 9343CA8D3161DEA847E0369A4A91CD7F8DC2D3AE
ROM CRC32: FC353400

Japanese rom size : 1.5 Mb (1 572 864 bytes)
Patched rom size : 2.0 Mb (2 097 152 bytes)

Disclaimer

Update v1.3 (Translated sprites & backgrounds)

Japanese English
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01 image 01
image 01
image 01
image 01
image 01
image 01

How to generate the patch yourself

Requirements

  • git
  • Java 7 or above
  • Maven
  • The original japanese ROM of the game (not provided here)

Compile & Execute

  1. git clone dokapon-gen

  2. Edit src/main/resources/config.json with the location of the ROM

"config": {
    "rom-input" : "../roms/Dokapon 3-2-1 - Arashi wo Yobu Yujo (J).smc",
    "rom-output" : "../roms/Dokapon 3-2-1 - English.smc",
    "bps-patch-output": "../roms/Dokapon 3-2-1 - English.bps",
    "file.jap" : "tables/table-complete.txt",
    "file.latin" : "tables/table-latin.txt",
    "file.names" : "tables/table-names.txt"
  }
  1. Copy the ROM in the folder you defined in "rom-input" (by default ../roms)

  2. Compile

dokapon-gen git:(master) ✗ mvn clean install
  1. Execute
dokapon-gen git:(master) ✗ java -jar ./target/Dokapon-1.0-jar-with-dependencies.jar
Loading config
rom-input=../roms/Dokapon 3-2-1 - Arashi wo Yobu Yujo (J).smc
rom-output=../roms/Dokapon 3-2-1 - English.smc
bps-patch-output=../roms/Dokapon 3-2-1 - English.bps
Saving rom-output...
Saving bps-patch-output...
Process complete

Translations

Many translations are inspired by the Wii remake from 2008. Such as the character names, the items and magic names, the chapter titles, etc.

The town names, unlike in the Wii version, are actual city names. But because the city names in Japanese fit on 4 characters, I added two-letter characters in order to be able to write 8-letter city names. The city names that were longer than 8 letters are replaced with shorter names from other actual cities of the same area.

The two-letter characters are also used for some of the equipment names but due to the way the characters are encoded in the game, there's only so many that can be used.

Japanese English
image 012 image 000
image 000

How to help improve the translations

The translations are split into 6 files (matching the 6 data banks of the rom). For practical reasons, there's no table 3.

File Translations Comment
Table 1 131
Table 2 139 Contains menus
Table 4 256
Table 5 208
Table 6 20 Contains all the names (items, magic, towns, monsters etc.)
Table 7 418

Example of a translation entry

OFFSET=15066
VALUE=f590(90f5)
OFFSETDATA=17590
DATA=8000 4c00 4f00 9600 0700 0200 1e00 2c00 0200 2200 1400 b900 0030 2400 1c00 4400 4a00 7401 1400 0600 4e01 4b00 2200 8101 1000 0200 b400 ffff
JAP=ファイルがいっぱいです!{NL}どちらを消すか選んで下さい.{EL}
ENG=No empty save file!{NL}Please choose one to erase.{EL}

Special characters

  • The characters between {} are not printed in game, unless they match a special code.
  • A translation must always end with {EL} (EL for End of Line)
  • A translation must be segmented by line breaks with {NL} (NL for New Line).
  • A segment cannot be longer than 30 printed characters.
  • Table 6 doesn't use {EL} because the names have a fixed size (8 for the items, 8 for the armor/weapons/shields including the icon, 6 for the castles, 9 for the continents, etc.)
Special code In game
{NL} Line break
{EL} End of line
{CW} Set text color to white (default)
{CR} Set text color to red
{CY} Set text color to yellow
{CG} Set text color to green
{CB} Set text color to blue
{SHIELD} Shield icon
{WEAP} Weapon icon
{ARMOR} Weapon icon
{BUT} Button icon

Variables

Many translations contain variables (player name, gold amount, health points etc) which are usually represented by two codes (e.g. {8014 5985} is current player name) These are 2-character long in the data but can go from 2 (monster level) to 9 (gold amount) printed characters. These codes are listed (not all) under "special" in config.json and used to calculate the length of a given translation to make sure they don't go over 30 printed characters. This list is not exhaustive. It can be shown when calling DataReader.collectSpecialChars from the main class.

Menus

Table 2 contains menus. Each entry has an extra field MENUDATA

MENUDATA=1107 0d05
ENG=Resume{NL}Scenario mode{NL}Normal mode{NL}Battle Royale{NL}Quizz{EL}

MENUDATA represents the coordinates (x,y) and the dimensions (width,height) of the menu. 1107 0d05 means the menu is at 16,7 with width 13 and height 5 The top left coordinates 0,0. The width unit is a character width. (Screen width is 30) The height unit is half a character height. (Screen height is 25)

I wrote a function DataReader.checkMenuData to check if a menu is out of bound but it needs testing.

Know bugs / Improvements

  • Yes/No questions are sometimes hidden under the Yes/No menu

Fixes

v1.4 (January 2023)

  • New wiki for the translated game: https://github.com/Krokodyl/dokapon-english/wiki/
  • Better compression algorithm
  • Translations rewritten (about 200)
  • Renamed Magic (to match the visuals): Blaze, Shock, Frost, Rust, Berserk, Seize, Bounce, Mirror
  • Renamed Items: Detector
  • Fixed many menus where Yes/No was overlapping text
  • Updated fonts
  • Fixed "ghost" values next to the continent names in the town list
  • Side-by-side comparison shows that the long AI decision-making is inherent to the game. (The worst situation is an AI using spinners when Asia, Europe, NA, Africa and Greenland are all open) This is due to the path finding algorithm.

v1.3 (March 2022)

  • Improvement : Translated the quote after the logo
  • Improvement : Translated the introduction texts
  • Improvement : Translated the town names on the map
  • Fix : Move the AI menu to the left to show full words instead of Wea, Nor, Har
  • Fix : When using Look on a square with 2 or more characters, only shows 1st char.
  • Changes :
  • Dakar -> Bamako
  • Bamako -> Niamey
  • Ciuaba -> Manaus
  • Lynton -> Auckland
  • Weak AI -> Easy AI

v1.2 (February 2022)

  • Fixed the ranking table for 3 and 4 players
  • In the menus, differentiate Towns and Castles
  • Fixed menu size when talking with Risque
  • Bug on menu after a player escapes another player
  • Text too long when using a revival after a loss
  • Text correction in the casino.
  • Translation for MOSK8: Sap (Gremlin skill that reduces the target's magic count)
  • Translation for MOSK2: Steal (Gnome skill that takes 25% of the target's gold)
  • Translation for Item8: Doka.Orb
  • Translation for MOSK11: Twister (かまいたち Kamaitachi, a wind yokai)

v1.1 (April 2021)

  • Bad translation: "Who will play together"
  • Typo: "Knifes"
  • Bug on the Kill Race starting level
  • Menu after a player kill is not wide enough
  • Bug on the rename screen (after a player kill)

Missing translations

The whole game is translated.

Screenshots

Japanese English
image 000 image 000
image 000 image 001
image 000 image 002
image 000 image 003
image 000 image 004
image 000 image 005
image 000 image 006
image 000 image 010
image 000 image 011

BPS Patcher

I could not find an open-source Java BPS patch generator so I made one.
It's under /dokapon-gen/src/main/java/dokapon/bps
It's still experimental and is not very well optimized but it seems to work.

Tips and Hints

Story mode

See wiki: https://github.com/Krokodyl/dokapon-english/wiki/Game-modes#story-mode

Locations

Special location Access
Spring Cave Asia
Casino Cave Europe
Lava Cave North America
Lost Forest North America
South America
Freaky Mountain South America
Sea Temple South America
Ruins Africa
Underground Passage Africa
Australia
Rabble Tower Australia
Sky Palace Freaky Mountain
(requires Wings)
Hell
Devil's Castle
Last chapter in scenario mode

Special chests

See wiki: https://github.com/Krokodyl/dokapon-english/wiki/Spaces#special-chests

Dokapon Ring

Taking the three rings (Onyx Ring, Ruby Ring and Jade Ring) to the castle will merge them into one ring (Dokapon Ring). AFAIK, the Dokapon Ring only has the combine effects of the three rings but it only uses one inventory slot.

Sky Palace

Beating Rico Jr. (random spawn in some dungeons, or fixed spawn in story mode) will give you the item [Wings]. Going to the top of the Freaky Mountain (in South America), with the Wings will take you to the Sky Palace. The Sky Palace is a place with many blue, yellow and white chests and one special chest.

Quizz

See wiki: https://github.com/Krokodyl/dokapon-english/wiki/Game-modes#quiz

Hidden message

In the middle of the South Atlantic ocean, there's a tree on an island. Examine it for the credit roll of the dev team.

About

English translation of SNES game Dokapon 3・2・1 – Arashi o Yobu Yuujou

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published