go-raycasting/README.md
kisekinopureya c0e448572e
All checks were successful
commit-lint / commit-lint (push) Successful in 50s
feat: add readme
2025-07-23 18:17:46 +03:00

46 lines
1.3 KiB
Markdown

# Go Raycasting Engine
This is a simple raycasting engine implemented in Go using SDL2. It simulates a 3D environment similar to the rendering technique used in classic games like Wolfenstein 3D.
## Features
- Real-time 3D projection with raycasting
- Movement and rotation controls
- Multiple wall textures loaded from PNG files
- Text rendering (e.g., FPS counter or debug text)
- SDL2 rendering (no OpenGL or GPU shaders required)
## Screenshots
![screenshot](assets/screenshot.png) <!-- Replace with your actual screenshot -->
## Controls
| Key | Action |
|-----|---------------------|
| W | Move Forward |
| S | Move Backward |
| A | Rotate Left |
| D | Rotate Right |
| F1 | Toggle FPS Counter |
| ESC | Exit Program |
## Requirements
- Go 1.20+
- SDL2 (development libraries)
- SDL2_ttf (for text rendering)
## Asset Licenses
- DejaVuSans.ttf
From the [DejaVu fonts project](https://dejavu-fonts.github.io/)
License: [Bitstream Vera Fonts License](https://dejavu-fonts.github.io/License.html) (Free to use, modify, distribute)
- Wolfenstein 3D Textures
These textures are derived from the original Wolfenstein 3D game by id Software.
Note: The original game assets are not open source and are copyright © id Software.