will
banner
wretched.computer
will
@wretched.computer
Gideon the Ninth (and the rest of the Locked Tomb series) is gay space necromancy! just a total delight to read
July 22, 2025 at 1:43 AM
Reposted by will
Kamille: "Lieutenant Quattro... You do know your mug says #1 Mom, right?"

Quattro: "Does it...?" [chuckles] "Motherhood is something I think highly of."

Kamille: [having gotten a complete non-answer] "..."

Quattro: [sees Amuro in the distance] "Continue to enjoy your youth, Kamille." [leaves]
July 10, 2025 at 6:37 PM
if any of this interests you, i would highly recommend checking out the noclip.website project and its discord -- it's an incredibly helpful and knowledgable community, and if there's a game you'd love to see preserved in a way just about anyone can access, there's not much else like it.
noclip
A digital museum of video game levels
noclip.website
May 16, 2025 at 4:41 AM
i learned a tremendous amount about reverse engineering, 3D graphics, linear algebra, etc from this, most of which i had very little knowledge of before starting. if there's one takeaway here, it's that if you've got passion, time and persistence, you can accomplish a heck of a lot
May 16, 2025 at 4:41 AM
there's more to tell about this project, but i'll leave here for now.

i'd like to give a ton of thanks to @jasperrlz.bsky.social, without whom i'd certainly never have written this project, but also for being an incredibly patient and generous mentor and co-conspirator on this project
May 16, 2025 at 4:41 AM
sadly that's about all the archival footage i've got from the dev period -- at some point, whenever i ran into an issue, i'd just hop on a discord call w/ Jasper and screenshare rather than sending screenshots. here's an early version of the particle system in action, though
May 16, 2025 at 4:41 AM
once i'd rounded out most of the major graphics systems for vanilla WoW, i thought i'd try and load up some levels from the 2 subsequent expansions, Burning Crusade and Wrath of the Lich King. to my amazement, they kinda just worked! here's some screenshots of what they looked like then vs. now
May 16, 2025 at 4:41 AM
speaking of bugs, one of my favorite things about Jasper's noclip framework is the bevy of debug tools he's written into it. it's hard to overstate how useful it is to display debug information in-place when working on 3D scenes, or to use a debug shader to track down incorrect model normals
May 16, 2025 at 4:41 AM
and sometimes fixing one thing breaks another
May 16, 2025 at 4:41 AM
you wouldn't believe the shit i've seen while debugging my broken model animation system
May 16, 2025 at 4:41 AM
but i'd be remiss in my retelling of this story if i didn't share some of the many, many bugs and failures along the way.
May 16, 2025 at 4:41 AM
but with these 4 ingredients (BLPs, models, ADTs, and WMOs), we can finally start rendering proper levels! well, again, not really proper due to the total lack of lighting, but at this point in the project i was seriously ecstatic just to see Ironforge nestled in its mountain here
May 16, 2025 at 4:41 AM
if you're familiar with how WoW looks, you might note that the colors in the above images are pretty off. that's because at this point, i was rendering geometry and textures, but doing nothing to handle lighting. all of that came quite a bit later, so for now these scenes will look pretty flat.
May 16, 2025 at 4:41 AM
"but wait, if each point of terrain can only have one height value, how do caves and stuff exist??" what an astute question, hypothetical reader! and it brings us to the last major renderable object in WoW, the "world map object", or WMO. WMOs are how caves, buildings, and entire cities are stored
May 16, 2025 at 4:41 AM
after models, i moved on to rendering WoW's terrain. terrain in WoW is stored in chunks called ADTs, which are fixed mesh grids that're 1024 points wide and 1024 points long. each point in the grid can have an arbitrary height value, thus giving us a sort of mesh blanket that forms the terrain
May 16, 2025 at 4:41 AM
you probably noticed the models above are sideways; as it turns out, in graphics, concept of which 3D dimension is "up" is fully arbitrary, and each studio chooses their own convention. each noclip viewer has to adjust for this to get things from their "studio space" into "noclip space"
May 16, 2025 at 4:41 AM
after textures, i moved on to models. these are pretty straightforward: they're mostly just triangle meshes which reference one or more BLPs as textures
May 16, 2025 at 4:41 AM
(as an aside, all of the screenshots following this were recovered from my discord DMs w/ Jasper, so what follows is a roughly chronological account of what my viewer looked like through development)
May 16, 2025 at 4:41 AM
as such, my WoW viewer needed to understand the file formats as they shipped w/ vanilla WoW. or, to be precise, as they shipped with WoW Classic. and to get things started, i began with the game's texture format, BLP

in all of the following posts, check image alt text for more dev details
May 16, 2025 at 4:41 AM