There are so many great Mario games with submissions here at TASVideos.
However, the collection has not been complete without the greatest Mario game of all time*.
Until now...
*Opinions expressed are those of the author and do not necessarily reflect those of TASVideos.org.
Game objectives
Full-completion (100%: Maximum points)
Plays on Hardest Difficulty
Emulator used: JPC-rr 11.2 (Modified for added mouse support)
What the heck is this?
Mario Teaches Typing is an MS-DOS game made in 1991, which finally brought Mario to the PC. Many parents bought this for their (soon-to-be disappointed) children. It consists of four levels:
An overworld side-scroller, where players type letters to break bricks and stomp koopa troopas. This is most definitely the slowest-typing level in the game as you have to wait until the next letter appears on the screen before you can type it. The TAS ensures the most letters are typed by typing them on the first frame possible. You may notice there are some floating blocks with letters. Typing those plays a short animation of Mario collecting some coins, which gives human players a breather, but would only slow down a TAS.
Mario dives into the water... and doesn't do much else. The limits are off on this level as the game lets you type up to six letters per frame. The typing here is done so fast, the game doesn't have time to animate Mario or update any of the statistics. The TAS uses the keyboard buffer to keep three typed-keys ahead of the current frame, ensuring the maximum number of keys are typed for this level.
Heading underground, the player now types old and outdated sporting trivia. The typing speed here is capped, though not as badly as in level 1. What slows this level down are all the screen transitions. As in the first level, there are the "bonus" keys you can type for coin-collecting, which are summarily ignored. Once again, the TAS ensures the maximum number of keys are typed by typing them on the first possible frame.
Coming to the final level, the game eschews any illusion of being a typical Mario game, and you face the ultimate boss: 10 minutes of typing gibberish. Luckily, we're back to typing six letters per frame, allowing the TAS to whip through the letters. The TAS exceeds 2,000 words-per-minute (WPM), and you can see the final digit appear every once-in-a-while at the very top-left of the screen. Eventually, the game craps out and decides it can't handle keeping track anymore.
Okay, but why?
Apart from the fact it's one of the few Mario games left without a TAS, I mainly did this to build my lua-scripting abilities, specifically memory searching and input injection while running. The rerecord count is accurate, as all four levels were entirely run using lua scripts.
Is it publishable?
Of course! Any TAS is publishable if it makes moons!
No, seriously, is it publishable?
Yeah, if you're actually still engaged after watching 26 minutes of typing, you're either super-amazing or need to seek professional help. So, the real question is, does this qualify for the Vault? I think that can be answered two different ways. If this game is considered an educational game, then it doesn't qualify. The reasons for that have already been hashed out at length, and I certainly don't want to reopen that can of worms. However, if this game is considered a game of manual dexterity and skill, similar to StepMania, then it stands a chance.
So, not likely, right?
I'm not holding my breath. Even if this isn't published, it was a great learning opportunity. I couldn't have finished the QFG2 TAS or helped out on the SQ1 TAS without what I learned here, so the time spent was well worth it. I don't think typing games are all automatically destined to be rejected, and I am really hoping someone does a Typing of the Dead TAS in the future.
Happy April Fools!
Rise from your grave!
Wow. I never expected to revisit this submission, but a recent change to the rules has removed the ban on educational games, giving this submission new life. Now, the only barrier to publication is a nice under-the-table 'contribution' to the judges' discretionary spending account is to show this TAS passes the 'triviality rule'. I will present my arguments below for why I believe this TAS is publishable under the rules, and leave it for the judges to decide if they agree.
Here's the triviality rule in its entirety:
Starting with the first sentence, "The gameplay needs to stand out from unassisted play". I'm going to assume there's no argument that the gameplay in this TAS is markedly different from unassisted play, performing feats only achievable by tools. That said, I'm happy to add my reasons for believing this if there's any question on this point.
I'll circle back to the second half of the sentence, "and must not be seen as trivial" in a moment. Instead, the last sentence actually gives us a way around having to figure out if the gameplay is 'trivial'. "If a game was considered trivial but a technique is found later that makes TASing it challenging, that game becomes acceptable." In other words, any 'trivial' game is acceptable as long as TASing it is challenging. This is where I'll make my first point:
TASing this game was challenging
This TAS required over 224,000 frame perfect inputs. This was entirely unfeasible manually and could only be practically done by creating automated scripts. Furthermore, as the levels behave differently, each required unique strategies and scripts to ensure the typing was optimal.
Level 1 is as you might expect from a game like this. Look for the memory state to acknowledge the typing of the previous letter, and then type the next one.
Level 2 and 4 remove all limitations on the speed of input, meaning that multiple keys are accepted per frame. This means that the strategy used in Level 1 does not work here, and a completely different strategy is required to make sure the script is keeping the input flowing just ahead of what the system can accept. A further complication involves determining what text is coming next. The levels begin pointed to a random starting point in a random preset list of words/letters in memory, and steps through them. When it hits the end of the list, it sets the pointer to the beginning of the same list and goes through it again. TASing these levels requires determining where the starting point is and figuring out when to loop around to the beginning.
Level 3 throws in another curveball. In addition to tracking the location of the pointer and knowing when to loop back to the beginning, now the script also has to know when to stop typing because the game has hit a transition screen and then know to begin again on the first possible frame once the transition is complete. This requires additional research, development and testing to ensure optimal play entering or leaving any transition screen.
It took many hours over the course of three months to build, refine and validate each level's script to ensure the output was optimal. feos wrote in judging #6345: MarbleousDave's NES Duck Hunt "All levels" in 1:15:12.15, "It is not a superplay puzzle to look at a memory address and press the button the frame before it changes, once, a hundred times, or a billion times." If every level had the same simplistic logic as Level 1, then I would agree this would be a simple TAS to make. However, given all the additional logic required to TAS levels 2, 3 and 4, I am confident in saying this TAS falls outside those bounds, and that TASing this game is definitely 'challenging'.
What about the game being 'trivial'?
As I mentioned above, the fourth sentence in the rule states that if TASing the game is considered challenging, then even 'trivial' games are acceptable. If you agree with my reasoning above that this is a challenging game to TAS, then we needn't go any further.
However, in case you disagree with the above, and believe that TASing the game is not challenging, this TAS can still be accepted if the gameplay is not 'trivial', as per sentence #1. Unfortunately, there's no definition provided for what constitutes 'trivial' gameplay, so I looked at a few online dictionaries and the closest thing I can find for what I think was intended was 'Simple', perhaps overly so. (Judges, please let me know if this is incorrect and I'll update the submission accordingly.) In this case, I could certainly see an argument that the gameplay in this TAS is 'trivial'. There is only one way to get an optimal run, and that is by hitting the right buttons at the right time. There is one unique solution, and there is no other strategy that could be taken. And I would fully accept that this would keep a non-challenging TAS from being published to vault except that there are already precedents of such runs being accepted. This leads me to my second point:
Games of similar triviality are already in the vault tier
Now, the games mentioned above are multi-player as compared to this one which is single-player. While I don't think that factors into whether the gameplay is any less trivial (especially because I find the computer player actually detracts from the quality of the TAS), I'll address it here just in case. [3480] GB Boxxle by Jigwally in 4:58:50.20 and [3620] GB Boxxle II by Jigwally in 3:26:07.54 are single-player games where the number of moves for the optimal solution are widely known and are easily solved for. Optimal Boxxle gameplay, therefore, is no less trivial than a typing game. There is a known optimal solution to each level, and it is simply a matter of pushing the right buttons at the right time to achieve it. Again, the fact that it is more fun to play or watch Boxxle is irrelevant at this tier. The gameplay has one optimal path and one way to achieve it.
So, for the last time, is it publishable?
I strongly believe it is. Given that this TAS was impossible to do manually, and because of all the effort required to handle the different gameplay behaviors of each level, this was a suitably challenging TAS to create. And, as per the rules, as long as it is challenging to TAS, a game is publishable. However, even if you disagree about the challenge, the gameplay in this TAS clearly stands out from unassisted play, and it is no less trivial than other accepted vault runs. As such, it belongs in the vault alongside them.
What do you think your chances are?
I don't know. We'll have to wait and see. But I'm certainly feeling more confident than I did on April 1st, three years ago. I want to thank feos and all the judges for this opportunity to revisit this run. It's reminded me how much I enjoyed making it, and I'm looking forward to the day when I have enough free time again to pick up and do my next one.
Files:
HDD, 16 tracks, 63 sectors, 16 sides.
Timestamp
MD5
Size
Filename
19900101000000
8bd638f49996219564f7937f23b47ff9
14693
/ADLIB.ADV
19900101000000
e84e8e5b8d16cbcffa2a430ed0718602
920
/ATYP1.PC
19900101000000
58b84e1175b03cc98cf1e54e6b5fb892
2896
/ATYP1.XMI
19900101000000
453e2cc825c68157a26585f7b26974e7
434
/ATYP2.PC
19900101000000
743471a4a855ea579eeaa2e7d75ef5fc
758
/ATYP2.XMI
19900101000000
ff67e5500901f89e95399e1d0bfd2262
776
/ATYP3.PC
19900101000000
bb6f7516d21eef4083e0f0e035e97241
2786
/ATYP3.XMI
19900101000000
f3744d538634985fece7a2aeb18e7ee6
1928
/ATYP4.PC
19900101000000
d0c9f10fbc6239a8893e34974e88346e
5654
/ATYP4.XMI
19900101000000
018160e0efb17a267a7228fcbd9749de
768
/BITER.GPO
19900101000000
a3d36c466924bf050b872f85f820e54e
14480
/BLACKBRD.CRX
19900101000000
5f0b69011679ac2b2d3c69cfb34e6c7c
1082
/BLETTERS.LEE
19900101000000
7bb09b91b3f32cf89196210d5bc67608
1775
/BSENTENC.LEE
19900101000000
dd3cfde67c447f49d24cf3658167b9e1
1811
/BWORDS.LEE
19900101000000
651f0d675b8bd5d17f3754f4f0b95f4a
48244
/CASTLE.BGS
19900101000000
4875d8d78de56e6cacad733592e0bc7b
10432
/CASTLE.CRX
19900101000000
9bd2808ab64d7d41831f538862fe63e9
304
/CASTLE.GSK
19900101000000
de65a557ab9988afeec0d77ccf8cb7cb
13642
/CASTLE.GSO
19900101000000
91ede2b174fb2c26227d8d4dfb283585
9858
/CERTIF.CRX
19900101000000
a63f2f84ae9a17e7e295ab9ac53f9758
15779
/CONGRATS.RS
19900101000000
625bf31ce240b1c5a17fa73ae525ffbd
34041
/CONGRATS.VOC
19900101000000
cd395e131ea706efe1b1f58767198d8c
768
/CPALLET.GPO
19900101000000
8a8dc230028f6204d685df83cda674dd
5687
/DIR.LST
19900101000000
null
0
/DISKID.1
19900101000000
d28218723af479552b0de4c030d3e841
169642
/ENDF.BAN
19900101000000
c1fb79577d4adb5a0daaae92cf78ebbd
12400
/ENDF.CRX
19900101000000
dd7f348b3e3a6f26dad72f6ccb4e4811
3436
/ENGLISH.MSD
19900101000000
0b4fe3fa2f72e2fc8fe75de5cbe7a3bd
768
/FINGER.GPO
19900101000000
90216596f31b710247b313e39e364b1d
176
/FINGER.GSK
19900101000000
40dee0424ed6ee0dc3b328fe9c020f9a
4918
/FINGER.GSO
19900101000000
651dca2087211dbd64c26b9534bf58fa
22378
/FIR1.BAN
19900101000000
f461191b482896e02b34d3272541ae66
26132
/FIR2.BAN
19900101000000
276aafe1e8cec5f6a2cdc83b77dc4daa
19
/FONT3H.FNT
19900101000000
5c63ea43c990c5e9d4c9b2f1706d1d46
1456
/FONT3H.GSK
19900101000000
2a18e3d856b59c50f2200d3c27cd86aa
8674
/FONT3H.GSO
19900101000000
0cf0a3ce1113249d11c6fdc97d289690
18
/FONT5H.FNT
19900101000000
f022f6ecb54c125783ba988e3d67ccf5
1453
/FONT5H.GSK
19900101000000
ace2d931518ed98d09b91f1fad6e46fe
7138
/FONT5H.GSO
19900101000000
ebc1bc61e1dd88f0738069dd2153becb
20
/FONT7H.FNT
19900101000000
94525b2bb404e18e29034d1d3d5be97f
1463
/FONT7H.GSK
19900101000000
915795d77b64b8205f9783cb2dbcf2e0
10594
/FONT7H.GSO
19900101000000
c3f0bbe3eba6b72a17e7be0065f9e28f
19
/FONT9H.FNT
19900101000000
b5cc58b1d57ee8373e96250a2eb9f423
1466
/FONT9H.GSK
19900101000000
ad1231915d157f01e99e9fb81a222c9c
10978
/FONT9H.GSO
19900101000000
793a4330f887c7ae3746e60ad198ba17
28106
/GREET.CRX
19900101000000
90555ca2d4aa0a9e1c602ba4aa65bbca
226
/GREET.GSK
19900101000000
98dd95034bd8dfc1b8856d81ccba09e6
48020
/GREET.GSO
19900101000000
e232ec4e0517c4464496105aead52d05
94
/GREET2.GSK
19900101000000
aaad871642b1d6d1b199552329e62342
10154
/GREET2.GSO
19900101000000
5f425b1293534fe4482bfbb7e2246b55
10152
/GREETBG.CRX
19900101000000
e96c5680a811ecf5d418b05f69b6df03
8859
/HELP.CRX
19900101000000
2b1cb05b73240d3bcaf02b6a039b2b6e
1060
/HLETTERS.LEE
19900101000000
18418c823c9333ee6ca67a408cb00968
1784
/HSENTENC.LEE
19900101000000
2ff1249ac3f35a9c53678d6e854fb34b
1801
/HWORDS.LEE
19900101000000
3e10da2a9d7c069f7dea1389b3fc7b9a
2589
/IDLE.GCK
19900101000000
f82c617ff500df5f2563245dd15c03f5
91222
/IDLE.GCO
19900101000000
f690737a75109203886ce57273b0996c
14673
/KEYBOARD.CRX
19900101000000
8424b8e2daebc5c0e3882821aeab36a8
31465
/LCAS.ANI
19900101000000
ad8d910e90f113064dfa89deca193942
48180
/LCAS.BAN
19900101000000
3ddcb3934c6bfc3d3483a0400fab881b
9804
/LESSTIME.CRX
19900101000000
1542ce070dc4d0213a70da20c2f736c4
9713
/LOAD.CRX
19900101000000
515a2e52c2385dcff5fc8f83ede39ae7
12488
/LOGO.CRX
19900101000000
8a4afa819e64498079856444d6c2d9b8
38051
/LOUT.ANI
19900101000000
f13cc1b782952ab0e570338f7cf73bfd
53442
/LOUT.BAN
19900101000000
1618b2e8369a4f9d79dd72119f701108
768
/LPALLET.GPO
19900101000000
0cf106b0af113eff1dcfa0b02c2904b0
22689
/LSWM.ANI
19900101000000
5c3752df16948bfb082f0d1efcb14add
45144
/LSWM.BAN
19900101000000
dd866f648c81ef106bd132aa53ac8b0c
19096
/MAINMENU.CRX
19900101000000
27c8f1050a9e26920055c3b3843e4d14
38
/MARIO.CNF
19900101000000
8ccc1e67bb7c362fb64db43db3f3589f
151024
/MARIO.EXE
19900101000000
0a1372e5d81cba8a3230c3d2bc89fa96
1445
/MARIO1.HLP
19900101000000
bc167d7e89e919e025c2f4913774b5c7
206
/MARIO2.HLP
19900101000000
d8f3c6e7759d9a58ed2f52b73849bede
29550
/MCAS.ANI
19900101000000
9dbac159404714348c0cfa902bb7aed1
48250
/MCAS.BAN
19900101000000
7a759be2be17db143f4eca209d90599f
36442
/MOUT.ANI
19900101000000
80c3da2fbe780b7e84eb8f4543ec25ff
53368
/MOUT.BAN
19900101000000
61313f7888dc12156986122d6c7ddb69
768
/MPALLET.GPO
19900101000000
1ada1ab01edbddbf1c9817815d0c57f9
33771
/MSWM.ANI
19900101000000
a6cedf0bfe49a79e8bd3e89011ae6009
45372
/MSWM.BAN
19900101000000
8d434bc8c54d409c288dd8cb8cfbb3da
10625
/MT32MPU.ADV
19900101000000
f07be48c0f79f2b4363583f0f50e11a7
1342
/NLETTERS.LEE
19900101000000
211f85363b27b4ec520061b23d9e34ef
1842
/NSENTENC.LEE
19900101000000
f04b1280cad2e118fee9992819538c91
1747
/NWORDS.LEE
19900101000000
b1c9387ba4cf3fae3378a5a3f543ccab
17347
/OCASTLE.CRX
19900101000000
066d0f4d678cbddf45847c49af8d4b00
12847
/OUTSIDE.CRX
19900101000000
22e8e875462109e8b309fcc01c19fd81
114
/OUTSIDE.GSK
19900101000000
7e590f69c38283ebc930066807ce33f7
1889
/OUTSIDE.GSO
19900101000000
5c6034e9884fa43838a9d260ab99ea41
12357
/OUTSKY.CRX
19900101000000
b1332c4f46424380350504311291db8b
4293
/PASDIG.ADV
19900101000000
f4870136172b97c4c755b1db172602fd
15160
/PASFM.ADV
19900101000000
71bebd976a220ea0eaecaaa7e3313ee4
37854
/PCAS.ANI
19900101000000
39de1b061a927cc84685d86c8247e56d
49313
/PCAS.BAN
19900101000000
bcec143cceca4582b4fa217d08ac70b0
8254
/PCSPKR48.ADV
19900101000000
84dc205039e0f11a8ef21b420df1b0c4
38532
/POUT.ANI
19900101000000
fd2d1a6eeb464ba3f04b27196a303913
54012
/POUT.BAN
19900101000000
83077307bd56eae9237249103b83cd14
768
/PPALLET.GPO
19900101000000
96d0907e634955842f7f719f3e59855b
11265
/PRACTICE.CRX
19900101000000
e546b06ba6ae2955d7722eff9eff6750
49
/PRACTICE.GSK
19900101000000
0f60e306ff617fa5b870936c69f922ac
9604
/PRACTICE.GSO
19900101000000
8de01a49566383d10e00ed3d1f988200
18128
/PREFS.CRX
19900101000000
b450502f5ac13309d1685764686fbca4
14187
/PSWM.ANI
19900101000000
2453c95d0cdcc2e3ff07d6a67070154a
45231
/PSWM.BAN
19900101000000
217524029ff7d1c43fa20a78e692958e
10556
/RCARD.CRX
19900101000000
3a0fedfccdaeea1e1e59dd88fb0c32fa
18073
/READY.RS
19900101000000
0aabc2c67ef51f4e16dc0ad89f1c029f
40132
/READY.VOC
19900101000000
ae0d3c9b303741bdf03361ea0730b1a3
2890
/RTYP1.XMI
19900101000000
5f2d903e548bb86a343660d87585a6e3
760
/RTYP2.XMI
19900101000000
a14122d8db426eebd97ddec1186b020f
2942
/RTYP3.XMI
19900101000000
e3c3877039758776c670882674072b98
5646
/RTYP4.XMI
19900101000000
867921bc3d622e05be42efb57c34e2a2
702
/SAMPLE
19900101000000
867921bc3d622e05be42efb57c34e2a2
702
/SAMPLE.AD
19900101000000
2ba3cd5487aae4f9a55da6cd8277984a
32514
/SAMPLE.MT
19900101000000
867921bc3d622e05be42efb57c34e2a2
702
/SAMPLE.OPL
19900101000000
59e83b800f6fb70457752f89c26e9945
4632
/SBDIG.ADV
19900101000000
8a6d75936303a286db45176efa752bbe
14743
/SBFM.ADV
19900101000000
0d3b00d165da9b1f52e033eef39aabe2
4847
/SBPDIG.ADV
19900101000000
900decfc092da8b202f9554701f00e76
15819
/SETUP.EXE
19900101000000
2ef99ead4d941b236383327c2ce9e42d
274
/SFX01.ADL
19900101000000
b0acbb0ea5c8561e420e17e3e9fe3869
178
/SFX01.PCS
19900101000000
714f594da193c6d14d15a8fb7b041b9c
304
/SFX01.RLD
19900101000000
23ea41f07fbe3f126bca0cb2e778a566
420
/SFX02.ADL
19900101000000
18cc3b477152147049786bd53f272b12
340
/SFX02.PCS
19900101000000
84c0d3169ac01a54309bd469676a538f
424
/SFX02.RLD
19900101000000
d7ddc3e9e8e55f1779d1224d45e27a91
166
/SFX03.ADL
19900101000000
f5e0a2ad53f58422d2db98bf452f755d
130
/SFX03.PCS
19900101000000
0d8a140914f5e2277719cf5c823a38a9
130
/SFX03.RLD
19900101000000
f9cb184787bfea0b7775a740d791ebfb
262
/SFX04.ADL
19900101000000
d5a94c0cd9f2257a1815da0474ed709d
814
/SFX04.PCS
19900101000000
58903b26d01a63f5741fde5cdcdeefad
198
/SFX04.RLD
19900101000000
df1691ac3dede50a1a2c8473d9feb0f8
970
/SFX05.ADL
19900101000000
b367b3722cee8c6683422d10862a32ae
336
/SFX05.PCS
19900101000000
80756c50d24cfe59e907303a45684cf4
970
/SFX05.RLD
19900101000000
7c63c138532edd923175e89aae15b14d
472
/SFX06.ADL
19900101000000
9be2dda4ae34a289c7300aeef11f11ca
302
/SFX06.PCS
19900101000000
41ba71429b293bceed1d836154923618
198
/SFX06.RLD
19900101000000
611feb8aabb00511cfe7985c52145255
268
/SFX07.ADL
19900101000000
6f4b60a146c2d74e1fc94e9e91ac67b1
222
/SFX07.PCS
19900101000000
b216d84a92827ee34ddc2c5d01f25976
272
/SFX07.RLD
19900101000000
d593bacb35cb0a77981569089b7dfe68
128
/SFX08.ADL
19900101000000
01c0d1948d87f52bae7f269b859c2c57
96
/SFX08.PCS
19900101000000
0fcd3b4445362f5583591b32583a1c90
132
/SFX08.RLD
19900101000000
27e0bdbc8e30474267fc69db4b70bb51
194
/SFX09.ADL
19900101000000
aaac117f737d27c43b72d86ce91a3a79
980
/SFX09.PCS
19900101000000
f551ce9f0496f107bf2cfd925b920687
198
/SFX09.RLD
19900101000000
1584ec12a6b5bdf7818b0588d00c9511
136
/SFX10.ADL
19900101000000
a080e8034f0962253b6ffe690d9078db
158
/SFX10.PCS
19900101000000
db924cd96719b8a656fef094decabc0f
196
/SFX10.RLD
19900101000000
70f85b9a9813e851aac01745e880ae20
1806
/SLETTERS.LEE
19900101000000
e025b8a9bd33c67166677b7d7831b966
1827
/SSENTENC.LEE
19900101000000
98e61c8ff2f9cd7c2d7e52e361d18681
1788
/SWORDS.LEE
19900101000000
f0cbd73491f89a618ca3c198efdc21c5
846
/TLETTERS.LEE
19900101000000
5e095abf10f65f1af3a49fb93347760d
21545
/TOOBAD.RS
19900101000000
43111f7e955cf714bd22e5ee9647c52b
46495
/TOOBAD.VOC
19900101000000
e8435e4fccc90fbf78538c50f74531af
1771
/TSENTENC.LEE
19900101000000
8e2c85ea92137d4feb191bdc47cf5261
768
/TURTLE.GPO
19900101000000
55fe2536b809afca4fc2c889273e7a15
1808
/TWORDS.LEE
19900101000000
173153d858638ed8b2b644466ed3c9f6
1653
/WALKING.GSK
19900101000000
c906a560dcf5de3d3f5470d795426b7a
180934
/WALKING.GSO
19900101000000
feb7aa1149605fde1a805a8488b3d005
18022
/WATER.CRX
19900101000000
724d88e1196ff6ba721a0a6340219adc
654
/WATER.GSK
19900101000000
c1f343090c939cf15aafbddc403fb1ff
76112
/WATER.GSO
19900101000000
abc3e416bebe2d71a72e0949ed53356f
13646
/WCAS.BAN
19900101000000
5d6273b6f5b1d5bddac577afed8718d5
17077
/WCAS0001.CRX
19900101000000
16ff8c9d9b2b12b2391a688843235c39
17293
/WELCOME.RS
19900101000000
532a03c013096b5e92212757dc40fae6
37718
/WELCOME.VOC
Nach: This software doesn't provide much in the way of entertainment, and educational titles are not acceptable for the Vault. Rejecting.
feos: Unrejecting to test the limits of the current triviality rule.
feos: Changed the branch to "maximum score" since there's no pre-determined amount of points you get all of, and you can probably gain more if you play better.
c-square: Cancelling until score attack becomes an accepted category.
c-square: With Score Attack now an approved goal for Standard, and the triviality clause removed, I believe (hope!) all barriers to publication for this run are now gone. Un-cancelling for judging based on the latest acceptance criteria for Standard runs.
feos: Even though this run could be improved by ~10 seconds if RNG was manipulated better, the rest seems to be a valid record in score (first) and and time (second). Accepting.
Wow, someone made a TAS of my favorite Mario game Hotel Mario!?
Oh, wait... ok the next best thing I guess.
Meh vote, too much typing is too intense for me.
Something is very wrong with the encode. Most of the time there is no sound. If I advance/rewind about 10 seconds, the sound comes on for about a second and a half, then disappears again.
Joined: 4/15/2013
Posts: 331
Location: In the attic
Mario, no... stop staring at me like that, Mario.
Mario, I said stop. No. You're creeping me out.
NO. SERIOUSLY NOW, MARIO. STOP STARING INTO MY SOUL.
Okay, that's it. I'm putting masking tape over my screen... There! That's better!
As for the TAS itself... frankly, it's far too repetitive to be entertaining in any way. Mehhhhhhhh.
Joined: 4/17/2010
Posts: 11496
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
What is defined as full completion in this movie?
And more importantly, are the levels just timed no matter what? Can't you complete them sooner?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Hi feos,
To answer your second question first: Yes, the levels are timed no matter what and the times are fixed. No, it is impossible to complete them sooner. This means, of the two goal choices allowed for vault, fastest completion is not an option. Full-completion is the only valid goal choice for this TAS; which takes us to your first question.
The only reasonable definition of full-completion here is maximum points. To qualify for maximum points, "max score" must be reached in every level and the movie must complete the game. In this TAS, maximum score is obtained in every level by having programmatically ensured the maximum number of point-gaining inputs are entered in every frame. The game is completed by playing through each level until all unique content is exhausted.
In essence, this game is an auto-scroller that aims for maximum score instead of shortest time, similar to the goals of #2065: Highness's NES Gumshoe in 14:43.98. Alternatively, you could look at it as the furthest distance travelled on the letter/word line within the time limit (which is equivalent to maximum score in this case). Regardless, with the Gumshoe submission, as would be the case with this TAS, any submission that obtains a higher score would qualify to obsolete the existing publication.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Thanks for the quick response. I can certainly see the similarities between this run and the Sharp Shot TAS. For what it's worth, there are a couple differences between the two.
I was wrong, in fact, to say that it is impossible to complete the levels sooner. On the third level, the clock is stopped on each transition screen. Thus, the more transition screens you traverse, the longer the level will last. This makes it impossible to both achieve fastest time and highest score on that level. As this TAS aims for maximum points, it takes 7 minutes and 42 seconds to run out the 5 minute clock. A TAS aiming for fastest time would complete every letter except the final period on the first screen and then sit around doing nothing to end the level at the minimum 5 minutes.
The second difference, (which in my mind is insignificant but I'll mention it for completeness-sake), is that for the first three levels, the times are only set minimums. There are "bonus" letters you can type that allow the player to see an animation of Mario collecting coins (these are not tallied in the game), which stops the clock and provides the player a chance to rest and refocus. Of course the TAS foregoes these, and thus ensures the minimum time is achieved for levels 1 and 2. As I said, I don't really consider this a significant difference as it takes literally no effort to ignore the "bonus" letters.
Even with the first difference mentioned above, I can see the spirit of the judgement of #6837: Winslinator's INTV Sharp Shot "maximum score" in 04:05.24 applying here. I'd like to request an update to the vault movie rules to make it clearer that the fixed time restriction doesn’t only apply to sports games. Something like changing:
to:
Joined: 4/17/2010
Posts: 11496
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Does the game ever punish you for not doing anything? For mistakes?
Also
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Yes. There are actually four scoring metrics for each level:
- Keys Typed
- Errors
- Words per Minute
- Accuracy
Any time you input an incorrect key, you are given an Error which is counted against you at the end of each level. Errors also negatively impact your Accuracy score. In addition, typing slowly will result in lower Keys Typed and Words per Minute scores.
This TAS maximizes all four scoring metrics each round (with zero Errors being considered optimal). The final scoring pages of rounds 2 and 4 show zero for both Words per Minute and Accuracy due to the game not being able to handle the sheer number of characters typed in each round, however an accurate value for each can be easily calculated.
Oops, I missed this. It is certainly possible to TAS the game manually, however as I mentioned in the updated submission notes, it is rather unfeasible to do so in real life. The TAS requires over 224,000 frame perfect inputs (updated, since I had forgotten that level 4 drops the hundred thousands' digit). Assuming each input averages approximately 15 seconds to author (which I consider very conservative given the time it takes to load the save state, switch to the virtual keyboard, click twice on the correct input key(s), switch back to the main window, frame advance, confirm the result and create a new save state), this TAS would take over 933 hours to TAS manually. Someone who did this professionally for 40 hours a week could finish in roughly 5.5 months. However, more realistically, someone who has 4-6 hours per week to work on TASsing would require 3.5 years of boring, repetitive work to get this done. And that is also under the assumption that all inputs were perfectly entered the first time, and no mistakes were made that would require the TASer to restart from the error point.
Joined: 4/17/2010
Posts: 11496
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Just like with Sharp Shot, there's no way to have a meaningful optimization competition (even with self) for a "fastest completion" goal. Because the game lasts for fixed amount of time, with a few exceptions that are trivial not to run into.
And just like with Sharp Shot, this movie is not a speedrun record, it's a score attack. While in the future I would really like to add score attacks for timed games as an acceptable goal (looks like the only competitive goal for them), the current Vault rules are worded in a way that doesn't allow non-speedruns.
However...
Tools being super inefficient doesn't mean it's hard to optimize the game itself. You just need to repeat the same known-in-advance action 100000000000 times. You know how fast you can input it optimally for every level. It doesn't seem to ever change in corresponding levels.
If some glitch is discovered that makes input rate per level unpredictable throughout the whole level, and with due effort you could reach unexpected quantities of accepted input, then there's again a complicated function to solve. Until then, it looks absolutely linear and pre-determined.
So even for a potentially accepted "max score in a timed game" situation, this game would still be too trivial to get max score in.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
This is a cool game and TAS, yes vote! I do not see this as trivial, for the reasons in this discussion and submission text. I believe it should be published.
DJ Incendration
Believe in Michael Girard and every speedrunner and TASer!
And just like with Sharp Shot, this movie is not a speedrun record, it's a score attack. While in the future I would really like to add score attacks for timed games as an acceptable goal (looks like the only competitive goal for them), the current Vault rules are worded in a way that doesn't allow non-speedruns.
Yes, I fully agree with your reasoning above.
feos wrote:
If some glitch is discovered that makes input rate per level unpredictable throughout the whole level, and with due effort you could reach unexpected quantities of accepted input, then there's again a complicated function to solve. Until then, it looks absolutely linear and pre-determined.
I don't quite understand what you mean here. Both levels 2 and 4 have unpredictable input rates, varying between 1 and 4 letters per frame.
I also don't feel my point about other equally trivial vault publications has been addressed. The solutions for each level in [3480] GB Boxxle by Jigwally in 4:58:50.20 are predetermined and the input for each is absolutely linear. Similarly, the mini-games in [2377] PSX Salary Man Champ: Tatakau Salary Man "2 players" by Spikestuff in 16:52.47 have equally linear and predetermined inputs. How is each of the above publications distinctively different and non-trivial compared with this submission?
In Boxxle there's a lot of different movement to optimize. Salary Man and Bishi Bashi Special 3 were initially accepted to Moons, which doesn't have a triviality rule.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
No, I didn't think to mention it. To expand on what I wrote in the submission:
c-square wrote:
Levels 2 and 4 remove all limitations on the speed of input, meaning that multiple keys are accepted per frame. This means that the strategy used in Level 1 does not work here, and a completely different strategy is required to make sure the script is keeping the input flowing just ahead of what the system can accept.
Each frame, the system provides the game with between 1 and 4 inputs from the keyboard buffer. There doesn't appear to be any obvious pattern to the number of inputs accepted each frame. The script keeps the keyboard buffer primed with six characters beyond the last character accepted to ensure no frame is sub-optimal.
I'm not sure if that is what you meant by "makes input rate per level unpredictable throughout the whole level, and with due effort you could reach unexpected quantities of accepted input," though if it isn't, I'd like to know what was meant.
Regarding Boxxle, do you mean that walking one direction takes a different number of frames than walking in another, or that pushing in one direction is slower than pushing in another? If so, I can certainly see a complicated function to solve; however, from watching the run it definitely appears that direction doesn't impact movement speed.
The fact that Salary Man and Bishi Bashi Special 3 were once accepted to Moons is irrelevant. If they stayed in Moons, then there's no issue. But if these runs are being demoted out of moons and being considered for vault, then they should be subject to the same criteria as any other submission for vault. If they pass, they can enter vault, if they don't they should be unpublished. For example, Moons doesn't have a goal choice limitation either, but that doesn't mean a once-moons Playaround should get to be 'grandfathered' into vault just because.
(For the record, I think this highlights the inanity of our current tiered system, and I am really hoping discussions such as these go away soon with changes to how we publish runs.)
But if these runs are being demoted out of moons and being considered for vault, then they should be subject to the same criteria as any other submission for vault. If they pass, they can enter vault, if they don't they should be unpublished.
Runs are not unpublished ever, regardless of any sort of reason (and just impossible short of outright hacking them out of the db). There's actually was a big discussion regarding that, which led to massive logistical issues being revealed. And historically, unvaultable movies put into Moons would not be put into the Vault and just stayed in Moons, perhaps being obsoleted by another branch/older valid movie if such exists. If an unvaultable movie is put into the Vault from Moons demotion, then that's just a mistake and does not set any sort of actual precedent.
Joined: 4/17/2010
Posts: 11496
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
c-square wrote:
No, I didn't think to mention it. To expand on what I wrote in the submission:
c-square wrote:
Levels 2 and 4 remove all limitations on the speed of input, meaning that multiple keys are accepted per frame. This means that the strategy used in Level 1 does not work here, and a completely different strategy is required to make sure the script is keeping the input flowing just ahead of what the system can accept.
Each frame, the system provides the game with between 1 and 4 inputs from the keyboard buffer. There doesn't appear to be any obvious pattern to the number of inputs accepted each frame. The script keeps the keyboard buffer primed with six characters beyond the last character accepted to ensure no frame is sub-optimal.
I'm not sure if that is what you meant by "makes input rate per level unpredictable throughout the whole level, and with due effort you could reach unexpected quantities of accepted input," though if it isn't, I'd like to know what was meant.
The game seems to match what I meant. If the input rate is not constant, optimization is non-linear. Still borderline trivial IMO because you just look at the upcoming 6 chars, hold their buttons, and the game advances to the next few chars. You don't really have to ponder any strategies at all.
c-square wrote:
Regarding Boxxle, do you mean that walking one direction takes a different number of frames than walking in another, or that pushing in one direction is slower than pushing in another? If so, I can certainly see a complicated function to solve; however, from watching the run it definitely appears that direction doesn't impact movement speed.
Even with constant speed, there's a lot of movement in different directions that you need to optimize. Proving it's trivial once you know the route, and that's the only possible route, would in itself be non-trivial.
c-square wrote:
The fact that Salary Man and Bishi Bashi Special 3 were once accepted to Moons is irrelevant. If they stayed in Moons, then there's no issue. But if these runs are being demoted out of moons and being considered for vault, then they should be subject to the same criteria as any other submission for vault. If they pass, they can enter vault, if they don't they should be unpublished. For example, Moons doesn't have a goal choice limitation either, but that doesn't mean a once-moons Playaround should get to be 'grandfathered' into vault just because.
When demoting Moons movies to Vault we don't do full rejudgement from scratch, because priority is too low. If those games run at fixed timer and all you do is just hit known-in-advance buttons as many times as you can, then that's trivial indeed.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
The game seems to match what I meant. If the input rate is not constant, optimization is non-linear. Still borderline trivial IMO because you just look at the upcoming 6 chars, hold their buttons, and the game advances to the next few chars. You don't really have to ponder any strategies at all.
As letters must be entered in the proper order, just holding them down doesn't work. You'd chance having the wrong key picked up first. That said, it isn't that difficult a task to track where you've typed to so far, compare that to what keys have been accepted so far, and type some additional ones in order until you are six ahead of the last accepted letter.
For example: Say the string to type is "TASVideos is awesome!".
Frame 0
Since the keyboard buffer starts empty, you type six letters:
- Press Shift (doesn't count as a letter)
- Press and release 't'
- Press and release 'a'
- Press and release 's'
- Press and release 'v'
- Release Shift (doesn't count as a letter)
- Press and release 'i'
- Press and release 'd'
- Frame Advance
Frame 1
The game picks up three letters, 'TAS' from the keyboard buffer. The buffer still contains 'Vid'. You type three more letters to fill the buffer back up to six:
- Press and release 'e'
- Press and release 'o'
- Press and release 's'
- Frame Advance
Frame 2
The game picks up four letters, 'Vide' from the keyboard buffer. The buffer still contains 'os'. You type four more letters to fill the buffer back up to six:
Etc... I'm sure you get the point.
feos wrote:
c-square wrote:
Regarding Boxxle, do you mean that walking one direction takes a different number of frames than walking in another, or that pushing in one direction is slower than pushing in another? If so, I can certainly see a complicated function to solve; however, from watching the run it definitely appears that direction doesn't impact movement speed.
Even with constant speed, there's a lot of movement in different directions that you need to optimize. Proving it's trivial once you know the route, and that's the only possible route, would in itself be non-trivial.
Maybe I'm missing something, but it seems very similar to me.
For example: Say the known optimum solution to a level is "Up, Left, Up, Down, Right, Up".
Movement Phase 0
(Willy is stationary and hasn't started moving yet)
Press Up to start the first movement.
Movement Phase 1
When up movement starts release Up.
Press Left.
[Willy continues moving up until he has moved an entire square]
Movement Phase 2
When left movement starts release Left.
Press Up.
[Willy continues moving left until he has moved an entire square]
Movement Phase 3
When up movement starts release Up.
Press Down.
[Willy continues moving up until he has moved an entire square]
Etc..
In practice they are exactly the same. Both have are a pre-defined list of correct inputs and you just have to press the next correct button at the correct time. In both cases, you don't really have to ponder any strategies at all.
(If you haven't played Boxxle, I encourage you try it out. You can also try Mario Teaches Typing for comparison.)Mod edit: Do not link to copyrighted material.
In addition, unlike Mario Teaches Typing (MTT), Boxxle doesn't even require any frame precision! You can change your direction key anytime during the current movement phase and it will get picked up immediately after the current movement phase ends. Compared to the hundreds of thousands of sub-frame inputs required for MTT, TASing Boxxle is extremely trivial.
Furthermore, the MTT TAS qualifies more for publication than Boxxle because the latter fails the "The gameplay needs to stand out from unassisted play" rule. Compare Boxxle TAS gameplay vs unassisted gameplay. They are practically indistinguishable. Now contrast unassisted MTT vs. this TAS. There is absolutely no comparison between the two.
Regarding Salary Man and Bishi Bashi Special 3...
feos wrote:
When demoting Moons movies to Vault we don't do full rejudgement from scratch, because priority is too low. If those games run at fixed timer and all you do is just hit known-in-advance buttons as many times as you can, then that's trivial indeed.
Got it. I'll stop using them as an example of precedence. And a shout out to CasualPokePlayer for the response as well. That makes total sense why we wouldn't unpublish runs.