Posts for Deadcode


Post subject: Level 3-9
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
I ran DDD on level 3-9 for a while, this being the only remaining one out of the five even close to being solvable with DDD (at least in its current design). Projecting forward from this, I estimate it would take 2-3 petabytes and 10-20 years to complete. I was hoping it'd surprise me and slow down its growth, but alas, it's shown no sign of doing that. With this estimate done, I'll finally now be using my new disk space for its primary intended purpose instead of DDD.
Kwirk Level 28 (3-9), Bird's-eye View: 18x16, 1 players
Optimized version
Using 17 WinAPI threads (with 1024 node chunks) with WinAPI sync and compiler TLS
Compressed state is 173 bits (22 bytes data, 23 bytes per closed node, 24 bytes per open node)
Using 34359738368 bytes of RAM for 1431655765 buffer nodes
Using Windows API files with unbuffered disk I/O
Frame-group   0x/390x:            1 nodes,             1 total; Expanding...    2.806 s; Merging...    0.014 s,            2 nodes; Combining...     0.310 s (     3.130 s)
Frame-group   1x/390x:            2 nodes,             3 total; Expanding...    0.015 s; Merging...    0.014 s,            3 nodes; Combining...     0.123 s (     0.152 s)
Frame-group   2x/390x:            3 nodes,             6 total; Expanding...    0.015 s; Merging...    0.013 s,            4 nodes; Combining...     0.129 s (     0.157 s)
Frame-group   3x/390x:            3 nodes,            10 total; Expanding...    0.014 s; Merging...    0.014 s,            7 nodes; Combining...     0.124 s (     0.152 s)
Frame-group   4x/390x:            5 nodes,            17 total; Expanding...    0.015 s; Merging...    0.013 s,           11 nodes; Combining...     0.123 s (     0.151 s)
Frame-group   5x/390x:            2 nodes,            26 total; Expanding...    0.029 s; Merging...    0.013 s,            4 nodes; Combining...     0.126 s (     0.168 s)
Frame-group   6x/390x:            5 nodes,            27 total; Expanding...    0.015 s; Merging...    0.013 s,           16 nodes; Combining...     0.145 s (     0.173 s)
Frame-group   7x/390x:            1 nodes,            39 total; Expanding...    0.015 s; Merging...    0.013 s,            1 nodes; Combining...     0.130 s (     0.158 s)
Frame-group   8x/390x:            4 nodes,            39 total; Expanding...    0.014 s; Merging...    0.013 s,            9 nodes; Combining...     0.131 s (     0.158 s)
Frame-group   9x/390x:            0 nodes,            46 total; Expanding...    0.010 s; Merging...    0.009 s,            0 nodes; Combining...     0.128 s (     0.147 s)
Frame-group  10x/390x:            7 nodes,            46 total; Expanding...    0.015 s; Merging...    0.013 s,           31 nodes; Combining...     0.126 s (     0.154 s)
Frame-group  11x/390x:            4 nodes,            73 total; Expanding...    0.014 s; Merging...    0.014 s,           25 nodes; Combining...     0.126 s (     0.154 s)
Frame-group  12x/390x:           13 nodes,            94 total; Expanding...    0.015 s; Merging...    0.013 s,           41 nodes; Combining...     0.124 s (     0.152 s)
Frame-group  13x/390x:           10 nodes,           126 total; Expanding...    0.015 s; Merging...    0.014 s,           67 nodes; Combining...     0.123 s (     0.152 s)
Frame-group  14x/390x:           20 nodes,           190 total; Expanding...    0.015 s; Merging...    0.013 s,           76 nodes; Combining...     0.123 s (     0.151 s)
Frame-group  15x/390x:           19 nodes,           248 total; Expanding...    0.015 s; Merging...    0.017 s,          141 nodes; Combining...     0.124 s (     0.156 s)
Frame-group  16x/390x:           29 nodes,           362 total; Expanding...    0.015 s; Merging...    0.013 s,          164 nodes; Combining...     0.123 s (     0.151 s)
Frame-group  17x/390x:           43 nodes,           495 total; Expanding...    0.015 s; Merging...    0.013 s,          295 nodes; Combining...     0.130 s (     0.158 s)
Frame-group  18x/390x:           47 nodes,           738 total; Expanding...    0.015 s; Merging...    0.013 s,          390 nodes; Combining...     0.127 s (     0.155 s)
Frame-group  19x/390x:          104 nodes,          1007 total; Expanding...    0.015 s; Merging...    0.013 s,          796 nodes; Combining...     0.124 s (     0.152 s)
Frame-group  20x/390x:          104 nodes,          1601 total; Expanding...    0.015 s; Merging...    0.013 s,          850 nodes; Combining...     0.125 s (     0.153 s)
Frame-group  21x/390x:          179 nodes,          2173 total; Expanding...    0.015 s; Merging...    0.013 s,         1443 nodes; Combining...     0.139 s (     0.167 s)
Frame-group  22x/390x:          273 nodes,          3121 total; Expanding...    0.025 s; Merging...    0.013 s,         2149 nodes; Combining...     0.142 s (     0.180 s)
Frame-group  23x/390x:          365 nodes,          4636 total; Expanding...    0.016 s; Merging...    0.013 s,         3117 nodes; Combining...     0.129 s (     0.158 s)
Frame-group  24x/390x:          589 nodes,          6735 total; Expanding...    0.016 s; Merging...    0.013 s,         4774 nodes; Combining...     0.125 s (     0.154 s)
Frame-group  25x/390x:          786 nodes,          9803 total; Expanding...    0.017 s; Merging...    0.014 s,         6322 nodes; Combining...     0.126 s (     0.157 s)
Frame-group  26x/390x:         1254 nodes,         13789 total; Expanding...    0.017 s; Merging...    0.013 s,         9946 nodes; Combining...     0.125 s (     0.155 s)
Frame-group  27x/390x:         1435 nodes,         19630 total; Expanding...    0.018 s; Merging...    0.013 s,        11370 nodes; Combining...     0.141 s (     0.172 s)
Frame-group  28x/390x:         2474 nodes,         26211 total; Expanding...    0.019 s; Merging...    0.013 s,        19349 nodes; Combining...     0.125 s (     0.157 s)
Frame-group  29x/390x:         2511 nodes,         36423 total; Expanding...    0.018 s; Merging...    0.013 s,        19987 nodes; Combining...     0.127 s (     0.158 s)
Frame-group  30x/390x:         4434 nodes,         47466 total; Expanding...    0.024 s; Merging...    0.013 s,        34042 nodes; Combining...     0.129 s (     0.166 s)
Frame-group  31x/390x:         4147 nodes,         63434 total; Expanding...    0.019 s; Merging...    0.032 s,        33213 nodes; Combining...     0.159 s (     0.210 s)
Frame-group  32x/390x:         7440 nodes,         80403 total; Expanding...    0.030 s; Merging...    0.013 s,        56269 nodes; Combining...     0.130 s (     0.173 s)
Frame-group  33x/390x:         6979 nodes,        105338 total; Expanding...    0.023 s; Merging...    0.014 s,        55825 nodes; Combining...     0.131 s (     0.168 s)
Frame-group  34x/390x:        11549 nodes,        132749 total; Expanding...    0.027 s; Merging...    0.014 s,        87708 nodes; Combining...     0.130 s (     0.171 s)
Frame-group  35x/390x:        11560 nodes,        170265 total; Expanding...    0.061 s; Merging...    0.014 s,        92017 nodes; Combining...     0.142 s (     0.217 s)
Frame-group  36x/390x:        16813 nodes,        213392 total; Expanding...    0.031 s; Merging...    0.014 s,       131246 nodes; Combining...     0.137 s (     0.182 s)
Frame-group  37x/390x:        18482 nodes,        269464 total; Expanding...    0.050 s; Merging...    0.035 s,       149213 nodes; Combining...     0.243 s (     0.328 s)
Frame-group  38x/390x:        23880 nodes,        336096 total; Expanding...    0.037 s; Merging...    0.017 s,       195743 nodes; Combining...     0.177 s (     0.231 s)
Frame-group  39x/390x:        28319 nodes,        421719 total; Expanding...    0.041 s; Merging...    0.014 s,       238891 nodes; Combining...     0.147 s (     0.202 s)
Frame-group  40x/390x:        33548 nodes,        525014 total; Expanding...    0.049 s; Merging...    0.013 s,       281877 nodes; Combining...     0.152 s (     0.214 s)
Frame-group  41x/390x:        43865 nodes,        652389 total; Expanding...    0.059 s; Merging...    0.014 s,       379581 nodes; Combining...     0.159 s (     0.232 s)
Frame-group  42x/390x:        49156 nodes,        816143 total; Expanding...    0.222 s; Merging...    0.087 s,       428576 nodes; Combining...     0.170 s (     0.479 s)
Frame-group  43x/390x:        68365 nodes,       1013387 total; Expanding...    0.148 s; Merging...    0.014 s,       596597 nodes; Combining...     0.181 s (     0.343 s)
Frame-group  44x/390x:        74649 nodes,       1268512 total; Expanding...    0.082 s; Merging...    0.013 s,       656403 nodes; Combining...     0.190 s (     0.285 s)
Frame-group  45x/390x:       106991 nodes,       1564547 total; Expanding...    0.115 s; Merging...    0.013 s,       926067 nodes; Combining...     0.209 s (     0.337 s)
Frame-group  46x/390x:       118626 nodes,       1954191 total; Expanding...    0.140 s; Merging...    0.013 s,      1028838 nodes; Combining...     0.243 s (     0.396 s)
Frame-group  47x/390x:       163693 nodes,       2396752 total; Expanding...    0.192 s; Merging...    0.015 s,      1399435 nodes; Combining...     0.256 s (     0.463 s)
Frame-group  48x/390x:       189104 nodes,       2968785 total; Expanding...    0.193 s; Merging...    0.014 s,      1605785 nodes; Combining...     0.286 s (     0.493 s)
Frame-group  49x/390x:       249037 nodes,       3629038 total; Expanding...    0.267 s; Merging...    0.013 s,      2085323 nodes; Combining...     0.324 s (     0.604 s)
Frame-group  50x/390x:       295125 nodes,       4450571 total; Expanding...    0.291 s; Merging...    0.013 s,      2448364 nodes; Combining...     0.368 s (     0.672 s)
Frame-group  51x/390x:       376052 nodes,       5410702 total; Expanding...    0.369 s; Merging...    0.014 s,      3078504 nodes; Combining...     0.426 s (     0.809 s)
Frame-group  52x/390x:       453227 nodes,       6595596 total; Expanding...    0.474 s; Merging...    0.014 s,      3660428 nodes; Combining...     0.496 s (     0.984 s)
Frame-group  53x/390x:       556995 nodes,       7976472 total; Expanding...    0.515 s; Merging...    0.013 s,      4471662 nodes; Combining...     0.567 s (     1.095 s)
Frame-group  54x/390x:       679211 nodes,       9647319 total; Expanding...    0.580 s; Merging...    0.013 s,      5347543 nodes; Combining...     0.660 s (     1.253 s)
Frame-group  55x/390x:       816162 nodes,      11592442 total; Expanding...    0.734 s; Merging...    0.013 s,      6395086 nodes; Combining...     0.753 s (     1.500 s)
Frame-group  56x/390x:       991381 nodes,      13924977 total; Expanding...    0.870 s; Merging...    0.013 s,      7635053 nodes; Combining...     0.897 s (     1.780 s)
Frame-group  57x/390x:      1175083 nodes,      16614733 total; Expanding...    1.016 s; Merging...    0.013 s,      9043862 nodes; Combining...     1.021 s (     2.050 s)
Frame-group  58x/390x:      1414364 nodes,      19831669 total; Expanding...    1.143 s; Merging...    0.013 s,     10674452 nodes; Combining...     1.294 s (     2.450 s)
Frame-group  59x/390x:      1662887 nodes,      23493445 total; Expanding...    1.360 s; Merging...    0.013 s,     12561742 nodes; Combining...     1.532 s (     2.905 s)
Frame-group  60x/390x:      1975462 nodes,      27864074 total; Expanding...    1.559 s; Merging...    0.013 s,     14719303 nodes; Combining...     1.904 s (     3.476 s)
Frame-group  61x/390x:      2305019 nodes,      32832385 total; Expanding...    1.840 s; Merging...    0.013 s,     17223832 nodes; Combining...     2.201 s (     4.054 s)
Frame-group  62x/390x:      2714325 nodes,      38729755 total; Expanding...    2.228 s; Merging...    0.013 s,     20079196 nodes; Combining...     2.393 s (     4.634 s)
Frame-group  63x/390x:      3142711 nodes,      45483336 total; Expanding...    2.543 s; Merging...    0.014 s,     23358066 nodes; Combining...     2.749 s (     5.306 s)
Frame-group  64x/390x:      3682270 nodes,      53422983 total; Expanding...    3.017 s; Merging...    0.014 s,     27219540 nodes; Combining...     3.395 s (     6.426 s)
Frame-group  65x/390x:      4241682 nodes,      62633418 total; Expanding...    3.497 s; Merging...    0.013 s,     31582147 nodes; Combining...     3.655 s (     7.165 s)
Frame-group  66x/390x:      4952659 nodes,      73400574 total; Expanding...    4.084 s; Merging...    0.013 s,     36846196 nodes; Combining...     4.423 s (     8.520 s)
Frame-group  67x/390x:      5686924 nodes,      86047784 total; Expanding...    4.765 s; Merging...    0.014 s,     42698874 nodes; Combining...     5.111 s (     9.890 s)
Frame-group  68x/390x:      6642636 nodes,     100740885 total; Expanding...    5.596 s; Merging...    0.013 s,     50041449 nodes; Combining...     5.836 s (    11.445 s)
Frame-group  69x/390x:      7613602 nodes,     118156971 total; Expanding...    6.358 s; Merging...    0.014 s,     57981424 nodes; Combining...     6.937 s (    13.309 s)
Frame-group  70x/390x:      8949620 nodes,     138377872 total; Expanding...    7.908 s; Merging...    2.433 s,     68509857 nodes; Combining...     7.939 s (    18.280 s)
Frame-group  71x/390x:     10216659 nodes,     162519710 total; Expanding...    9.415 s; Merging...    2.815 s,     79237500 nodes; Combining...     9.198 s (    21.428 s)
Frame-group  72x/390x:     12143965 nodes,     190467770 total; Expanding...   10.094 s; Merging...    3.302 s,     94678641 nodes; Combining...    11.296 s (    24.692 s)
Frame-group  73x/390x:     13837260 nodes,     224119499 total; Expanding...   11.090 s; Merging...    3.765 s,    109529045 nodes; Combining...    12.692 s (    27.547 s)
Frame-group  74x/390x:     16616082 nodes,     263248470 total; Expanding...   10.345 s; Merging...    4.757 s,    132085512 nodes; Combining...    15.058 s (    30.160 s)
Frame-group  75x/390x:     18925721 nodes,     310319070 total; Expanding...   11.978 s; Merging...    5.401 s,    153170700 nodes; Combining...    17.587 s (    34.966 s)
Frame-group  76x/390x:     22995072 nodes,     365495364 total; Expanding...   15.526 s; Merging...    6.555 s,    186027198 nodes; Combining...    21.906 s (    43.987 s)
Frame-group  77x/390x:     26232525 nodes,     431661533 total; Expanding...   14.099 s; Merging...    7.776 s,    216493271 nodes; Combining...    24.836 s (    46.711 s)
Frame-group  78x/390x:     32123845 nodes,     509861877 total; Expanding...   16.267 s; Merging...    9.284 s,    264015618 nodes; Combining...    29.050 s (    54.601 s)
Frame-group  79x/390x:     36953845 nodes,     603186224 total; Expanding...   22.521 s; Merging...   10.937 s,    308769349 nodes; Combining...    33.576 s (    67.034 s)
Frame-group  80x/390x:     45181464 nodes,     713993125 total; Expanding...   23.270 s; Merging...   13.345 s,    376339666 nodes; Combining...    40.205 s (    76.820 s)
Frame-group  81x/390x:     52690280 nodes,     845637806 total; Expanding...   26.679 s; Merging...   15.728 s,    442552457 nodes; Combining...    47.398 s (    89.805 s)
Frame-group  82x/390x:     64056948 nodes,    1002196322 total; Expanding...   28.810 s; Merging...   19.212 s,    537579676 nodes; Combining...    55.751 s (   103.773 s)
Frame-group  83x/390x:     75706307 nodes,    1188031852 total; Expanding...   39.624 s; Merging...   22.425 s,    634921575 nodes; Combining...    65.483 s (   127.532 s)
Frame-group  84x/390x:     91305059 nodes,    1408315857 total; Expanding...   45.685 s; Merging...   28.107 s,    767436986 nodes; Combining...    79.529 s (   153.321 s)
Frame-group  85x/390x:    108752270 nodes,    1669867830 total; Expanding...   52.687 s; Merging...   33.886 s,    907582438 nodes; Combining...    94.653 s (   181.226 s)
Frame-group  86x/390x:    130303820 nodes,    1977436010 total; Expanding...   59.804 s; Merging...   40.639 s,   1091674334 nodes; Combining...   108.842 s (   209.285 s)
Frame-group  87x/390x:    155609213 nodes,    2343997151 total; Expanding...   74.072 s; Merging...   51.473 s,   1289444971 nodes; Combining...   132.194 s (   257.739 s)
Frame-group  88x/390x:    185103529 nodes,    2770565672 total; Expanding...   81.088 s; Merging...   66.020 s,   1542286300 nodes; Combining...   152.494 s (   299.602 s)
Frame-group  89x/390x:    221046815 nodes,    3279646387 total; Expanding...   93.965 s; Merging...   72.925 s,   1818160959 nodes; Combining...   179.609 s (   346.499 s)
Frame-group  90x/390x:    261121267 nodes,    3866404286 total; Expanding...  104.835 s; Merging...   88.436 s,   2159413493 nodes; Combining...   213.463 s (   406.734 s)
Frame-group  91x/390x:    310614563 nodes,    4565156558 total; Expanding...  139.577 s; Merging...  107.124 s,   2539234721 nodes; Combining...   251.451 s (   498.152 s)
Frame-group  92x/390x:    365341294 nodes,    5365534048 total; Expanding...  137.251 s; Merging...  126.672 s,   2994826918 nodes; Combining...   295.062 s (   558.985 s)
Frame-group  93x/390x:    431768697 nodes,    6313100255 total; Expanding...  156.272 s; Merging...  149.203 s,   3510328294 nodes; Combining...   346.382 s (   651.857 s)
Frame-group  94x/390x:    505982216 nodes,    7395468054 total; Expanding...  177.323 s; Merging...  181.676 s,   4110318854 nodes; Combining...   406.993 s (   765.992 s)
Frame-group  95x/390x:    594656020 nodes,    8666126235 total; Expanding...  210.053 s; Merging...  211.134 s,   4805404207 nodes; Combining...   473.815 s (   895.002 s)
Frame-group  96x/390x:    692719157 nodes,   10117815179 total; Expanding...  240.234 s; Merging...  255.255 s,   5581696336 nodes; Combining...   550.532 s (  1046.021 s)
Frame-group  97x/390x:    811669051 nodes,   11804612828 total; Expanding...  278.662 s; Merging...  303.414 s,   6516511031 nodes; Combining...   643.739 s (  1225.815 s)
Frame-group  98x/390x:    937763711 nodes,   13736803015 total; Expanding...  322.125 s; Merging...  353.665 s,   7505192165 nodes; Combining...   748.059 s (  1423.849 s)
Frame-group  99x/390x:   1096504370 nodes,   15955357298 total; Expanding...  375.055 s; Merging...  417.164 s,   8752253492 nodes; Combining...   864.683 s (  1656.902 s)
Frame-group 100x/390x:   1256930473 nodes,   18505509459 total; Expanding...  425.145 s; Merging...  493.208 s,  10005397768 nodes; Combining...  1002.399 s (  1920.752 s)
Frame-group 101x/390x:   1465907159 nodes,   21400867248 total; Expanding...  494.826 s; Merging...  595.474 s,  11646567277 nodes; Combining...  1158.289 s (  2248.589 s)
Frame-group 102x/390x:   1669333297 nodes,   24738920937 total; Expanding...  566.280 s; Merging...  689.002 s,  13238357841 nodes; Combining...  1335.060 s (  2590.342 s)
Frame-group 103x/390x:   1940809983 nodes,   28493886291 total; Expanding...  654.943 s; Merging...  816.192 s,  15364250078 nodes; Combining...  1534.100 s (  3005.235 s)
Frame-group 104x/390x:   2199153606 nodes,   32825505344 total; Expanding...  741.508 s; Merging...  951.657 s,  17396478700 nodes; Combining...  1756.612 s (  3449.777 s)
Frame-group 105x/390x:   2547393505 nodes,   37668159296 total; Expanding...  859.109 s; Merging... 1134.641 s,  20106256616 nodes; Combining...  2017.083 s (  4010.833 s)
Frame-group 106x/390x:   2877788247 nodes,   43245615340 total; Expanding...  966.767 s; Merging... 1322.379 s,  22720865377 nodes; Combining...  2304.849 s (  4593.995 s)
Frame-group 107x/390x:   3315279347 nodes,   49460414188 total; Expanding... 1109.198 s; Merging... 1554.068 s,  26114865797 nodes; Combining...  2641.495 s (  5304.761 s)
Frame-group 108x/390x:   3745404411 nodes,   56587960314 total; Expanding... 1252.631 s; Merging... 1758.086 s,  29511429274 nodes; Combining...  3001.302 s (  6012.019 s)
Frame-group 109x/390x:   4281744800 nodes,   64529363555 total; Expanding... 1464.633 s; Merging... 1986.069 s,  33694806632 nodes; Combining...  3409.840 s (  6860.542 s)
Frame-group 110x/390x:   4846381467 nodes,   73577376304 total; Expanding... 1720.536 s; Merging... 2277.265 s,  38119507888 nodes; Combining...  3907.706 s (  7905.507 s)
Frame-group 111x/390x:   5493469038 nodes,   83677042559 total; Expanding... 1962.955 s; Merging... 2669.730 s,  43228161480 nodes; Combining...  4506.462 s (  9139.147 s)
Frame-group 112x/390x:   6231785300 nodes,   95096251164 total; Expanding... 2198.831 s; Merging... 3210.123 s,  48961140232 nodes; Combining...  5087.093 s ( 10496.047 s)
Frame-group 113x/390x:   7008184357 nodes,  107871169850 total; Expanding... 2435.979 s; Merging... 3591.886 s,  55175588741 nodes; Combining...  5859.210 s ( 11887.075 s)
Frame-group 114x/390x:   7960570555 nodes,  122204749510 total; Expanding... 2826.776 s; Merging... 4226.398 s,  62520496369 nodes; Combining...  6587.812 s ( 13640.986 s)
Frame-group 115x/390x:   8894248636 nodes,  138270588759 total; Expanding... 3131.842 s; Merging... 4777.853 s,  70089878376 nodes; Combining...  7378.791 s ( 15288.486 s)
Frame-group 116x/390x:  10102676932 nodes,  156173015665 total; Expanding... 3873.200 s; Merging... 5518.660 s,  79363678835 nodes; Combining...  8699.624 s ( 18091.484 s)
Frame-group 117x/390x:  11235223693 nodes,  176247958489 total; Expanding... 4031.843 s; Merging... 6234.608 s,  88617179002 nodes; Combining...  9522.192 s ( 19788.643 s)
Frame-group 118x/390x:  12738734003 nodes,  198501314294 total; Expanding... 4627.959 s; Merging... 7017.669 s, 100152861151 nodes; Combining... 10864.267 s ( 22509.895 s)
Frame-group 119x/390x:  14127271670 nodes,  223430037412 total; Expanding... 5095.612 s; Merging... 7645.382 s, 111512207146 nodes; Combining... 11514.640 s ( 24255.634 s)
Frame-group 120x/390x:  15962958537 nodes,  250961308601 total; Expanding... 5817.040 s; Merging... 8763.013 s, 125662656993 nodes; Combining... 13059.979 s ( 27640.032 s)
Frame-group 121x/390x:  17682679236 nodes,  281732484577 total; Expanding... 6340.959 s; Merging... 9991.756 s, 139653082580 nodes; Combining... 14488.221 s ( 30820.936 s)
Frame-group 122x/390x:  19883346078 nodes,  315637243109 total; Expanding... 6982.472 s; Merging...11621.202 s, 156792441297 nodes; Combining... 17499.531 s ( 36103.205 s)
Frame-group 123x/390x:  22025116364 nodes,  353413516638 total; Expanding... 8379.738 s; Merging...13265.094 s, 174048416128 nodes; Combining... 20064.683 s ( 41709.515 s)
Frame-group 124x/390x:  24626788148 nodes,  394977092950 total; Expanding... 8590.819 s; Merging...16282.970 s, 194598466240 nodes; Combining... 20127.140 s ( 45000.929 s)
Frame-group 125x/390x:  27290551572 nodes,  441113362345 total; Expanding... 9645.251 s; Merging...18647.067 s, 215847664905 nodes; Combining... 22645.580 s ( 50937.898 s)
Frame-group 126x/390x:  30344665941 nodes,  491834006138 total; Expanding...10402.646 s; Merging...18769.779 s, 240328026883 nodes; Combining... 25071.283 s ( 54243.708 s)
Frame-group 127x/390x:  33634835248 nodes,  547915714541 total; Expanding...11892.167 s; Merging...21728.937 s, 266361556373 nodes; Combining... 28574.111 s ( 62195.215 s)
Frame-group 128x/390x:  37213078258 nodes,  609523526760 total; Expanding...13630.992 s; Merging...26420.578 s, 295406183478 nodes; Combining... 30820.923 s ( 57241.501 s)
Frame-group 129x/390x:  41235320243 nodes,  677396738594 total; Expanding...14648.431 s; Merging...26625.417 s, 327114540448 nodes; Combining... 34811.462 s ( 76085.310 s)
Frame-group 130x/390x:  45434945000 nodes,  751897515315 total; Expanding...16266.693 s; Merging...30133.962 s, 361492447796 nodes; Combining... 38746.206 s ( 85146.861 s)
Frame-group 131x/390x:  50302629585 nodes,  833704608754 total; Expanding...18156.917 s; Merging...34170.966 s, 399855968958 nodes; Combining... 43355.886 s ( 95683.769 s)
Frame-group 132x/390x:  55248485831 nodes,  923414768666 total; Expanding...19909.688 s; Merging...38119.612 s, 440512858568 nodes; Combining... 46494.881 s (104524.181 s)
Frame-group 133x/390x:  61074883326 nodes, 1021639333733 total; Expanding...22938.015 s; Merging...42910.274 s, 486579435749 nodes; Combining... 52777.526 s (118625.815 s)
Frame-group 134x/390x:  66925382272 nodes, 1129234460902 total; Expanding...24311.440 s; Merging...47233.939 s, 534706152688 nodes; Combining... 57026.356 s (128571.735 s)
Frame-group 135x/390x:  73826895008 nodes, 1246749013460 total; Expanding...30138.340 s; Merging...52781.700 s, 589590031890 nodes; Combining... 62793.465 s (145713.505 s)
Frame-group 136x/390x:  80777839987 nodes, 1375290336390 total; Expanding...30568.238 s; Merging...56701.390 s, 646601737675 nodes; Combining... 71798.527 s (159068.155 s)
Frame-group 137x/390x:  88874318380 nodes, 1515397945086 total; Expanding...39721.979 s; Merging...68678.272 s, 711488932083 nodes; Combining... 76081.375 s (184481.626 s)
Frame-group 138x/390x:  97141598019 nodes, 1668371311843 total; Expanding...34730.056 s; Merging...74788.322 s, 778998609008 nodes; Combining... 84240.866 s (193759.244 s)
Frame-group 139x/390x: 106579860950 nodes, 1834815097065 total
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Deadcode wrote:
Alyosha wrote:
Why do they need to be resolved? Isn't just going back and removing the extra frames at each hole fill sufficient?
Well, probably most of them will end up being the same, but perhaps some solutions can be faster now by filling in extra holes.
I re-solved 24 out of the 25 already-DDD-solved levels (i.e. all except for level 3-6) and as expected, none were more optimal than before by being solved with Bird's-eye View timings. The longest to solve out of those, level 2-2, took 9 days (or 138.8 hours of total run time) in 2010, but just now took only 28.4 hours (one uninterrupted run). It is impossible for level 3-6 to be solved with a shorter solution in Bird's-eye View timings, since at the end of the solution that was optimized using Diagonal View timings, there are only two blocks left over, and neither of them can be pushed into a hole (even from the starting state). Now let's assume that some other solution is possible, in which fewer blocks are pushed into holes. If that were possible, and shorter in Bird's-eye View than the Bird's-eye View port of the Diagonal View optimized solution, then it would also be shorter, when ported to Diagonal View, than the Diagonal View optimized solution, thus it would have been the solution found by DDD using Diagonal View timings. Thus, proof by contradiction, the existing DDD solution is also optimized in Bird's-eye View. So, the 15:12.62 BizHawk 2.9.1 (Gambatte core) replay still stands as my submitted replay.
Alyosha wrote:
Cool, looks good!
Thank you.
Alyosha wrote:
Oh, I was playing around with possible improvements in 3-9, and I ended up with a solution that was a couple steps longer but shorter in frame count. I was doing the moves manually, so I was doing all the moves as fast as possible just holding buttons down, so I figured something had to be wrong with the original file.
Oh, I see. That make sense, thanks.
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Saved another 0.72 seconds (primary-submitted replay file for this submission) using the information TAStudio provided, and that truly appears to be the best possible with this set of solutions. (But I still find it a bit of an inconvenient way to do this; a log file would be much better. And then at first I thought, after seeing what TAStudio could do, that it explained how you did this:
Alyosha wrote:
https://tasvideos.org/UserFiles/Info/638443243569823355 I'm not sure what happened, but it seems like all the moves in the last 2 levels are taking too long to move after a block has been placed. Here is a partial improvement of those levels.
But it appears that TAStudio loses the ability to do that magic when the GBHawk core is in use, and the replay file you posted was based on the GBHawk one. So how did you do that? Edit: I've added lag-frame detection to my replay frame logging script. It works even with the GBHawk core, unlike TAStudio:
  1278:   
  1279:   
  1280:   
  1281:   
  1282:   
  1283:   
  1284:   
  1285:   
  1286:   
  1287:   
  1288:   
  1289: ! 
  1290: ! 
  1291: ! 
  1292: ! P1 Left
  1293:   
  1294:   
  1295:   
  1296:   
  1297:   
  1298:   
  1299:   
  1300: ! 
  1301: ! P1 Left
  1302:   
  1303:   
  1304:   
  1305:   
  1306:   
  1307:   
  1308:   
  1309: ! 
  1310: ! P1 Left
  1311:   
  1312:   
  1313:   
  1314:   
  1315:   
  1316:   
  1317:   
  1318: ! 
  1319: ! P1 Left
  1320:
And then I can just use the regex (! \R[^!\r\n]+){2}! \w to find instances of too-late input. Edit: Or (\] \R[^\]\r\n]+){2}\] \w on the latest version of the script (still linked above) which shows when the input was read in fractions of a frame relative to the current frame.
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Alyosha wrote:
Here is the first move in level 1-2, you can see the 'left' button is pressed on the fourth (green) input frame but input is accepted on the second:
Wait, what? How are you interpreting that graph in that way? It shows 4 frames in a row that are all the same color, against a gray* background. Can you actually tell just by looking at it that it accepts input on the 2nd? Why not the 1st? *I guess it's grayish cyan, using a color-picker, but to my protanomalously colorblind eyes it looks gray. That's not the problem though, as all 4 frames in a row from 1313 to 1316 are the same green (I had to check, to make sure there wasn't just some color difference I wasn't seeing)
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Alyosha wrote:
TAStudio is really helpful for cases like this since you can (generally) see where input is accepted.
Okay, that's neat in principle, but in practice, it's just plain wrong. According to its graph when I tried it just now, level 1-1's input can start 1 frame earlier, but if I edit the replay file to do that, it doesn't work. Did you try applying any its hints besides the one about first-start being 10 frames earlier? Edit: It appears that there is a grain of truth in what it shows, but it's distorted. It showed me level 2-1's movement could be started up to 5 frames earlier, and that didn't work (and neither did 1 frame earlier, or 3), but 4 frames earlier did work, and so did 2 frames earlier. So the accurate display would show the gaps for what wouldn't actually work, but TAStudio misleadingly shows a continguous list of 5 frames. Still, it can at least provide a hint at what to try. Also, it's annoying that it doesn't show the "comments" that I put in my replay file, e.g.:
|....S....| Level 1-5
And I made it display some other comments as well, to help with finding delays to reduce. TAStudio doesn't show these.
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Alyosha wrote:
Deadcode wrote:
These post-submission improvements have all been incorporated into this BizHawk 2.9.1 (Gambatte core) replay file, along with fully optimizing its UI delays. This is now meant to be the primary file associated with this submission, so please ignore the "15:27.21" one and use this 15:13.34 one instead when judging the submission.
Seems like there are still some script issues. The very first start input can be pressed 10 frames sooner. Also a lot of levels are 2 frames late on the first move, with some even being 4 frames late.
Well, that first-start thing is confusing. I couldn't press start 1 frame earlier, so I assumed I had it as early as possible. Apparently it doesn't poll for that start every frame. What's even worse is that if Start is already being held on that frame, it doesn't work. It has to be pressed from a released state. So a binary search doesn't work to find the optimal frame. How am I supposed to find this? Individually trying every single frame within a range? (I tried that now, and it confirmed your finding of 10 frames, but it's pretty tedious.) And absolutely none of the levels were any frames late; I confirmed that (not only for the first moves of levels, but for all 95 instances of UI delay). Now, if you were testing that in a version of the replay where you already removed 10 frames before the first start, that would likely throw everything off, so I'm guessing that's what you did. Which is rather upsetting, because it took me a lot of time to do that, and now it's apparently wasted, because it was all based on starting the game 10 frames later than optimal. Edit: You seem to have sent me on a wild goose chase, Alyosha. I went through all the delays in the first set of 10 floors, and not a single one could be reduced by 1 frame. Are there parts of the UI beyond the first-start-press that also don't poll every frame? Could you please provide actual exact examples of what you found, or a replay file demonstrating it, instead of the vague information you gave above?
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
These post-submission improvements have all been incorporated into this BizHawk 2.9.1 (Gambatte core) replay file, along with fully optimizing its UI delays. This is now meant to be the primary file associated with this submission, so please ignore the "15:27.21" one and use this 15:13.34 one instead when judging the submission. Edit: Now fully optimized for real (with some help from TAStudio), bringing it down to 15:12.62: This replay file.
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Alyosha wrote:
https://tasvideos.org/UserFiles/Info/638444031574122837 2 steps saved in 3-10, couldn't find anything new in the other non-optimal levels, but that was a fun revisit.
Awesome, thank you! This too saves 18 frames.
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Sand wrote:
Deadcode wrote:
So does that mean you were doing your test runs in Bird's-eye View even though I hadn't submitted my TAS yet?
Correct, I was using bird's-eye. Besides finding bird's-eye easier to read, I found a post at speedrun.com that says "you want to make sure that you use bird eye as view mode, this mode alows you to move faster after a cutscene."
Oh, interesting. So it seems the speedrunning community had rediscovered this independently in 2017 (since I had not posted about my 2013 finding until this submission), but the TAS community was unaware of it until my submission. It's pretty silly that that speedrun.com page links a Diagonal View TAS, and yet apparently nobody there bothered to tell TAS'ers about the Bird's-eye View speedup, as it still wasn't being used in the 2018 and 2020 TASes. It also appears that the speedrunners were unaware of the push-fill speedup, as that page only mentions a cutscene speedup.
Sand wrote:
I should mention that I tested the timing of a couple of level transitions in diagonal and bird's-eye, and I didn't find a difference. I'm not sure what I was doing wrong/differently. I may have only timed the flashing "exit" animation and the stripes "enter" animation; does the lag happen in the "You did it!" screen?
Look at the instances of BIRDS_EYE_VIEW in DDD-Kwirk/Kwirk_bk2_export.cpp (or here). Its effect depends on the level.
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Alyosha wrote:
https://tasvideos.org/UserFiles/Info/638443831255464202 I saved 2 steps in 3-9 with better use of the 'T' shaped block in the first half of the level.
Nicely done! This saves 18 frames. I will incorporate it into this submission, and move your name forward in the credits. How are you writing the replay in the same clean export format as I've been using, which only holds the joypad button for 1 frame exactly when it's needed? In your 2018 and 2020 TASes, the joypad inputs were held down in the way that would be done when actually playing the game in an emulator.
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Alyosha wrote:
Why do they need to be resolved? Isn't just going back and removing the extra frames at each hole fill sufficient?
Well, probably most of them will end up being the same, but perhaps some solutions can be faster now by filling in extra holes.
Deadcode wrote:
Oh dear. Looks like an error in DDD-Kwirk's model of the game's logic. It had a fill taking 26 frames, but it actually takes 18 frames (so a push+fill takes 10+18=28 frames).
Actually... it looks like 10+26 was correct for Diagonal View, and that it's 10+18 in Bird's-eye View only! So Bird's-eye View doesn't just save 1.408 seconds, it saves 14.384 seconds! (Or maybe more if some levels can be faster by filling in more holes.)
Sand wrote:
But now I suppose that I really had correctly measured 28 frames when I tested it myself the first time. Unfortunately I don't have movie files, but if I had to guess, I probably would have been testing frame timings with the 2×3 in 1-4 or the 1×1 in 1-5.
So does that mean you were doing your test runs in Bird's-eye View even though I hadn't submitted my TAS yet?
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Alyosha wrote:
EDIT: Looks like this happens in the earlier levels as well, even in the Gambatte movie, perhaps a bug in the script?
Oh dear. Looks like an error in DDD-Kwirk's model of the game's logic. It had a fill taking 26 frames, but it actually takes 18 frames (so a push+fill takes 10+18=28 frames). Thanks for pointing this out. If you have more edits to demonstrate, could you please use the Gambatte version? I get 2000 fps with it, and only 200 fps with GBHawk, so takes a long time to fast forward. So anyway, yeah, this means I'm going to have to re-solve all the levels that involve filling holes. Wow.
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
GJTASer2018 wrote:
It might be worth asking the good people over at BOINC to see if this could be turned into a distributed computing project in some way. This way you won't have to wait (or rent supercomputer time out of your own pocket) to tackle these levels. :)
I don't think DDD would be particularly conducive to that, because all the threads have to communicate what they have found so it can be sorted and deduplicated. But that's tens of terabytes of data (or more) every day at the later stages of a complicated level, not particularly practical to send over the Internet ;-)
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Alyosha wrote:
This is amazing work! That 3-6 was very surprising, I never would have thought that shoving that 3x1 all the way to the right could have been part of the solution. 3-7 also looks super smooth now, really cool. The other small improvements were also neat though I'm a little disappointed in myself for not finding that 2-8 or 3-1 route. I always like seeing big projects like this come to fruition, even if some of the levels are still out of reach. Great work!
Thanks very much, and thanks for your previous work on Kwirk! I too thought the end position of that 3x1 was strange, and was watching the solution backtrace closely until it went far enough back for me to see why it did that. Was pretty cool once it became clear.
Sand wrote:
This is absolutely amazing! Brilliant work. Coincidentally I started working on a Kwirk solver about a month ago, not being aware of the ongoing DDD work. This is way beyond what I was able to do. I was only able to find solutions for 19 of the 30 levels. (The easy ones: most of those can be solved in 10 seconds or less using just RAM as storage.) The only improvement I had found over [4105] GB Kwirk "Going Up?" by Nitrodon, ZenicReverie, Alyosha in 15:46.03 was 100 steps in 3-1, same as this submission. I didn't get as far as starting to TAS the levels in an emulator, but I can confirm that your frame/step counts match my predicted ones for the levels I was able to solve: 1-1, 1-2, 1-3, 1-4, 1-5, 1-6, 1-7, 1-8, 1-9, 1-10, 2-1, 2-3, 2-4, 2-5, 2-10, 3-1, 3-2, 3-3, 3-5.
Thanks very much! And quite cool that you were working on a solver of your own, even if it's perhaps not as powerful. Your set of 19 optimized levels is exactly the same set that CyberShadow optimized before I joined the project.
Sand wrote:
I see DDD-Kwirk takes into account that in multi-player levels, a "Switch" move immediately after another "Switch" is 2 frames slower. I think you can save 2 frames in 2-9 by reordering moves to break up an instance of consecutive "Switch" moves. Starting at frame 24745, the sequence goes:
(playing Pete) Left Down Up (Switch to Kwirk) (Switch to Eddie) Right Right Up Up (Switch to Pete) Left Left Down Left Left Down (Switch to Kwirk) Up Up
You can move one of Kwirk's later "Up" moves to be in between the first two "Switch"es, without interfering with the rest of the sequence:
(playing Pete) Left Down Up (Switch to Kwirk) Up (Switch to Eddie) Right Right Up Up (Switch to Pete) Left Left Down Left Left Down (Switch to Kwirk) Up
The only other level where this could matter (levels with 3 or 4 players) is 3-8, and it looks like that one is already free of consecutive "Switch".
Very nice! I confirmed that this works and saves 2 frames in both DDD-Kwirk and BizHawk. I'll be updating the movies and adding credit for you. [Edit: It is done.]
Post subject: Actual length of this TAS
Deadcode
He/Him
Experienced Forum User, Published Author, Player (6)
Joined: 7/27/2016
Posts: 15
Please note that the real input duration of this TAS is 15:46.013, because there is a single empty frame at the end of its Input Log.txt file. Oddly, the same is not true of its predecessor.