Great to hear from you again! Giving it a C API is the right call, as it makes using it from "whatever" language possible.
Ethernaut
Creator of
Recent community posts
Yup, no lights!
Emissive color, Concentric cylinders, each one very transparent (like, alpha=0.01) and a linear gradient that multiplies both emissive and opacity along one axis, for the soft fade. It also looks better if I add noise to the texture, since it blends each cylinder into the next one better, but I haven't automated that yet, so it's not in here.
Actually, it's all fake 3d, done with sprites. Old school! I'm trying to keep it limited to something an early 80's computer could do , although I'm using probably more colors than I should. Monkey is pretty simple and is great because of its simplicity, but the issue is that getting the basics (a hierarchy graph and entity system, collisions, etc.) can be a pain, since it doesn't come with a default engine.
Another small update. Now with smooth transitions between tiles and a basic minimap. Almost done with the maze navigation code, the only thing missing it a second layer representing walls not directly in the player's path (you can see this issue around corners sometimes). After I figure that out, next step will be populating the maze with monsters, traps, locked doors and loot. None of it interactive yet... that will come later.
Also, currently you can't walk backwards, which is kind of a pain, but it saves me the trouble of playing the tiles animations backwards. I'll probably add that at some bonus round in the future.