Halfive Design notes

Copyright Nomagno 2022, 2023

Copying and distribution of this work, with or without modification, are permitted in any medium without royalty, provided the copyright notice and this notice are preserved. This work is offered as-is, without any warranty.


Missing suitable (re)implementations

The h5rpg/h5rpg.h header, for simulating turn-based combat, is awaiting an implementation. It is meant to be an easter egg (SIMPLE)

The h5t.h and h5net.h headers, to tokenize Halfive Track and Halfive Network .h5doc files, respectively, are awaiting an implementation (TEDIOUS).

Missing suitable interfaces and implementations

Rendering facilities, physics, collision detection, configuration, UI, etc. (HARD!)

The h5ecs.h header, to create, delete, update, and manage Entities, Components, and Systems, is awaiting an implementation (TRICKY)

The h5vi.h header needs a big library with auxiliary software rendering functions such as blitting, bitmap text rendering, arbirary shapes, line rendering, quadratic bezier curve rendering, etcetera: h5render.h (TEDIOUS)

The Halfive Pixel format needs a library with utilities for converting to/from the BMP image format, at the very least: h5pix.h (MEDIUM DIFFICULTY)


General design notes about the game

Halfive is meant to be a racing game engine as well as a game that isn’t inherently constrained to any type of gameplay, however not making a flagship physics engine implementation and base game to go with it would be simply disingenous.

A few overarching notes about code architecturing, game design, atmosphere and car handling are clear: