ROM Hacks make the process of developing a functional Sonic game with unique art, enemies, and modifications much easier, since the game engine and basic mechanics are already functional. However, if the game requires a different game engine, modifying existing low-level assembly may be inappropriate, and some game designers might choose to program their own unique game engine. The physics of a game engine are rules that describe how to transform the player's input (either in the form of buttons, keyboard, or even a mouse if the designer feels inclined) into appropriate changes in the position of the sprites in the game (such as the Sonic sprite, or alternatively, how enemy sprites will respond). These physics guides will hopefully make the process of simulating the rules used in Sonic games easier.

Since the rules themselves are independent of how they are implemented, many people choose programming languages such as Java, C, C++, Python, or a Lisp dialect to implement game physics. In addition, people can choose to use more specialized applications like Adobe Flash (Animate), GameMaker Studio 2, or a Clickteam program like Multimedia Fusion 2.

Hopefully, these guides will provide adequate information to facilitate implementation.

Physics Guides

A prerequisite for much of the info on this guide.

A detailed description of sloped terrain, and how Sonic will interact with it in general. Also explaining how some specific actions such as walking, jumping, and rolling react to slope angles.

Explaining object hitboxes, solidity, Sonic's hitbox, and other ways objects directly interact with Sonic.

Describing how Sonic moves and changes actions on flat ground.

Sonic's variable jump and acceleration in the air.

How rolling controls on flat ground.

Detailing how rings disperse when hit.

How Sonic's abilities change underwater.

How Sonic's abilities change when super.

Specific abilities such as spindashing, flying, gliding, and elemental shields.

Detailing how the camera follows Sonic.

What happens when Sonic gets hit.

Describing how Sonic bounces off enemies and other destroy-able items.

Covering animation frame durations and how & when they appear.

Describing objects such as rings, enemies, blocks, and springs. Including how they move around, how they are constructed, and how they react to certain situations.