https://github.com/cfrankb/esp32-s3-vga-cs3
Creepspread III (remake) for the ESP32S3 VGA (2024). Originally written in assembly for MSDOS in 1993.
https://github.com/cfrankb/esp32-s3-vga-cs3
esp32s3 game maze-game microcontroller puzzle puzzle-game sidescroller vga vga-driver
Last synced: 3 months ago
JSON representation
Creepspread III (remake) for the ESP32S3 VGA (2024). Originally written in assembly for MSDOS in 1993.
- Host: GitHub
- URL: https://github.com/cfrankb/esp32-s3-vga-cs3
- Owner: cfrankb
- Created: 2024-12-20T20:49:03.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-02-03T21:26:53.000Z (8 months ago)
- Last Synced: 2025-04-11T06:42:46.714Z (6 months ago)
- Topics: esp32s3, game, maze-game, microcontroller, puzzle, puzzle-game, sidescroller, vga, vga-driver
- Language: C++
- Homepage:
- Size: 2.34 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
This project is a game port to ESP32S3 microcontroller of an MS-DOS Game.
Current status is alpha. 90% of the core mechanic has been implemented.
## Original MS-DOS

## ESP32-S3 VGA

Gameplay: https://www.youtube.com/watch?v=SPQwWkzFRpU
I am also releasing the source code for the map editor:
https://github.com/cfrankb/cs3-map-editTry the online version of the game:
https://cfrankb.itch.io/creepspread-iii# Software required
esp-idf v5.3 or later.
# Installation
This project is based in part on: https://github.com/spikepavel/ESP32-S3-VGA
```Shell
git clone https://github.com/cfrankb/ESP32-S3-VGA-CS3.git
cd ESP32-S3-VGA-CS3/
idf.py set-target esp32s3
idf.py menuconfig
idf.py flash
```# Hardware
## VGA Adaptor
An adaptor is needed to communicate with the VGA Hardware.

kicad / gerber: [cfrankb/ESP32-S3-VGA-ADAPTOR](https://github.com/cfrankb/ESP32-S3-VGA-ADAPTOR)
## Gamepad

| Aim | GPIO Pin |
| ----- | -------- |
| UP | 38 |
| DOWN | 35 |
| LEFT | 47 |
| RIGHT | 48 |```
CGameController gamepad(GPIO_NUM_38, GPIO_NUM_35, GPIO_NUM_47, GPIO_NUM_48);
engine->attach(&gamepad);
```The above configuration is for the ESP32S3. Pin out will vary per model.