Bit Blade is an MCU-based console game engine designed to efficiently manage graphical elements by offloading graphics processing to dedicated hardware. It employs a modular architecture with distinct components responsible for game logic, graphics rendering, and communication between devices. The engine is compatible with both Windows and targeted microcontrollers, enabling developers to implement and test programs in a Windows environment before deploying them to microcontroller hardware.
The Game Engine utilizes a traditional object-oriented component design and incorporates object pooling techniques similar to Entity Component Systems (ECS) to enhance cache performance and address heap segmentation.
-
BladeConsole: Static library the user links against. The resulting executable runs on one of the targeted microcontrollers (e.g., Pi Pico) and handles communication with BladeGraphics as well as loading and running developed games. It sends Gfx command codes via spi to BladeGraphics for loading image data and the manipulation of sprites.
-
BladeGameEngine: Static library for game logic and building graphics instructions to be handled by BladeConsole. Includes all objects needed for 2D game design.
-
BladeGraphics: Executable. Operates on an STM32H7 microcontroller connected to the main display. It processes graphics commands received from BladeGameEngine to update and render sprites. Additionally, BladeGraphics has a Windows version that facilitates game development by allowing developers to create and test games on a Windows environment before deploying them to the MCU.
Instructions for building and running the project to be added here.
- BladeCommon/
- BladeConsole/
- BladeGameEngine/
- BladeGraphics/
- BladeTestGame/
- Tests/
- CMakeLists.txt
No license at this time.
Copyright 2024 - Gregory Maynard