https://github.com/cod-e-codes/fps
A first-person shooter built with LÖVE (Lua)
https://github.com/cod-e-codes/fps
first-person-shooter fps game-development love2d lua raycasting
Last synced: 2 months ago
JSON representation
A first-person shooter built with LÖVE (Lua)
- Host: GitHub
- URL: https://github.com/cod-e-codes/fps
- Owner: Cod-e-Codes
- License: mit
- Created: 2025-10-17T06:05:54.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-10-17T07:23:12.000Z (2 months ago)
- Last Synced: 2025-10-18T09:40:15.936Z (2 months ago)
- Topics: first-person-shooter, fps, game-development, love2d, lua, raycasting
- Language: Lua
- Homepage: https://github.com/Cod-e-Codes/fps
- Size: 1.17 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FPS
A first-person shooter built with LÖVE (Lua).

## Requirements
- LÖVE 11.5 or higher
## Controls
- **WASD / Arrow Keys** - Move
- **Mouse** - Look around
- **Left Click** - Shoot
- **Shift** - Run
- **R** - Reload
- **F3** - Toggle debug info
- **ESC** - Pause / Resume
- **Enter** - Start (from menu)
- **R / Q** - Restart / Quit (on death or win screens)
## Running
```bash
love .
```
Or drag the project folder onto the LÖVE executable.
## Project Structure
```
├── conf.lua # LÖVE configuration
├── main.lua # Entry point and game loop
├── src/
│ ├── player.lua # Player movement and collision
│ ├── map.lua # Grid-based level data
│ ├── raycaster.lua # DDA raycasting algorithm
│ ├── renderer.lua # Rendering (walls, sprites, HUD)
│ ├── weapon.lua # Shooting mechanics
│ ├── enemy.lua # Enemy AI and behavior
│ └── input.lua # Input handling
└── assets/
├── arms.png # Weapon sprite
├── enemy.png # Enemy sprite
└── screenshot.png # Gameplay screenshot
```
## License
MIT License