Great choice! Monkey Island 1 (The Secret of Monkey Island) uses the SCUMM engine (v5) and has well-established tooling. The Talkie CD version adds voice acting, which you'd keep while translating text. Overview You'll need to:
- Extract text strings from game data
- Translate to Vietnamese
- Create/modify fonts to support Vietnamese characters
- Repack the game data
- Test with ScummVM Tools You'll Need | Tool | Purpose | |------|---------| | ScummTR | Extract/inject text strings | | ScummRP | Extract/repack game resources | | ScummFont | Extract/modify bitmap fonts | | Hex editor | For advanced fixes | | Image editor (GIMP) | Edit font bitmaps | Get ScummTR/ScummRP from: https://github.com/dwatteau/scern Step-by-Step Process
- Backup Original Files mkdir ~/monkey1-backup cp -r /path/to/monkey1/*.{000,001,lfl,LEC} ~/monkey1-backup/ The key files are typically:
- MONKEY.000, MONKEY.001 (or similar) - main data files
- MONKEY.LFL - resource index
- Extract Text Strings
scummtr -g monkey1 -p /path/to/game -l
scummtr -g monkey1 -p /path/to/game -o monkey1_strings.txt This creates a file with all in-game text like:
Look at that ship!
I want to be a pirate! 3. Translate the Text Edit monkey1_strings.txt:
Tôi muốn trở thành cướp biển! Important considerations:
- Keep the comment lines (starting with #) unchanged
- Watch for string length - some have hard limits
- Preserve any special formatting codes (e.g., \n, \xFF)
- Handle Vietnamese Fonts (The Hard Part) SCUMM games use bitmap fonts stored in the game data. The original fonts don't have Vietnamese characters. Option A: Modify Existing Font
scummrp -g monkey1 -p /path/to/game -o resources/
Option B: Character Substitution (Easier but Limited) Map Vietnamese characters to unused slots in the character set. Create a mapping like:
| Vietnamese | Maps to (hex) |
|---|---|
| ă | 0x80 |
| â | 0x81 |
| đ | 0x82 |
| ... | ... |
| Then modify your translation to use these codes and edit the font bitmap to show the correct glyphs at those positions. | |
| Option C: Use ScummVM's Font Override | |
| ScummVM has some support for GUI font replacement. Check: | |
| scummvm --help | |
| Look for font-related options, though this may not affect in-game text. |
- Vietnamese Character Challenges Vietnamese needs:
- Base vowels: a, ă, â, e, ê, i, o, ô, ơ, u, ư, y
- Consonant: đ
- 5 tone marks that combine with vowels You'll likely need to use precomposed characters (ầ, ấ, ẩ, etc.) rather than combining marks, as SCUMM doesn't support Unicode combining characters. Total characters needed: ~130+ Vietnamese-specific glyphs
- Inject Translated Text scummtr -g monkey1 -p /path/to/game -i monkey1_strings_vi.txt
- Repack Resources (if fonts modified) scummrp -g monkey1 -p /path/to/game -i resources/
- Test with ScummVM scummvm --path=/path/to/game monkey1 Test thoroughly:
- All dialogues
- Inventory item names
- Verb interface (Open, Close, Pick up, etc.)
- Signs and readable objects Practical Recommendations
- Start with the verb interface - Translate the 12 verbs first as a proof of concept
- Font work is 60% of the effort - Get Vietnamese fonts working before translating everything
- Join ScummVM Discord/Forums - The community has experience with translations
- Look at existing translations - Spanish, German, French translations exist; study their approach
- Consider a subset first - Maybe start with just the demo version Existing Resources Check if partial work exists:
- ScummVM forums: https://forums.scummvm.org/
- GitHub searches for "monkey island translation"
- Vietnamese gaming communities Would you like me to dive deeper into any specific step, particularly the font creation process?