From ZeldaMods (Breath of the Wild)
Revision as of 14:00, 12 October 2019 by imported>Leoetlino (overview on the implementation of BotW - an initial, incomplete draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This article provides an overview on the implementation of The Legend of Zelda: Breath of the Wild.

Framework and engine

Full article: Executable

Full article: Software libraries

Breath of the Wild is a modern Nintendo game which was released in March 2017 for the Wii U and the Switch. Thus, it shares a lot of code with contemporary first-party Nintendo games such as Splatoon 2 and Super Mario Odyssey, notably the sead (Nintendo's in-house framework and utilities for first-party titles) and NintendoWare (GFX, audio, effects, and UI) libraries.

BotW is the first major Nintendo game to use XLink (EffectLink and SoundLink) as a system to make briding code and graphics or sound effects easier, and also marks the first significant use of event flows and the EventFlow/evfl library to implement in-game events such as cutscenes and NPC interactions.

A completely custom engine – which Nintendo seemingly calls KingSystem – is used for Breath of the Wild. It appears to have been written from scratch as nothing significant is shared with previous Zelda games or even older Nintendo games. In particular, Breath of the Wild does not use LunchPack or SMO's engine, even though games using the former appear to use a BotW-inspired ROM structure.

The game relies on the Havok physics engine for ragdoll physics, collision (Physics2012), navigation (NavMesh), and cloth modeling. Breath of the Wild does not use Nintendo's KCL library.


Comparisons with other Zelda games