diff --git a/README.md b/README.md new file mode 100644 index 0000000..ccc9731 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# 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) + +## 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. diff --git a/assets/screenshot.png b/assets/screenshot.png new file mode 100755 index 0000000..c0876fa Binary files /dev/null and b/assets/screenshot.png differ