A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/georgik/esp32-spooky-maze-game below:

georgik/esp32-spooky-maze-game: Rust Bare Metal implementation of maze game for ESP32 with Bevy ECS no_std

ESP32 Spooky Maze Game is a technical demo game built using Bevy ECS 0.16.1 with no_std support via esp-hal 1.0.0-beta.1. The game demonstrates how to build cross-platform applications that run on both embedded hardware and desktop environments using a shared core.

In this game, a ghost navigates through a maze collecting coins while avoiding obstacles. Special artifacts such as dynamite and the "walker" power-up introduce additional gameplay mechanics. On collision with various objects, events are dispatched to decouple hardware-specific logic from game rules.

spooky-maze-esp32-s3-box-3.mp4

For now, the project supports three primary targets:

Note: For older targets (e.g., ESP32-C3, ESP32-S2, etc.), please refer to the v0.10.0 tag.

Build and Run Instructions

Prerequisites:

Build:

cd spooky-maze-desktop
cargo run

Controls:

Movement: Arrow keys

WebAssembly (WASM) Version

Prerequisites:

Build and run:

cd spooky-maze-wasm
./build.sh
# Then serve with any HTTP server:
python3 -m http.server 8000
# Open http://localhost:8000 in your browser

Controls:

These instructions are valid for boards based on ESP32-S3:

Prerequisites:

espflash installed:

Rust Xtensa toolchain installed:

cargo install espup
espup install

Compiler toolchain from ESP-IDF v5.5 (required only for Xtensa targets):

git clone git@github.com:espressif/esp-idf.git --depth 10 --recursive --shallow-submodules 
source esp-idf/export.sh

Properly configured ESP32-S3-BOX-3 hardware

Build and run:

cd spooky-maze-esp32-s3-box-3
cargo run --release
cd spooky-maze-m5stack-atom-s3
cargo run --release

Controls:

Movement: Tilt the board accelerometer

Differences of Embedded Bevy no_std from Classical Bevy std

Contributions are welcome! If you'd like to help improve the game, add new features, or adapt the project to additional hardware targets, please feel free to submit a pull request. We especially welcome contributions that help improve the no_std integration with Bevy ECS or enhance the embedded graphics rendering.

For more information on embedded development with ESP32, visit the Espressif Developer Portal.

Recommendation: Open whole project and attach to particular Cargo.toml for specific target.

This project is licensed under the MIT License. See LICENSE for details.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4