https://github.com/storn5/vector
A simple 3D game written in C++ with graphics implemented from scratch in DirectX, OpenGL and Vulkan, inspired by X-Wing (1993), Elite (1984) and X4: Foundations
https://github.com/storn5/vector
cpp cpp14 engine game
Last synced: 5 months ago
JSON representation
A simple 3D game written in C++ with graphics implemented from scratch in DirectX, OpenGL and Vulkan, inspired by X-Wing (1993), Elite (1984) and X4: Foundations
- Host: GitHub
- URL: https://github.com/storn5/vector
- Owner: Storn5
- License: mit
- Created: 2024-08-29T17:17:39.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-01T20:54:12.000Z (almost 2 years ago)
- Last Synced: 2025-03-17T14:36:09.385Z (over 1 year ago)
- Topics: cpp, cpp14, engine, game
- Language: C++
- Homepage:
- Size: 1.13 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vector
A simple 3D game written in C++ with graphics implemented from scratch in DirectX, OpenGL and Vulkan, inspired by X-Wing (1993), Elite (1984) and X4: Foundations
## Roadmap
🟢 - done, 🚧 - WIP, 🔴 - planned
### Graphics APIs
🚧 DirectX 11 graphics backend (Windows-only)
    🟢 Support for NVIDIA Optimus and AmdPowerXpress
    🔴 Make the GPU selection happen in the window instead of the terminal
🔴 DirectX 12 graphics backend (Windows-only)
🚧 OpenGL 4.6 graphics backend (cross-platform)
    🔴 GPU selection
🔴 Vulkan graphics backend (cross-platform)
### Game Engine
🚧 Basic engine functionality (wrapper around graphics APIs)
    🟢 Creating/closing a window
    🚧 Loading shaders
    🔴 Creating/moving/destroying 3D objects
    🚧 Graphics loop (Rendering all objects in 3D environment)
🟢 Configuring settings (command-line args)
    🟢 Select graphics API
    🔴 Switch graphics API at runtime
    🟢 Resolution
    🟢 V-Sync
    🟢 Fullscreen/windowed mode
    🔴 Borderless fullscreen support
    🔴 Switch windowe/fullscreen/borderless and V-Sync at runtime
🔴 Replace GLFW and Win32 with a common cross-platform windowing API (SDL, SFML, QT?)
🔴 Retro-style wireframe rendering
### Game
🔴 Spaceship movement in 3 dimensions
🔴 A sipmle GUI with a minimap
🔴 Other spaceships to fight against
🔴 Simple background objects (stars, planets, moons, asteroids)