Talon Engine is a lightweight, modular 2D game engine written in C++ using SDL2.
Inspired by Unity, designed from scratch, and built with pure muscle.
-
GameObject + Component System
Inspired by Unity, every object is modular, dynamic, and follows a clean lifecycle:Awake()
,Start()
,Update()
. -
Input System
Handles real-time keyboard input (WASD, spacebar, Shift) using SDL2's raw scancodes. -
Animator with Frame Events
Spritesheet-based animation with timing control, direction switching, and frame-triggered callbacks (std::function
per frame). -
SpriteRenderer
Renders sprites withSetSourceRect()
support for pixel-perfect control over frames and spritesheets. -
Rigidbody2D Physics
- Gravity, drag, velocity, acceleration
AddForce()
andApplyImpulse()
- Fully frame-based physics update with jump support
-
BoxCollider
Collision detection with offset support, overlap handling. -
CollisionManager
Handles collision resolution and prediction before applying movement. -
Vector2 Math Library
Clean utility methods likeNormalize()
,Length()
,Dot()
, and operator overloads. -
Folder-based project layout
Organized includes, systems, and components — Visual Studio–friendly. -
Built From Scratch
No engine templates, no frameworks — just pure C++ and SDL2.
- JSON-based prefab & scene loading
- Tilemap & Z-Ordering
- CircleCollider
- In-engine level editor (drag, drop, save)
- Audio system (sound FX, music)
- Save/load game state
- Component editor UI
- Particle system & animation blending
Follow these steps to build and run Talon Engine locally.
git clone https://github.com/severmanolescu/Talon.git
If you don’t have vcpkg installed yet:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.bat
Then install SDL2 and SDL2-Image:
vcpkg install sdl2 sdl2-image
-
Open
Talon.sln
-
Go to
Project Properties > VC++ Directories
-
Add:
-
Include Directories:
C:\path\to\vcpkg\installed\x64-windows\include
-
Library Directories:
C:\path\to\vcpkg\installed\x64-windows\lib
-
Go to Project Properties > Linker > Input > Additional Dependencies
, and add:
SDL2.lib SDL2main.lib SDL2_image.lib
Copy all the dlls from C:\path\to\vcpkg\installed\x64-windows\bin
next to the .exe
at runtime