Luny
Back

Cardcaptor Sakura

A 2D platformer game built from the ground up using C/C++ and Simple DirectMedia Layer, as a way to learn C/C++ in depth while making a game and an engine.

Published on
Updated on

2.35

cmake
cpp
sdl

Project Summary

A passion project revolving around my childhood character Kimonoto Sakura from the series Cardcaptor Sakura, traverses a 2D platforming world sticking to the original story.

Technologies used:

Main Concept: Provides a baseline for learning modern C++, as well as low-level memory management (0bytes leaks in all releases), plus an additional library for drawing at a low-level (instead of Pygame or Raylib).

Technical Highlights

Originally planned to be a 3D game with 2D view most of the time, where sometimes it may use 3D objects for learning to model with Blender (but time does not allow), so it was cut down to be a fully 2D game, inspired by: Hollow Knight, Dead Cells, Super Mario Bros.

Why C++?

I transitioned from pure C to C++23 to leverage concepts, smart pointers, operator overloading, and template programming for generic, high-level code while retaining low-level memory control and zero-overhead performance which I loved from the simplicity of C.

I transferred the project to C++ with smart pointers, standard template library, with super modern features from C++ standard level 23 to get high-level language features in addition to low level memory control.