The Witcher 2D

C++ | SDL | OpenGL

A custom 2D clone of The Witcher 3 developed as a first-year project. Implemented core gameplay systems, rendering pipelines, and input handling from scratch using C++, SDL, and OpenGL.

Features dynamic systems such as interactive quest dialogues, selection wheels, inventory management, and a custom retargetable keyframe-based animation interpolation pipeline.

Mobirise

The Witcher 2D title screen. You can save and load your games.

Selection Wheel
for signs and weapons

All different Silver swords, steel swords and crossbows!

Quest Dialogue

Dialogue options

Witcher senses

Minimap

Mobirise

Adrenaline points, stamina, and healthbar

Witcher signs, enemies, eating and parrying

Character and NPC animations utilize a custom procedural keyframe system instead of traditional sprites. By storing relative joint positions (hands, head, feet, body) at keyframes and interpolating between them, animations are dynamically retargeted. This allows armor and weapons to be swapped seamlessly on the character model without requiring separate animation assets.
Customization example: Armor 1
Customization example: Armor 2