DAIR
DAIR is a sequel to NAIR that expands greatly on the player's movement abilities. It adds a new camera, a wide stage with ledges and pitfalls, adds complicated new knockback formulas, and many new visual effects.
DAIR is cross-platform multiplayer and can play with NAIR users. A DAIR player can join a NAIR player's lobby to playy NAIR, and the inverse is also true.
This means NAIR and DAIR are based on the same gameplay engine, with a simple compiler flag determining which game is built. It also means DAIR was a massive expansion and rewrite of the NAIR codebase.
As a more complex game, DAIR features a list of actions the player can use, and they can reference this list at any time.
In the interest of Steam Deck compatability and future proofing the game, this list does not use any GIFs or videos.
This list is entirely data driven. A contained version of the game is run, and rendered to the viewport in the top right. A list of inputs are fed to the players (stored as compressed binary integers),
and a starting state is stored to load and replay the action.
Most of the work for setting up this list was already done, as my game is completely state-agnostic because of the online play.
DAIR's netcode relies on saving and restoring gamestates multiple times a frame, which also makes features like this and match replays extremely easy to implement.
This is all the unique code for running small gameplay videos in the movelist. All the rest is related to the standard gameplay update.