Fable clean up

This commit is contained in:
Andras Schmelczer 2026-06-11 21:35:45 +01:00
parent 3441a7e4af
commit 4ce8a4f41d
46 changed files with 642 additions and 911 deletions

View file

@ -19,10 +19,10 @@ project:
alt: Screenshot from an early 3D platform game.
---
Autumn 2017, Basics of Programming, a deadline that forced me to learn C the hard way. I'd write almost none of it the same way today, and I'd defend every choice in it anyway. A 3D voxel platformer in pure C with SDL 1.2. No engine, no scripting layer.
Autumn 2017, first semester, a course called Basics of Programming, and a free-choice project I aimed far too high on: a 3D voxel platformer in pure C with SDL 1.2. No engine, no scripting layer, no one to tell me that "3D in software, in C, in your first semester" was an unusual reading of the assignment.
Maps were randomly generated and destructible voxel by voxel, so the player could dig their way out of trouble or wall off flying enemies that merged into larger ones as they got closer. Powerups let you shoot, or slow down time at the cost of points.
The maps were randomly generated and destructible voxel by voxel, so you could dig your way out of trouble or wall yourself off from the flying enemies, which merged into bigger ones as they closed in, a mechanic I'd love to claim was designed rather than discovered. Powerups let you shoot, or slow down time at the cost of points.
What I actually learned was pointers, painfully, through an adequate number of segfaults. The course was meant to teach the basics of programming; for me it was the moment programming stopped feeling like a list of facts and started feeling like a thing I could build with. The next time I reached for C it was on hardware that punished waste; see [Ad Astra](/articles/ad-astra-attiny85-game-engine/).
What the project actually taught me was pointers, the honest way, through an adequate number of segmentation faults. Somewhere in those weeks programming stopped feeling like a list of facts to memorise and started feeling like a material you could build with, and I never quite went back. The next time I wrote C it was for hardware that punished every wasted byte: [Ad Astra](/articles/ad-astra-attiny85-game-engine/), three years later.
First-project privilege.
I'd write almost none of it the same way today, and I'd still defend every choice in it. First projects get that privilege exactly once.