Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VEngine

VEngine is a modern cross-platform C++ game engine built on top of Raylib.

The project is a long-term learning journey to understand game engine architecture, modern C++, mathematics, physics, and computer graphics by building every system step by step.


Vision

Build a clean, modular game engine from first principles while keeping the codebase approachable for beginners.

Rather than replacing Raylib, VEngine uses it as a rendering backend while implementing its own engine architecture, rendering API, mathematics library, physics systems, and editor.


Goals

  • Learn Modern C++
  • Learn CMake
  • Design a clean engine architecture
  • Build a mathematics library and interactive visualizations to understand the underlying concepts.
  • Learn computer graphics
  • Learn game physics
  • Build an editor using Dear ImGui
  • Support Windows, Linux and macOS

Current Features

Core

  • ✅ Multi-target CMake project
  • ✅ Engine library
  • ✅ Sandbox application
  • ✅ Window abstraction
  • ✅ Application framework

Graphics

  • ✅ Raylib backend
  • ✅ Renderer abstraction
  • ✅ Color system
  • ✅ Drawing primitives
    • Circle
    • Line
    • Rectangle
    • Text

Mathematics

  • ✅ Custom Vector2 class
  • ✅ Vector arithmetic
    • Addition
    • Subtraction
    • Scalar multiplication
  • ✅ Magnitude
  • ✅ Normalization
  • ✅ Dot Product
  • ✅ Interactive math visualizations

Screenshots

Dot Product Explorer

Dot Product Explorer


Roadmap

  • Initial project setup
  • Engine architecture
  • Raylib integration
  • Renderer API
  • Dear ImGui integration
  • Mathematics library
  • Camera
  • Scene system
  • Physics
  • Editor
  • AI

Project Structure

VEngine/
├── engine/
│   ├── include/
│   └── src/
│
├── sandbox/
│   ├── include/
│   └── src/
│
├── docs/
│
├── CMakeLists.txt
└── README.md

Getting Started

Requirements

  • CMake 3.28+
  • A C++17 compatible compiler
  • Git

Clone the repository

git clone https://github.com/vikasAWA/VEngine.git
cd VEngine

Configure the project

cmake -B build

Build

cmake --build build

Visual Studio

Visual Studio 2022 has native CMake support.

Simply open the project folder:

File
└── Open
    └── Folder...

Visual Studio will automatically detect the CMakeLists.txt, configure the project, and allow you to build and run directly from the IDE.


Philosophy

VEngine is not trying to replace mature game engines.

It is built as a learning engine that focuses on:

  • software architecture
  • mathematics
  • physics
  • rendering
  • modern C++

Every system is implemented gradually with clarity and education as the primary goal.


License

MIT

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages