Skip to content

mihaid11/Velos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Velos Engine

Velos is a lightweight, modular 2D game engine built in C++20 with SDL3. It provides a simple framework for creating games with entities, shapes, input handling, events, and a camera system.

Why Velos?

Velos started as a personal project to explore engine architecture, learn modern C++ patterns and build something minimal yet extensible.

Key features

  • Modern C++ API: Memory-safe entity management using smart pointers.
  • Built-in Physics System: Custom collision detection and resolution with manifold generation and event callbacks.
  • Advanced Input Handling: An action-driven input system supporting states like Press, Hold, Release and HoldCompleted.
  • Camera System: Viewport manipulation, worldToScreen coordinate mapping, and smooth automated entity tracking (CameraFollowMode::Smooth).
  • Scene Graph & Transforms: A hierarchical coordinate system where moving an entity automatically calculates the world matrices of all attached shapes and colliders.

Arhitecture overview

Frame lifecycle

flowchart LR
    A([▶ Start]) --> B[Init<br/>Window] --> C[Init<br/>Physics] --> D{Loop}

    D --> E[Poll<br/>Events] --> F[Process<br/>Input] --> G[Update<br/>Entities] --> H[Physics<br/>Step] --> I[Render<br/>Frame] --> J[Sweep<br/>Destroyed] --> D

    D -->|stop| K([⏹ Stop])

    style A fill:#238636,color:#fff,stroke:none
    style K fill:#da3633,color:#fff,stroke:none
    style D fill:#1f6feb,color:#fff,stroke:none
Loading

Engine arhitecture

flowchart LR
    subgraph Loop [" Game Loop "]
        direction LR
        I[Input] --> U[Update] --> P[Physics] --> R[Render]
    end

    subgraph Entity [" Entity "]
        direction TB
        T[Transform]
        S[Shapes]
        C[Colliders]
    end

    U --> Entity
    P --> C
    R --> S
Loading

Documentation

Explore the documentation to start building your game:

AI usage disclosure

This project was developed with assistance from AI tools acting as an architectural and technical advisor. AI was used to help design system architectures, understand complex mathematical formulas, and generate utility structures.

About

Velos is a fast, lightweight, and cross-platform C++ game engine built with SDL, designed to be simple, extensible, and open source.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors