will
banner
wretched.computer
will
@wretched.computer
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
"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
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 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
one nice thing about noclip is it'll save your current camera position in the URL, so to share a specific location, just share the URL: noclip.website#WorldOfWarcr...

you'll want a decent computer and internet connection to use it. also, these flythrough videos are all from noclip's builtin tooling
May 16, 2025 at 4:41 AM
first off: noclip.website is an incredible project by @jasperrlz.bsky.social that's chock full of other games which have been lovingly reverse engineered & recreated in the browser. while most of the games on there are due to Jasper, the open source community has contributed quite a few as well
May 16, 2025 at 4:41 AM
i recently finished v2.0 of my browser-based World of Warcraft level viewer! so here's a thread on what it is, how it works, and a visual history of its development

check it out at noclip.website by searching "World of Warcraft", finding a zone you wanna explore, and fly around w/ WASD + mouse
May 16, 2025 at 4:41 AM
huge day for me
January 22, 2025 at 7:49 PM
January 7, 2025 at 2:07 AM
January 5, 2025 at 7:29 AM
exactly 42 lines of code #genuary3 #genuary2025 #genuary
January 4, 2025 at 12:21 AM
layers upon layers upon layers #genuary2 #genuary2025 #genuary
January 3, 2025 at 8:23 AM
horizontal and vertical lines only #genuary #genuary2025 #genuary1 (better late than never)
January 3, 2025 at 4:14 AM
making some orders
May 29, 2023 at 6:29 AM