This case study was done using ZokumBSP 1.0.9-rc1. Newer versions may change the data produced.
One of the goals of ZokumBSP was to reduce the blockmap so that one could make even bigger maps. One of the datasets used heavily in the testing looked at was Alien Vendetta. This 32 map set for Doom 2 is well known in the community for being a high quality map set, utilizing many complex special effects, advanced level geometry and most importantly for for the goals of ZokumBSP, several very large maps, made by different people and with different tool chains. There is an earlier case study that goes into detail about various options and the results.
This test is performed without updating the reject tables and node tree.
$ ./ZokumBSP -n- -r- -t -bso=3z=0g=0 av.wad ZokumBSP Version: 1.0.9-rc1 (c) 2016-2017 Kim Roar Foldøy Hauge Based on: ZenNode Version 1.2.1 (c) 1994-2004 Marc Rousseau Working on: av.wad MAP01 : GEOMETRY - 1359/1359 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 4074/5386 (75.64%) Compressed: 91.76% 0.011 secs MAP02 : GEOMETRY - 1203/1203 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 4360/5228 (83.40%) Compressed: 91.67% 0.013 secs MAP03 : GEOMETRY - 2549/2549 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 13828/16900 (81.82%) Compressed: 68.97% 0.100 secs MAP04 : GEOMETRY - 2418/2418 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 12988/16192 (80.21%) Compressed: 71.48% 0.152 secs MAP05 : GEOMETRY - 2328/2328 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 8168/9630 (84.82%) Compressed: 83.38% 0.026 secs MAP06 : GEOMETRY - 2192/2192 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 15194/31992 (47.49%) Compressed: 67.54% 0.191 secs MAP07 : GEOMETRY - 1355/1355 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 7210/9072 (79.48%) Compressed: 76.95% 0.073 secs MAP08 : GEOMETRY - 2602/2602 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 21350/25490 (83.76%) Compressed: 61.07% 0.228 secs MAP09 : GEOMETRY - 3729/3729 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 14182/18276 (77.60%) Compressed: 81.08% 0.096 secs MAP10 : GEOMETRY - 7555/7555 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 24630/29086 (84.68%) Compressed: 92.53% 0.146 secs MAP11 : GEOMETRY - 8299/8299 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 35758/41868 (85.41%) Compressed: 74.35% 0.443 secs MAP12 : GEOMETRY - 3193/3193 lines Reduced to: 100.00 0.002 secs * BLOCKMAP - 13468/16592 (81.17%) Compressed: 82.09% 0.128 secs MAP13 : GEOMETRY - 3005/3005 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 18392/22036 (83.46%) Compressed: 70.51% 0.179 secs MAP14 : GEOMETRY - 3991/3991 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 18178/22924 (79.30%) Compressed: 79.22% 0.232 secs MAP15 : GEOMETRY - 3435/3435 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 18206/22978 (79.23%) Compressed: 71.47% 0.269 secs MAP16 : GEOMETRY - 3110/3110 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 12806/15816 (80.97%) Compressed: 83.72% 0.101 secs MAP17 : GEOMETRY - 2099/2099 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 8576/10524 (81.49%) Compressed: 79.70% 0.032 secs MAP18 : GEOMETRY - 4817/4817 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 25306/31080 (81.42%) Compressed: 72.93% 0.426 secs MAP19 : GEOMETRY - 5353/5353 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 25312/29028 (87.20%) Compressed: 75.88% 0.201 secs MAP20 : GEOMETRY - 14839/14839 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 51470/65114 (79.05%) Compressed: 84.82% 0.930 secs MAP21 : GEOMETRY - 4366/4366 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 11978/13188 (90.82%) Compressed: 95.41% 0.017 secs MAP22 : GEOMETRY - 2223/2223 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 9370/11164 (83.93%) Compressed: 84.05% 0.052 secs MAP23 : GEOMETRY - 5295/5295 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 21344/28308 (75.40%) Compressed: 82.88% 0.273 secs MAP24 : GEOMETRY - 3982/3982 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 26184/50166 (52.19%) Compressed: 69.97% 0.325 secs MAP25 : GEOMETRY - 7095/7095 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 37106/64088 (57.90%) Compressed: 75.85% 0.696 secs MAP26 : GEOMETRY - 4710/4710 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 20188/25578 (78.93%) Compressed: 79.95% 0.289 secs MAP27 : GEOMETRY - 7328/7328 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 38080/47002 (81.02%) Compressed: 75.39% 0.774 secs MAP28 : GEOMETRY - 6700/6700 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 26372/30490 (86.49%) Compressed: 85.39% 0.203 secs MAP29 : GEOMETRY - 4111/4111 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 19634/24334 (80.69%) Compressed: 78.34% 0.238 secs MAP30 : GEOMETRY - 1952/1952 lines Reduced to: 100.00 0.001 secs * BLOCKMAP - 14172/16968 (83.52%) Compressed: 63.31% 0.116 secs MAP31 : GEOMETRY - 4816/4816 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 19292/24852 (77.63%) Compressed: 79.14% 0.177 secs MAP32 : GEOMETRY - 914/914 lines Reduced to: 100.00 0.000 secs * BLOCKMAP - 5536/6910 (80.12%) Compressed: 72.77% 0.043 secs Changes would have been written to av.wad ( 23,633,203 bytes ) 32 Levels processed in 7.195 seconds - 32 Levels need updating. 0.224844 secs/level |
./ZokumBSP -n- -r- -bg=2o=2z=0s av.wad ZokumBSP Version: 1.0.9-rc1 (c) 2016-2017 Kim Roar Foldøy Hauge Based on: ZenNode Version 1.2.1 (c) 1994-2004 Marc Rousseau Working on: av.wad MAP01 : GEOMETRY - 1147/1359 lines Reduced to: 84.40% 0.015 secs * BLOCKMAP - 3634/4074 (89.20%) Compressed: 90.49% 0.011 secs MAP02 : GEOMETRY - 1011/1203 lines Reduced to: 84.04% 0.130 secs * BLOCKMAP - 3976/4360 (91.19%) Compressed: 90.94% 0.014 secs MAP03 : GEOMETRY - 2311/2549 lines Reduced to: 90.66% 0.149 secs * BLOCKMAP - 13376/13828 (96.73%) Compressed: 68.24% 0.108 secs MAP04 : GEOMETRY - 2055/2418 lines Reduced to: 84.99% 0.150 secs * BLOCKMAP - 12074/12988 (92.96%) Compressed: 69.17% 0.156 secs MAP05 : GEOMETRY - 2136/2328 lines Reduced to: 91.75% 0.143 secs * BLOCKMAP - 7784/8168 (95.30%) Compressed: 82.70% 0.027 secs MAP06 : GEOMETRY - 1994/2192 lines Reduced to: 90.97% 0.141 secs * BLOCKMAP - 14792/15194 (97.35%) Compressed: 66.93% 0.195 secs MAP07 : GEOMETRY - 1218/1355 lines Reduced to: 89.89% 0.013 secs * BLOCKMAP - 6936/7210 (96.20%) Compressed: 76.25% 0.074 secs MAP08 : GEOMETRY - 2360/2602 lines Reduced to: 90.70% 0.150 secs * BLOCKMAP - 20800/21350 (97.42%) Compressed: 60.32% 0.232 secs MAP09 : GEOMETRY - 3475/3729 lines Reduced to: 93.19% 0.289 secs * BLOCKMAP - 13562/14182 (95.63%) Compressed: 79.96% 0.098 secs MAP10 : GEOMETRY - 6914/7555 lines Reduced to: 91.52% 0.532 secs * BLOCKMAP - 23278/24630 (94.51%) Compressed: 92.45% 0.160 secs MAP11 : GEOMETRY - 7777/8299 lines Reduced to: 93.71% 0.554 secs * BLOCKMAP - 34704/35758 (97.05%) Compressed: 73.76% 0.457 secs MAP12 : GEOMETRY - 2616/3193 lines Reduced to: 81.93% 0.165 secs * BLOCKMAP - 12308/13468 (91.39%) Compressed: 80.44% 0.150 secs MAP13 : GEOMETRY - 2498/3005 lines Reduced to: 83.13% 0.160 secs * BLOCKMAP - 17258/18392 (93.83%) Compressed: 68.83% 0.196 secs MAP14 : GEOMETRY - 3309/3991 lines Reduced to: 82.91% 0.300 secs * BLOCKMAP - 16748/18178 (92.13%) Compressed: 77.59% 0.263 secs MAP15 : GEOMETRY - 2946/3435 lines Reduced to: 85.76% 0.170 secs * BLOCKMAP - 17126/18206 (94.07%) Compressed: 69.88% 0.282 secs MAP16 : GEOMETRY - 2688/3110 lines Reduced to: 86.43% 0.165 secs * BLOCKMAP - 11958/12806 (93.38%) Compressed: 82.59% 0.113 secs MAP17 : GEOMETRY - 1939/2099 lines Reduced to: 92.38% 0.140 secs * BLOCKMAP - 8174/8576 (95.31%) Compressed: 78.30% 0.033 secs MAP18 : GEOMETRY - 4355/4817 lines Reduced to: 90.41% 0.322 secs * BLOCKMAP - 24260/25306 (95.87%) Compressed: 71.83% 0.463 secs MAP19 : GEOMETRY - 4689/5353 lines Reduced to: 87.60% 0.340 secs * BLOCKMAP - 23970/25312 (94.70%) Compressed: 74.79% 0.221 secs MAP20 : GEOMETRY - 13698/14839 lines Reduced to: 92.31% 1.193 secs * BLOCKMAP - 49026/51470 (95.25%) Compressed: 83.95% 0.963 secs MAP21 : GEOMETRY - 4062/4366 lines Reduced to: 93.04% 0.302 secs * BLOCKMAP - 11376/11978 (94.97%) Compressed: 95.18% 0.018 secs MAP22 : GEOMETRY - 2005/2223 lines Reduced to: 90.19% 0.142 secs * BLOCKMAP - 8930/9370 (95.30%) Compressed: 83.36% 0.057 secs MAP23 : GEOMETRY - 4995/5295 lines Reduced to: 94.33% 0.330 secs * BLOCKMAP - 20736/21344 (97.15%) Compressed: 82.40% 0.285 secs MAP24 : GEOMETRY - 3801/3982 lines Reduced to: 95.45% 0.291 secs * BLOCKMAP - 25790/26184 (98.50%) Compressed: 69.65% 0.337 secs MAP25 : GEOMETRY - 6204/7095 lines Reduced to: 87.44% 0.626 secs * BLOCKMAP - 35260/37106 (95.03%) Compressed: 74.75% 0.772 secs MAP26 : GEOMETRY - 4134/4710 lines Reduced to: 87.77% 0.319 secs * BLOCKMAP - 19002/20188 (94.13%) Compressed: 78.85% 0.306 secs MAP27 : GEOMETRY - 6656/7328 lines Reduced to: 90.83% 0.528 secs * BLOCKMAP - 36678/38080 (96.32%) Compressed: 74.61% 0.810 secs MAP28 : GEOMETRY - 6177/6700 lines Reduced to: 92.19% 0.158 secs * BLOCKMAP - 25314/26372 (95.99%) Compressed: 84.87% 0.232 secs MAP29 : GEOMETRY - 3789/4111 lines Reduced to: 92.17% 0.069 secs * BLOCKMAP - 18970/19634 (96.62%) Compressed: 77.69% 0.246 secs MAP30 : GEOMETRY - 1768/1952 lines Reduced to: 90.57% 0.022 secs * BLOCKMAP - 13798/14172 (97.36%) Compressed: 62.64% 0.120 secs MAP31 : GEOMETRY - 4114/4816 lines Reduced to: 85.42% 0.097 secs * BLOCKMAP - 17816/19292 (92.35%) Compressed: 77.58% 0.205 secs MAP32 : GEOMETRY - 833/914 lines Reduced to: 91.14% 0.008 secs * BLOCKMAP - 5374/5536 (97.07%) Compressed: 72.17% 0.046 secs Saving to av.wad... 32 Levels processed in 15.763 seconds - 32 Levels needed updating. 0.492594 secs/level |
The level of improvement is noticable on all of the maps, ranging from as low as a 98.50% of the original size on map24 to map01, where the reduction results in a blockmap that is 89.20% of the original size. The biggest map in the set, map20, that in the release version was near the limit of a blockamp, is with this additional algorithm reduced from 51470 bytes to 49026 bytes, 95.25% of the compressed size.
Reducing the geometry of the collission is not only a viable way to reduce the blockmap in most cases, it is also a useful tool in the hand of the map designer. Since splitting lines so that the two new lines still point in the exact same direction will no longer add to the size of the blockmap, detail can be added to a map without overflowing the maximum lump size. The simplified geoemtry also leads to fewer collission detection tests runetime, and potentially a higher framerate.
It should be noted that new lines will show up in an editor if one tries to edit a map with this type of geometry, since the known editors aren't aware of this technique. This algorithm is an advanced technique and should only be used for final versions of maps and maps where one is very near the size limit and other techniques do not yield satisfactory results.