fraggle Posted August 31, 2019 How small can an IWAD be? That's the task I set myself when putting together miniwad.wad. To clarify the aim, I set myself two additional goals: Doom II compatible, and "vaguely playable". It's not intended to look pretty, but you could in theory play the game this way. Featuring: File size is less than 250 KiB, and only 45 KiB when compressed. BYOL (Bring Your Own Level). The idea here is that you take any of the well-known megaWADs from idgames and play one of those. Otherwise you get 30 levels of the same tiny stub room. Usable menus. No music. Flat shaded walls and floors. There's a palette of eight colors; the textures from Freedoom were processed and each assigned to one of the eight. Mid-space "fence" textures do appear correctly. A tiny handful of sprites. All weapons are the same black rectangle; all monsters are the same creepy black silhouette; all items look like the same grey unlabelled box; all obstacles look like the same pillar. Multiplayer is supported. Players will look like a black silhouette wearing a vest. Two sound effects - gunshot and "pip". There are PC speaker versions of the same. Final Doom textures are included, so you can play WADs like PL2.WAD with this. BSD licensed, like Freedoom is. So, why do this? I had the idea for a while, but a discussion with Linguica prompted me to see what I could achieve. It's mostly a technical challenge just to see how small an IWAD could be, but it is potentially useful to have such a WAD. For example, if you're developing a source port or Doom-related tool and need an IWAD for running automated tests, you can use this - it's small enough that it won't take up lots of space in your Git repository. You can also distribute this as a fallback IWAD, knowing that it will only add 45 KiB to the download size of your tool. Although this is intended as a technical exercise, the result is still kind of interesting from an artistic perspective. This is still Doom, stripped down to the bones and barely recognisable. Nothing about the game's behaviour has changed, but without any of the usual artwork it looks barren. With the heavy reuse of sprites it seems very monotonous: you're exploring a place; there are monsters, they shoot you; you have guns, you can shoot them back. How did I do this? The whole thing was created from the start with wadptr in mind. This is a tool I wrote years ago to compress WAD files. Specifically, it can merge identical lumps and make graphic lumps smaller if there are identical columns. That's why the textures are all flat-shaded and use a limited palette: every 128x128 red wall texture is merged together inside the WAD for example, and since every column is identical, it squashes down to only 653 bytes. A lot of the sprites are symmetrical for the same reason (repeated columns). I have some ideas about how it might be compressed even further but for the time being I'm reasonably satisfied; wadptr reduces the file size by 97%. The "heavy lifting" was done with some Python scripting using the Pillow library to analyse the Freedoom texture set and generate the flat-shaded textures. Sprites were assigned from a set of templates using DEH 9000 to walk through Doom's state tables. 51 Quote Share this post Link to post
m8f Posted August 31, 2019 I was thinking about replacing Freedoom in this Quote example, if you're developing a source port or Doom-related tool and need an IWAD for running automated tests scenario in my project, but was surprised to find that GZDoom's load time is the same. Still, there is a reason to use miniwad.wad instead, because in this case CI machine won't have to download freedoom. Thanks, fraggle! 2 Quote Share this post Link to post
Pegleg Posted August 31, 2019 19 minutes ago, fraggle said: File size is less than 250 KiB, and only 45 KiB when compressed. BYOL (Bring Your Own Level). The idea here is that you take any of the well-known megaWADs from idgames and play one of those. Otherwise you get 30 levels of the same tiny stub room. Usable menus. No music. Flat shaded walls and floors. There's a palette of eight colors; the textures from Freedoom were processed and each assigned to one of the eight. Mid-space "fence" textures do appear correctly. A tiny handful of sprites. All weapons are the same black rectangle; all monsters are the same creepy black silhouette; all items look like the same grey unlabelled box; all obstacles look like the same pillar. Multiplayer is supported. Players will look like a black silhouette wearing a vest. Two sound effects - gunshot and "pip". There are PC speaker versions of the same. Final Doom textures are included, so you can play WADs like PL2.WAD with this. BSD licensed, like Freedoom is. Nice work! You've managed to make a version of "Doom" that could fit on a single 5.25" floppy disk. This is what I imagine Doom might have looked like had it been created about 10 years earlier (minus the speed and probably scaling of light levels with distance). 3 Quote Share this post Link to post
I_Am_Doom_Man Posted August 31, 2019 Finally I can run Doom on my apple 2. 9 Quote Share this post Link to post
Jayextee Posted August 31, 2019 I unironically love the aesthetic and wonder when an Atari 2600 DOOM TC is coming next. <3 9 Quote Share this post Link to post
xvertigox Posted August 31, 2019 (edited) What a cool concept! Great release fraggle, props. edit: @DuckReconMajor r_picmip 16 all day everyday Edited August 31, 2019 by xvertigox 1 Quote Share this post Link to post
DuckReconMajor Posted August 31, 2019 I love this! Maybe someone has mentioned this already but it looks like when pro Quake 3 players would turn off all the textures. 4 Quote Share this post Link to post
reflex17 Posted August 31, 2019 (edited) wow that extreme detailing on the switches and key stripes really blows me away. Really pulls together the focal points. And the sheer amount of pixels in the nukage barrels makes them near photo-realistic, I feel like I'm actually there! All silliness aside though this is outstanding, it exemplifies modern dependency on fancy grayfix and is a good example to show the value of strict gameplay and map layout. It doesn't matter how many shadow silhouette figures with red dot pixel guns there are, what's important is how they're placed!!! As a big fan of retro games there is uncanny enjoyment to be had here. Top quality efforts my good sir. Edited August 31, 2019 by reflex17 3 Quote Share this post Link to post
DuckReconMajor Posted September 1, 2019 Attempted E1 skill 4 with it. Very different visceral feel. 7 Quote Share this post Link to post
Matias Posted September 1, 2019 This is weirdly creepy(ish) in darker areas, especially the lost souls. Here is a my gameplay video, I played this with "luigi's mansion" custom wad and my preferred gzdoom features. 3 Quote Share this post Link to post
Kyka Posted September 2, 2019 Obviously you changed the sounds, but did you make any changes to the way sound is handled by the engine? Great idea though. Well done. 0 Quote Share this post Link to post
okbuddy Posted September 2, 2019 What are you using for MIDI playback for the demo video music in the OP? I really like the way they sound. 1 Quote Share this post Link to post
taufan99 Posted April 11, 2020 Looks like a good device to start hacking 'n' experimenting! Also, I know this has been a while, but I suggest renaming miniwad.wad to miniiwad.wad. I wonder if some people can confuse the original name as a miniwad (a DOOM II WAD with less than 10-15 custom maps). 0 Quote Share this post Link to post
joe-ilya Posted April 11, 2020 I like how the hud weapon is a censor bar. 1 Quote Share this post Link to post
BigBoy91 Posted April 11, 2020 This is just how the average zoomer sees Doom these days. 7 Quote Share this post Link to post
Dark Pulse Posted May 17, 2020 A level of efficiency and reduction that Clive Sinclair would have wet dreams over. 1 Quote Share this post Link to post
fraggle Posted November 23, 2020 I think this counts as a relevant bump: this person was able to use miniwad to get Doom running on the new Nintendo Game & Watch machines: Pretty cool to see this project proving useful! 15 Quote Share this post Link to post
brightentayle Posted May 28, 2023 (edited) So, purely for science, I've decided to check if I could make miniwad even smaller and, uh... I mean yeah, it had plenty of uncropped sprites which I had to deal with, but I didn't stop there, o no no no no no no no no no no no With ginormous amounts of voodoo magic, I brought it down from 230 497 bytes to a measly 211 073. 211K. Severely optimised miniwad - 2023-05-28.7z EDIT: Realised shortly after that I'm a dumbass and that I forgot to include a few patches and one flat. Oh well. Edited May 29, 2023 by brightentayle 2 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.