A fully playable Mario game built entirely in C, running inside the Windows terminal using pure ASCII graphics with no external graphics libraries.
It has:
Two complete levels with platforms, pipes, blocks, and varied enemies
Real physics system including jumping, falling, and full collision detection with the ground, walls, enemies, and interactive objects
Smart camera system that follows the player, with an optional sliding mode
Multiple enemy behaviors: enemies that patrol back and forth, and others that actively chase the player
Shooting mechanic to fight and eliminate enemies
Random power-up system via ? blocks, granting upgrades, extra bullets, extra lives, or points
Sound effects built using Windows' Beep() function for jumping, shooting, hits, and victory music
Full save/load system using an SQLite database to persist progress (level, position, score, lives, bullets)
High score system tied to player names, stored in the same database
Multiple fully custom ASCII-art interfaces: main menu, save/load menu, settings menu, high scores menu, and an animated scrolling credits screen
Hidden developer menu for debugging (coordinate display, event logging)
Built entirely from scratch as my final project for Harvard's CS50x, inspired by the "Mario Pyramid" exercise from Week 1 and expanded into a complete, fully playable game.
This project demonstrates my ability to: build complex logic systems in C, manage memory and performance manually, design and integrate a database layer, and deliver a complete, polished user experience even within a constrained environment like a terminal.