On this site you can find information about the internal structure of Pokémon Ranger, an action-adventure game for the Nintendo DS developed by HAL Laboratory and Creatures Inc.
It is the first game in the Pokémon Ranger spin-off series. Until now, nobody has ever looked into the game's data and files before. Although Pokémon Ranger was developed for the Nintendo DS,
it features a lot of unique formats that are not seen in other games of the DS era. Therefore, all formats used in the game were not documented at all.
I engage in researching the game's files and formats in my free time out of pure interest. The results can be found on this site.
My original aim and motivation was to reimplement Igglybuff and Unown, two Pokémon that have been cut from the final game. Curiously, their graphics are still in the game's files so I expected adding these Pokémon back to the game would not be too difficult.
First, I began documenting the flatbuffer and Pokémon data formats in order to add proper configurations for these two Pokémon. This was followed by research on the game's text and more Browser data files.
A few days of messing around later, I finally added them back to the game and gave them proper data, typings, names, descriptions and Browser information. This motivated me to research the game's file and data formats even further.
Maybe one day we can see full-fledged hacks and mods of this rather unusual but fun Pokémon game!
Files & formats
This section is work in progress. It may contain incomplete information and notes.
- Compressed files: Some files are compressed using the LZ10 algorithm to reduce file size.
- Flatbuffers: Most of Pokémon Ranger's files are flatbuffers. They all share the same base structure.
- Useful data files
- Pokémon and Browser data
- pokemon_csv: Configures all Pokémon variants, their typings, abilities, attacks and much more.
- pokemon_zukan_csv: Specifies general Browser information for all Pokémon species.
- pokemon_filename: Contains the lists of sprites that Pokémon species use on their Browser page.
- pokemon_sort: Configures how to sort entries in the Pokémon Browser depending on sort criteria.
- typeline_csv: A 19x19 matrix specifying type and assist move effectiveness.
- trial_csv: Configures special tutorial capture sequences and the Capture Arena challenge.
- Objects and targets
- yakumono_csv: Configures all map objects and targets.
- yakumono_zukan_csv: Specifies top-screen information for all targets.
- yakumono_sort: Contains lists for a dummied-out feature to sort targets in the Browser depending on sort criteria.
- Player and NPCs
- player_csv: Configures all NPC types and their general properties.
- global_csv: Sets all ranks and levels and their unlocked features (for example Styler HP and number of friend Pokémon).
- Map data
- scenario_csv: General configuration of scenarios / missions.
- map_csv: Contains the map table and global map data.
- gene_csv: Specifies Pokémon generators and the scoring table for the Grassland and Marine Challenges.
- Graphics files (ObjDesc)
- Text files
- pypokeranger: A Python toolkit to work with Pokémon Ranger's data files. Converts various data and text files to readable and editable files (JSON, CSV, etc.) and vice-versa.
- Tinke: The ROM explorer for NDS games. Can be used to extract, replace, decompress and compress files.