Wadzilla is currently a PoC. Although in theory it “works”, it does not create an entertaining experience as a game, although to me it is quite fun just too see it output ZIL for all of the rooms in a DOOM WAD, with all of the objects in all of their correct locations by their plain English names, along with the 8-character names for the textures of the walls, floors, and ceilings in their relative positions in the room. Part of that enjoyment of course comes from knowing what it entails just to get that far, so the amount of entertainment you derive from that may be far less. In fact, I suspect that for most people at this point the most amusing thing about Wadzilla will be the very concept of its existence - and of course the name, which I will take credit for while also acknowledging how fortuitous it is that the project practically named itself. “What should I name a tool that converts WAD to ZIL? Oh yeah, right. Of course. Wadzilla.”
I share it in this early stage because I suspect many in this audience may enjoy just reading about it, and many others might be excited by it and want to contribute to the effort, and also because I welcome feedback here and contributions by way of GitHub issues and PRs.
But I shouldn't complain too much, FOSS communities are very nearsighted and usually sleep on .NET, let alone using proper .NET LTS versions (8 currently), which this project does, and it's always something nice to see out there.
I am working on some additional progress toward making it plug-and-play. I’ll work on a demo.
Thanks for the feedback, quuxplusone (and everyone)!
>bin\Zilf.exe doomv109.zil ZILF 0.9 built 8/11/2019 4:30:42 AM [error MDL0128] doomv109.zil:1: ROOM: arg 1: expected ATOM
[error MDL0113] doomv109.zil:2: unrecognized value in DECL pattern: -48 [error MDL0215] doomv109.zil:2: GVAL: atom 'CEILING' has no global value
[error MDL0113] doomv109.zil:2: unrecognized value in DECL pattern: 80 [error MDL0113] doomv109.zil:3: unrecognized atom in DECL pattern: Unknown [error MDL0113] doomv109.zil:4: unrecognized atom in DECL pattern: Unknown [error MDL0113] doomv109.zil:5: unrecognized atom in DECL pattern: - [error MDL0113] doomv109.zil:17: unrecognized atom in DECL pattern: ROOM [error MDL0113] doomv109.zil:20: unrecognized value in DECL pattern: -48 [error MDL0215] doomv109.zil:20: GVAL: atom 'CEILING' has no global value
[error MDL0113] doomv109.zil:20: unrecognized value in DECL pattern: 80 [error MDL0113] doomv109.zil:21: unrecognized atom in DECL pattern: Unknown [error MDL0113] doomv109.zil:22: unrecognized atom in DECL pattern: Unknown [error MDL0113] doomv109.zil:23: unrecognized atom in DECL pattern: - [error MDL0113] doomv109.zil:47: unrecognized atom in DECL pattern: - [error MDL0128] doomv109.zil:48: GVAL: arg 1: expected ATOM
[error MDL0128] doomv109.zil:50: ROOM: arg 1: expected ATOM
[error MDL0113] doomv109.zil:51: unrecognized value in DECL pattern: 0 [error MDL0215] doomv109.zil:51: GVAL: atom 'CEILING' has no global value
>bin\Zilf.exe freedoom1.zil ZILF 0.9 built 8/11/2019 4:30:42 AM [error MDL0128] freedoom1.zil:1: ROOM: arg 1: expected ATOM
[error MDL0113] freedoom1.zil:2: unrecognized value in DECL pattern: 0 [error MDL0215] freedoom1.zil:2: GVAL: atom 'CEILING' has no global value
[error MDL0113] freedoom1.zil:2: unrecognized value in DECL pattern: 104 [error MDL0113] freedoom1.zil:3: unrecognized atom in DECL pattern: Unknown [error MDL0113] freedoom1.zil:4: unrecognized atom in DECL pattern: Unknown [error MDL0113] freedoom1.zil:5: unrecognized atom in DECL pattern: - [error MDL0113] freedoom1.zil:7: unrecognized atom in DECL pattern: STARGR1 [error MDL0215] <internally created FORM>: GVAL: atom 'Left' has no global value
[error MDL0113] freedoom1.zil:8: unrecognized atom in DECL pattern: SKSNAKE2 [error MDL0113] freedoom1.zil:9: unrecognized atom in DECL pattern: SKSNAKE2 [error MDL0113] freedoom1.zil:10: unrecognized atom in DECL pattern: SKSNAKE2 [error MDL0113] freedoom1.zil:11: unrecognized atom in DECL pattern: SKSNAKE2 [error MDL0113] freedoom1.zil:12: unrecognized atom in DECL pattern: ROOM [error MDL0113] freedoom1.zil:15: unrecognized value in DECL pattern: 0 [error MDL0215] freedoom1.zil:15: GVAL: atom 'CEILING' has no global value
https://github.com/freedoom/freedoom/releases/download/v0.13...
If that's the complete Doom IWaD, you can be in trouble as it's copyrighted.
Also - IMNSHO the obvious name for this project is Zoom - but that's been taken by a similar game where you slay your coworkers by talking too much.
The next obvious candidate therefore is Dork :)
Also.. screenshots? Of text. Text describing a 2.5D world comprised of 2D graphics rendered in 3D for presentation on a 2D display in our 3D world? Yeah, you’ve got the spirit! :-)
How about calling it "d41d8cd98f00b204e9800998ecf8427e" ?
I hoped that proffering this idea here would be fruitful and prosperous, and already I am satisfied. Thanks.
Or we could do the same for an adventure game which has more story than Doom.
- rendering Doom then using an LLM to get a text description of the scene
- asking the user what to do
- converting their text action into a couple seconds of doom input
- re-render and repeat until dead or stage clear.
I was wrong but still fun to think about!
Albeit an action game (a roguelike) remade into an adventure interface exists today:
https://ifdb.org/viewgame?id=f7zdhxmiraht53d1
But, OFC, any MUD did this since forever. Attacks, spells, avoidings, parries, dashes, steals, stabs...
The Z-Machine was far more capable than that. It had a complicated LISP-inspired object system and a parser capable of a relatively huge vocabulary and you could map just about whatever "spatial relationships" you wanted between the vocabulary and objects. Even the original Zork itself you'd be unable to complete if you assumed the only available directions were compass directions/corners/up/down/in/out. There are some tricky shortcuts and couple places the Zork dungeon violates a strict grid. DOOM has the much more limited map structure than the Z-Machine (given the way its BSP worked it had a very strong Euclidean graph and lots of limits on how rooms connect; which its amazing MyHouse.WAD works at all, it would have been a lot easier to build on the Z-Machine).
Also, further the features of the Z-Machine depend on the version of the Z-Machine and some of the later Z-Machines got extremely complex. Versions 6, 7, and 8 even had modest graphics support. (It might be neat with the project here to try to screenshot DOOM rooms and include in Z6+ Z-Machine files.)
https://github.com/scottvr/wadzilla/commit/b92f90070726088ba...