The tech corner
Fan translations and other tools
Stating the obvious
Emulation is a legal grey area. Downloading ISOs from the internet instead of dumping them yourself from copies you bought is not (it's illegal). The authors of the tools and patches listed below went to great pain to thread the needle by making them functional only from existing ISOs. Understand why that is: if you ask me for help, you'll get a primer in running bash scripts, not a convenient download. See also:
Eternal Wings (GameCube)
Undub patches are not uncommon, and the... uniqueness of the voicework in Eternal Wings certainly motivated someone to make one of those. Courtesy of delroth, you can use bk-undub to create a version of the game that has Japanese voices but English text. Notes:
- Must be used on US ISOs. It will not work with PAL.
- I've successfully ran the tool on Mac OS and Windows via WSL.
- Save files will be compatible with a regular US ISO, but emulator save states will not.
- There are anecdotal reports of crashes and bugs later in the game. I have not tested this myself.
Relevant twitter threads of mine:
- Getting bk-undub working on Mac.
- Testing compatibility of save states and save files.
- Getting it working on Windows and getting it crashing on PAL.
Origins (GameCube)
While Eternal Wings was released in a whole bunch of languages, Origins never made it to Europe and so the only available translation is in English. There are however fan translations available. Note that I play in English myself and so have no idea what the quality of those is like.
- French, by Atelier Traduction and MYTH-Project: French fan translation.
- (RyleFury, if you somehow read this, please send me an email, we need to talk about compression algorithms and assembly code)
- Spanish, by Gadesx Scene: Spanish fan translation.
- See also alternate info page.
- Thanks to BatenPosting for the tip.
- Anecdotally, them crediting the French team for tools is how I learned about the French fan translation.
- German, by Helsionium: German fan translation.
- Thanks to Exchord for the tip.
HD Remaster
The HD Remaster shipped with English voices only. Despite Eternal Wings' English voices being what they are, they hold a significant nostalgia factor and many were sorry to see them go. Additionally, the English voicework in Origins is genuinely excellent. And so this time, what's available is a redub patch, that additionally undoes some of the goofier text changes such as turning the beer into "wheat tea". Helsionium is once more to credit for this one.
The GameCube's a cool console
No, really, the GameCube's a cool console. Nowadays console architectures are fairly similar to what you find on a computer (or a mobile phone, for the Switch). But back in the days, things were much weirder.
Dolphin, being an emulator, is therefore tackling the fun problem of figuring out exactly what was going on in that adorable box. The result is that the Dolphin devblog is a fantastic place to start learning about how things work. Some of the blog posts I've found especially interesting:
- EFB versus XFB in Dolphin.
- EFB access from CPU, somewhat comparable to modern occlusion queries and framebuffer readbacks.
- How Dolphin now emulates the very special Gamecube GPU.
Other resources about the beast:
- GameCube architecture overview by Rodrigo Copetti.
- Detailed hardware study from AnandTech, notably with lots of details about the RAM choices.
Eternal Wings, "Graphics programmers can't play games normally" edition
One problem with getting into graphics programming is that it fucks up your eyes. By which I mean, you train yourself to see things differently - it's part of the job to spot glitches or quirks typical of a given technique. Best part? It's contagious! Rant aloud about shadows not being occluded properly enough times, and the person whose game you were watching and commenting on will also start wasting entire minutes squinting at pixels. It's very funny.
Said sharp eyes resulted in my Eternal Wings playthrough being interrupted by a lot of "AHA". Links to all those remarks are archived here so I have them somewhere to check on a newer version of the emulator or something.
- Emulator only:
- Bad masking, Goldoba control room screen.
- Bad masking, Detourne.
- Bad masking, Reverence.
- Bad masking, Goldoba.
- Bad masking, Lava Caves.
- This one is infamous. There is even a dedicated Lava Caves Glitch thread on the Dolphin forum from years ago.
- And even a dedicated Lava Caves test case in the Dolphin graphics CI. (That's automated tests, for the non-techies. CI means continuous integration.)
- There is a pull request to fix it that looked absolutely nightmarish, splash-radius-wise.
- The PR has since been closed and the tests look green in CI so this needs re-testing on a more recent version of Dolphin.
- Bad masking, Imperial Fortress.
- Bad masking, Greater Celestial River.
- Incorrect final blit, Coccolith.
- Confirmed on original hardware:
- Unknown:
Poking at it all in RenderDoc
RenderDoc is a fantastic free graphics debugger that allows you to see how things are rendered. I shared a bit of the process on Twitter, but those threads aren't in the archive yet. Note that the Twitter threads are purposefully kept non-graphics-programmer friendly: I deeply believe in demystifying our craft.
- RenderDoc 101, depth buffer.
- Greythorne colors, snow and sand, reflections, Detourne cubes, masking.
- Trying to extract a Greythorne mesh.
- What shape are those petals anyway? Plus weird post-processing effects ordering.
- A quick look at a combat scene, ft. Cursed Hell Turtle.
- The Greythorne model viewer and the related Twitter thread.
- The underwater effects are achieved by rendering things twice, once in transparent blue and once opaque as normal likely using the water plane and depth testing for masking.