From 47e048c05573d918d4db56679f091b4a5d3d2292 Mon Sep 17 00:00:00 2001 From: Ben Woodworth Date: Mon, 4 Oct 2021 23:24:09 -0400 Subject: [PATCH] Create README.md --- README.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a303756 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +## About +This is a simple game engine that was built to run bare-metal on a Raspberry Pi 3. +Using the Raspberry Pi's UART hardware, the games can be played through a serial terminal, and create colored text graphics with ANSI codes. + +The engine was architected with platform-specific details (timer, terminal) abstracted out so it could also +be implemented and compiled for desktop, which is easier to test and debug. +The platform-specific dependencies are injected in [`main.c`](source/main.c) based on compiler flags. + +## Demo +A menu and two games are included as examples, controlled using the WASD and Space keys. + +
+ Menu (Epilepsy warning: has cycling colors) + Menu +
+ +
+ Snake + Snake +
+ +
+ Tic-Tac-Toe + Tic-Tac-Toe +
+ +## Design + +
+ Architecture Diagram + Architecture Diagram +
+ +
+ Sequence Diagram + Sequence Diagram +
+ +## Building + +Building can be done with `make raspi3`, or `make gcc` for desktop. Making raspi3 requires the Linaro arm-none-eabi-g++ cross compilation toolchain.