← All school projects

finished2024

C++ exercises and breakout

C++ coursework from 2024-2025: OOP, state machines, SFML scenes, threads, TCP client-server, entity-component architecture, and a team breakout game

C++ · SFML · OOP · State Machine · Threads · Sockets · Team Project

GitHub ↗

The C++ exercises and labs of the 2024-2025 year at Gaming Campus, from the first encapsulation day to an entity-component architecture.

Context

A series of small repositories, one per exercise or lab, over six months. The only team project is the SFML breakout from November 2024.

What I did

C++ OOP basics, a state machine, scenes on the LightEngine engine, threads, a TCP client and server, an entity-component architecture, and my version of the breakout game.

Links

The coursework

PeriodWorkContent
Oct. 2024Basics and encapsulationPoint, Entity, Player classes, IAlive interface, inheritance
Oct. 2024Wrap-up exercisesVector2, Integer, Entity → Mob / Player / BreakableObject hierarchy, World
Oct. 2024InventoryConsole inventory with weights and a maximum capacity
Nov. 2024Breakout (team of 3)SFML: explosive, bonus and trap bricks, ball and paddle effects, file-based levels, menus, music
Nov. 2024StateWeapon labWeapon driven by a state machine (State: Start / Update / End)
Nov. 2024Plants vs Zombies labPvZ scene (plants, zombies) on the LightEngine engine (SFML)
Dec. 2024Shoot'em upShip and enemies on LightEngine (SFML)
Jan. 2025ThreadsThread class and child threads
Jan. 2025Client-serverWinsock TCP server and client (socket, bind, listen, accept), one thread per side
Feb. 2025EC architectureEntity, Component, Transform, Renderer, then an optimisation pass

Breakout

Three versions (one per team member) merged into the same repository. The version on my branch has three special brick types, twelve ball effects (speed, size, piercing, random direction, invisibility, multiply, reverse, teleport, split…), four paddle effects, a level generator and manager, a main menu and a pause menu.