An open API service indexing awesome lists of open source software.

https://github.com/kanishk-16/fps-game

A personal side-project I am working on it's an multiplayer FPS game using OpenGL might prepare a web-app for this in future.
https://github.com/kanishk-16/fps-game

cpp game-development opengl

Last synced: 2 months ago
JSON representation

A personal side-project I am working on it's an multiplayer FPS game using OpenGL might prepare a web-app for this in future.

Awesome Lists containing this project

README

          

# ๐ŸŽฎ Multiplayer FPS Game with OpenGL ๐Ÿ–ฅ๏ธ

## Project Overview ๐Ÿ“œ
This is a personal project to develop a simple multiplayer first-person shooter (FPS) game using OpenGL. The game allows multiple players to join, ๐Ÿ”ซ each other, and gain ๐Ÿ†. The player with the highest number of ๐Ÿ’€ wins, and respawns occur upon โ˜ ๏ธ. This project is for ๐ŸŽ‰ and to learn about ๐Ÿ•น๏ธ development basics, ๐Ÿ–Œ๏ธ programming, and ๐ŸŒ.

---

## Features โญ
- **Multiplayer Gameplay**: Multiple ๐Ÿ‘ฅ can join and ๐Ÿ in real-time.
- **Basic Shooting Mechanics**: Players can ๐Ÿ”ซ bullets at each other to score ๐Ÿ….
- **Respawn System**: Players โ˜ ๏ธ upon being killed.
- **Leaderboard**: Display the player with the highest number of ๐Ÿ’€.

---

## Development Tools and Libraries ๐Ÿ› ๏ธ
- **Programming Language**: ๐Ÿ’ป C++
- **Graphics Library**: ๐Ÿ–Œ๏ธ OpenGL
- **Window Management**: ๐ŸชŸ GLFW
- **Loading OpenGL Functions**: ๐Ÿ“ฆ GLAD
- **Networking**: ๐ŸŒ TBD (e.g., ENet, Boost.Asio, or custom implementation)

---

## System Requirements ๐Ÿ–ฅ๏ธ
- **Operating System**: ๐ŸชŸ/๐Ÿง
- **Graphics Card**: ๐ŸŽฎ NVIDIA GTX 1650 or equivalent (with ๐Ÿ–Œ๏ธ support)
- **Processor**: ๐Ÿง  Intel i5-10th Gen or equivalent
- **RAM**: 8๏ธโƒฃ GB or higher

---

## Project Goals ๐ŸŽฏ
1. **Graphics Programming**:
- Render a 3๏ธโƒฃD ๐ŸŒ (e.g., basic level design with ๐Ÿงฑ and obstacles).
- Implement a first-person ๐ŸŽฅ view.
2. **Multiplayer Mechanics**:
- Establish a ๐Ÿ‘ฅ-๐ŸŒ architecture for communication.
- Synchronize player actions in real-time.
3. **Game Logic**:
- Implement ๐Ÿ”ซ, collision detection, and ๐Ÿ….
- Handle โ˜ ๏ธ mechanics.
4. **Optimization**:
- Ensure smooth ๐Ÿƒ performance on mid-range ๐Ÿ–ฅ๏ธ.

---

## Project Setup ๐Ÿ› ๏ธ
1. **Clone the Repository**:
```bash
git clone https://github.com/yourusername/FPS-Game.git
cd FPS-Game
```
2. **Install Dependencies**:
- ๐ŸชŸ GLFW
- ๐Ÿ“ฆ GLAD
- ๐ŸŒ library (to be decided)
3. **Build the Project**:
- Use `g++` or โš™๏ธ CMake to compile the project:
```bash
mkdir build && cd build
cmake ..
make
```
4. **Run the Executable**:
```bash
./FPS-Game
```

---

## Current Progress ๐Ÿ“ˆ
- **Completed**:
- Set up an OpenGL ๐ŸชŸ with GLFW and GLAD.
- Basic rendering (e.g., background ๐ŸŽจ).
- **In Progress**:
- First-person ๐ŸŽฅ and controls.
- ๐ŸŒ for multiplayer ๐Ÿ•น๏ธ.
- **Next Steps**:
- Implement ๐Ÿ”ซ mechanics and collision detection.
- Build a basic ๐Ÿ†board.

---

## References ๐Ÿ“š
- [GLFW Documentation](https://www.glfw.org/documentation.html)
- [LearnOpenGL](https://learnopengl.com/)
- [OpenGL Wiki](https://www.khronos.org/opengl/wiki/)
- [Game Networking Resources](https://gafferongames.com/)
- [OpenGL Tutorial by Victor Gordan](https://www.youtube.com/playlist?list=PLPaoO-vpZnumdcb4tZc4x5Q-v7CkrQ6M-)

---

## Personal Note โœ๏ธ
This project is for personal ๐ŸŽ‰ and fun. The scope may evolve as I progress and learn more about ๐Ÿ•น๏ธ development. Contributions are not currently accepted, but feedback is welcome! ๐ŸŽ‰