Setting Up a Bomberman Fantasy Race Mod: What Actually Works
The Bomberman Fantasy Race series (Bomberman 64, B-Daman crossfire mechanics, and the racing spinoffs) has a dedicated modding community, but finding clear documentation is frustrating. I spent about three weeks reverse-engineering how these mods actually load and interact with the base game files. Here is what I learned, including the gotchas nobody talks about.
What Is bomberman fantasy race Modding?
At its core, the bomberman fantasy race modding scene revolves around tweaking character models, track geometry, and item physics in the N64 original and its ported versions. Most mods are created for the PC-based emulators like Project64 or RetroArch, since they give you direct file access. The fantasy race elements—characters racing on customized tracks with power-ups—add complexity because the game's engine mixes fighting and driving mechanics in ways that aren't obvious until you dig into the code. I've seen beginners try to swap out character models without adjusting collision data. The result is usually a character clipping through walls or floating above the track. This happens because each model has hardcoded mesh bounds that don't automatically update when you replace the file. You need to edit the associated collision polygons separately, which means working with the raw .bin or .dat files from the game dump.
The Tools You Actually Need
Don't bother with generic N64 modding suites unless you want to waste an afternoon. The tools that matter are specific: N64ROM toolkit for unpacking the game data. This extracts the texture files, model meshes, and track layouts into readable formats. The version most people use is the 2018 fork, which handles the Fantasy Race data structures correctly.
Blender with the N64 import plugin for editing models. The default plugins choke on the compressed vertex data in these particular files. You need the custom N64 model exporter that preserves the original vertex order, otherwise the textures unwrap incorrectly and your characters look like stretched polygons. Hex editor for the tricky bits. Collision data, item spawn points, and lap counter logic live in binary sections that no GUI tool touches. HxD or xxd works fine. This is where most tutorials stop being helpful because they don't explain the offset mapping.
I'll be honest about the learning curve. If you have never touched hex editors or N64 ROM structuring, expect to spend about forty to fifty hours before your first mod actually launches without crashing. Not because the process is complicated, but because the documentation is scattered across old Japanese forums, English translation sites, and GitHub repos that haven't been updated since 2019.
A Practical Walkthrough: Adding a Custom Character
Here is how I approached my first successful character swap for the fantasy race mode. I wanted to replace the default Bomberman model with a fantasy knight sprite, and the race mode was the target because the fighting mode has different animation states that break more easily. First, I dumped the original ROM using Action Replay Pro on real hardware. Emulator dumps sometimes skip memory-mapped I/O sections that the game reads at startup, and those missing sections cause checksum errors when you modify anything. Real hardware dump takes about twenty minutes depending on your card.
Next, I ran the ROM through the N64ROM toolkit with the Fantasy Race flag enabled. This specifically targets the racing mode data structures instead of the standard battle mode layout. The extraction produced about three hundred files including the character model binaries, texture sheets, and the race physics config. For the model itself, I exported the original knight-style Bomberman model as an OBJ file using the custom N64 Blender plugin. I then modeled my fantasy knight on top of that rig, keeping the same vertex count. The game engine hardcodes vertex limits per character type, so going even one vertex over causes undefined behavior—usually a silent crash at the first item pickup.
The texture was the harder part. The Fantasy Race textures use a specific palette format that PaletteCIM is picky about. I painted the new skin in Aseprite, exported as 8-bit indexed PNG, then converted through PaletteCIM with the exact color depth the game expects. Getting the palette wrong doesn't show an error. The character just renders as a black silhouette or neon green mess depending on how far off you are. Replacing the actual model file requires careful hex editing. The character bin file has a header with size markers at specific offsets. If you change the model dimensions, you also need to update those size markers or the game reads past the file boundary and crashes during the track loading screen. I learned this the hard way after three failed launch attempts over two days.
👉 Clique no botão abaixo para saber mais sobre o assunto!
My workaround was to create a duplicate of the original file with the same byte count, only modifying the internal mesh data while keeping the header structure identical. Then I layered my new model on top using vertex welding. It took longer than a straight replacement would have, but it launched cleanly on the first try.
Track Modifications: Where Things Get Messy
Editing race tracks is where the bomberman fantasy race modding gets genuinely complex. The track geometry lives in a separate binary format from the character models, and the collision data is interleaved in a way that makes simple swaps impossible. You can't just drop a new track file in and expect it to work. The track files contain what the community calls waypoint chains. These are invisible path markers that tell the game how characters should move through turns. If you build a new track without properly mapping the waypoints, characters will drive through walls or snap back to the start line every time they hit a curve.
I spent about a week figuring out the waypoint system by comparing the original Fantasy Race tracks against their binary dumps. The waypoint data uses a compact encoding scheme where each turn point is stored as a relative offset from the previous point, not absolute coordinates. This keeps the file size small but makes manual editing painful. For anyone trying to modify existing tracks rather than build from scratch, the safest approach is to reuse the original waypoint chain and only change the visual mesh. This avoids the collision and pathfinding issues entirely. It is less creative but saves roughly fifteen hours of debugging per track.
Common Pitfalls in bomberman fantasy race Modding
Item physics breaks if you modify character models without updating the item pickup hitboxes. The hitbox values are stored independently from the model file, so a new character model with different proportions will still use the old hitbox dimensions. This causes items to pass through characters or register pickups from impossible distances. Lap counting glitches are another issue. The lap counter reads from a fixed memory address that gets overwritten if your modified files shift the data layout. Even a one-byte difference in file size can throw off the entire race state machine. I had a race that counted twelve laps instead of five because a texture swap added extra padding bytes to the track file.
Sound files rarely cause crashes but they cause confusion. The Fantasy Race mode uses specific sound effect IDs for item activations and engine noises. If your mod changes the audio files without updating the ID mappings, characters will make the wrong sounds at the wrong times. It is noticeable but rarely discussed.
Where to Find Resources
The main repositories are on GitHub but they are fragmented. The N64ROM toolkit fork I mentioned is at n64rom-toolkit-dev. The Blender plugin is under n64-model-explorer. There is a decent FAQ on romhacking.net but it hasn't been updated since 2020 and misses the Fantasy Race specific sections entirely. The Japanese modding forums still have the most detailed information but they require translation tools to read. Google Translate handles the technical sections okay but misses nuances in the debugging discussions where experienced modders share offset values and crash patterns.
Discord servers exist but most are inactive. The ones that are active tend to be small and slow to respond. If you post a question about a specific crash, expect a reply within days or weeks, not hours.
My Honest Take on Whether It Is Worth It
The bomberman fantasy race modding scene is not beginner-friendly. The tools are outdated, the documentation is incomplete, and the N64 architecture adds layers of complexity that modern games simply do not have. If you are doing this for fun and enjoy debugging binary files at 2 AM, it is rewarding. If you want a smooth modding experience with good support, you will be disappointed. The mods that do exist are usually made by the same five or six people who have been at it for years. New contributors rarely stick around past the third crash. The barrier is not intelligence, it is persistence. The process is tedious and the failures are frequent enough that casual interest burns out quickly.
That said, when something works, it works well. The Fantasy Race mode has a simple engine that is forgiving once you understand its quirks. A properly modded track or character looks and runs almost indistinguishable from the original. The satisfaction of launching a custom race mode after weeks of work is real, even if the journey is mostly frustration. If you decide to try it, start with character model swaps before attempting track edits. The crash rate is lower and the learning curve is gentler. Keep backups of your original ROM dumps. Trust nothing that claims to automate the process. And for the love of it, verify your file sizes match the expected byte counts before launching.