Headcannon Tech

Headcannon has over 30 years of experience in making software, tools and utilities. Below is a brief look at some of our tools, meticulously created in-house over decades of careful refinement.

The Path Tracer is what Headcannon refers to as a "Movement and Collision System", and has an emphasis on accuracy. By combining movement updates directly with collision testing instead of the traditional method of applying some or all of a velocity directly to a position before performing any checks, we achieve the highest resolution possible in terms of interacting with the environment. This, along with the system's method of literally tracing along the shape of the collision path, can eliminate the need for error-prone post-movement test-and-correct behavior. It is very versatile in that it can perform both vectored and non-vectored movement and it does not enforce any physics parameters whatsoever; it only moves the object according to its current velocity or vector values.

This system benefits from decades of use, refinement, and optimization, as it has existed in some form in all engine work performed by Simon "Stealth" Thomley. It's featured in both the HCGE and Methyl engines, and has proven capable of being isolated and used in other projects. The version of Sega's "Sonic 3 & Knuckles" included in the "Sonic Origins" package makes use of the Path Tracer for object/terrain collision. It's also possible to integrate object/object collisions with the Path Tracer for greater precision, as demonstrated in its native environment, the HCGE and Methyl engines.

Although the Path Tracer was used in Sonic Origins, it is neither developed nor endorsed in any part by Sega

Headcode is an embedded scripting language that was originally designed for creating code that can be modified independently of the main program's source code and which doesn't require compilation. This can speed up the development process by eliminating long build times when testing small changes, and can also make a program extensible by the user without the need for full source code access. The system is designed such that scripts can easily be converted to bytecode at load time without significantly impacting the loading process, allowing for faster iteration overall and simplifying the process of making alterations for the end-user.

The system was built with performance in mind, so although the bytecode form of any script is interpreted at runtime, the overhead of such a process has been minimized. In HCGE, its use as the sole method of creating games with the engine not only provides the user with a simple interface to the engine's powerful features through an alternative to traditional programming languages, but it also means that any game created on any other platform will immediately be capable of running on any other platform which HCGE supports without recompilation or additional technical work. Headcode is also a part of the Methyl Engine as a supplement to the more-traditional use of native code, and can factor into development as much or as little as desired for each project. In the case of Methyl, as in the case of any program where the user can extend the program using native code, Headcode can also be extended by the creation of custom commands, even without exposing the system's core code.

Short fictitious example script

Methyl is Headcannon's proprietary game engine used for our own games, providing the high level of precision and control required to replicate the look and feel of 2D pixel art classics without compromise. Game code in Methyl is natively compiled, with Headcode scripts offering the ability to extend behavior dynamically at runtime. The robust "Vars" system allows great flexibility with object parameters, and is accessible from Headcode scripts. It pairs with Methyl's "Persist" system, featuring developer-defined Save presets, a built in Save data editor, and the ability for objects to automatically carry important variables across game sessions. Editing is done through MethylED, which is itself built into the engine.

The customizable Tile Sheet workspace lets designers build a readily accessible palette of reusable level pieces. Tile Sheet "Stacks" can be built on top of the primary sheet, and forwarded to multiple tile planes at once.

Because MethylED and Methyl are one in the same, "Live Mode" allows a birds-eye view of the game as it is running.

Headcannon Game Engine (HCGE) is a multiplatform 2D game engine with focus on high performance on lower-end hardware and simple portability for the user. It has been in development solely by Simon "Stealth" Thomley since 2004 officially, though it has roots in his older work going as far back as 1997. The use of Headcode as its programming interface allows for development on one system and play on any other for which the engine exists without requiring the developer to (re)compile or make any technical modifications. It also has built-in editing tools that become more powerful with each update, and is the origin of the "live editing mode" featured in the Methyl game engine.