Improve README

gitea-master
John Montagu, the 4th Earl of Sandvich 2026-03-20 16:27:37 -07:00
parent 403861929e
commit 96dafc3b1d
Signed by: sandvich
GPG Key ID: 9A39BE37E602B22D
1 changed files with 18 additions and 14 deletions

View File

@ -1,19 +1,23 @@
# Gravity Surfing
<div align="center">
# 🌌 Gravity Surfing
**A physics-driven endless runner built with C++ and raylib-cpp.**
Steer a probe in space by placing black holes, collect stars, and survive a
continuous stream of hazards.
## Extra Credit
</div>
## Extra Credit (for CS 381)
- **EC: stacked README**
- Formatted in a style inspired by Microverse: [KsanaDock/Microverse
README](https://github.com/KsanaDock/Microverse)
README_EN](https://github.com/KsanaDock/Microverse/blob/main/README_EN.md)
- **EC: doxygen-compatible comments**
- **EC: publish wasm/web playable**
## Key Features/Core Gameplay
## 🎮 Key Features/Core Gameplay
- You control a probe that moves continuously through a side-scrolling world
- Black holes/gravity wells bend the probe trajectory with inverse-square pull
@ -22,7 +26,7 @@ continuous stream of hazards.
- Asteroids and out-of-bounds movement end the run
- Null zones disable gravity influence and force repositioning
## Controls
## 🕹️ Controls
- `enter` - start run (menu), retry run (death screen)
- `Esc` - Close game
@ -30,7 +34,7 @@ continuous stream of hazards.
- `left click` - place/use player gravity black hole (if you have enough meter)
- `right click` - clear active player-created black holes
## Technology Stack
## 🛠️ Technology Stack
- **Genre**: 2D endless runner / physics arcade
- **Language**: C++20
@ -38,7 +42,7 @@ continuous stream of hazards.
- **Architecture**: component-oriented entities with scene management
- **Platform target**: desktop, plus published wasm/web playable build
## Requirements
## 📋 Requirements
- CMake `3.25+`
- C++20 compiler (`g++`, `clang++`, or MSVC)
@ -48,9 +52,9 @@ continuous stream of hazards.
- `../raylib-cpp`
- `../assets`
## Quick Start (Developer Setup)
## 🚀 Quick Start (Developer Setup)
### Installation
### 📦 Installation
1. **Clone the repository and initialize submodules**
@ -75,7 +79,7 @@ continuous stream of hazards.
make
```
### Basic Usage
### ▶️ Basic Usage
1. **Launch the game**
@ -97,7 +101,7 @@ continuous stream of hazards.
- Collect stars to refill meter and increase score
- Avoid asteroids and avoid leaving the screen bounds
## Web/WASM Build
## 🌐 Web/WASM Build
This project includes a completed extra-credit web publish target.
@ -105,7 +109,7 @@ This project includes a completed extra-credit web publish target.
- If you need to regenerate, build with your emscripten toolchain and deploy
the generated web artifacts to your hosting target
## Key Systems
## 🛠️ Key Systems
- **Entity/component model**: gameplay logic is split into focused components
(`PhysicsComponent`, `SpawnComponent`, `GravityWellComponent`, etc.)
@ -118,7 +122,7 @@ This project includes a completed extra-credit web publish target.
- **Event-driven feedback**: collectible, meter, and death callbacks keep
systems loosely coupled
## Project Structure
## 🗂️ Project Structure
```text
as6/
@ -132,7 +136,7 @@ as6/
└── CMakeLists.txt # build configuration
```
## Roadmap Ideas
## 🧭 Roadmap Ideas
- Improve HUD feedback and run-end stats
- Add more hazard/collectible variety