(Link to video)

Introduction

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:

Level 1

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.

Level 2

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.

Level 3

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.

Level 4

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:
The gameplay needs to stand out from unassisted play, and must not be seen as trivial. Note that a game is considered trivial until proven otherwise. If getting perfect times everywhere is challenging, such a game is considered acceptable. If a game was considered trivial but a technique is found later that makes TASing it challenging, that game becomes acceptable.


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

The most obvious examples I can find are [2852] PSX Bishi Bashi Special 3: Step Champ "Track & Field, best performance" by Spikestuff in 02:41.27 and [2377] PSX Salary Man Champ: Tatakau Salary Man "2 players" by Spikestuff in 16:52.47. Both movies consist of a series of mini-games where the player must press the correct buttons as fast as possible. Just like this TAS, there is only one path to the optimal run, and it consists of hitting the right buttons at the right time. Yes, these games are definitely more entertaining to play and watch, but in the vault tier, entertainment is irrelevant. Replace hitting buttons on a PlayStation controller with keys on a keyboard, and you have the exact same gameplay mechanic.

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.
TimestampMD5SizeFilename
199001010000008bd638f49996219564f7937f23b47ff914693/ADLIB.ADV
19900101000000e84e8e5b8d16cbcffa2a430ed0718602920/ATYP1.PC
1990010100000058b84e1175b03cc98cf1e54e6b5fb8922896/ATYP1.XMI
19900101000000453e2cc825c68157a26585f7b26974e7434/ATYP2.PC
19900101000000743471a4a855ea579eeaa2e7d75ef5fc758/ATYP2.XMI
19900101000000ff67e5500901f89e95399e1d0bfd2262776/ATYP3.PC
19900101000000bb6f7516d21eef4083e0f0e035e972412786/ATYP3.XMI
19900101000000f3744d538634985fece7a2aeb18e7ee61928/ATYP4.PC
19900101000000d0c9f10fbc6239a8893e34974e88346e5654/ATYP4.XMI
19900101000000018160e0efb17a267a7228fcbd9749de768/BITER.GPO
19900101000000a3d36c466924bf050b872f85f820e54e14480/BLACKBRD.CRX
199001010000005f0b69011679ac2b2d3c69cfb34e6c7c1082/BLETTERS.LEE
199001010000007bb09b91b3f32cf89196210d5bc676081775/BSENTENC.LEE
19900101000000dd3cfde67c447f49d24cf3658167b9e11811/BWORDS.LEE
19900101000000651f0d675b8bd5d17f3754f4f0b95f4a48244/CASTLE.BGS
199001010000004875d8d78de56e6cacad733592e0bc7b10432/CASTLE.CRX
199001010000009bd2808ab64d7d41831f538862fe63e9304/CASTLE.GSK
19900101000000de65a557ab9988afeec0d77ccf8cb7cb13642/CASTLE.GSO
1990010100000091ede2b174fb2c26227d8d4dfb2835859858/CERTIF.CRX
19900101000000a63f2f84ae9a17e7e295ab9ac53f975815779/CONGRATS.RS
19900101000000625bf31ce240b1c5a17fa73ae525ffbd34041/CONGRATS.VOC
19900101000000cd395e131ea706efe1b1f58767198d8c768/CPALLET.GPO
199001010000008a8dc230028f6204d685df83cda674dd5687/DIR.LST
19900101000000null0/DISKID.1
19900101000000d28218723af479552b0de4c030d3e841169642/ENDF.BAN
19900101000000c1fb79577d4adb5a0daaae92cf78ebbd12400/ENDF.CRX
19900101000000dd7f348b3e3a6f26dad72f6ccb4e48113436/ENGLISH.MSD
199001010000000b4fe3fa2f72e2fc8fe75de5cbe7a3bd768/FINGER.GPO
1990010100000090216596f31b710247b313e39e364b1d176/FINGER.GSK
1990010100000040dee0424ed6ee0dc3b328fe9c020f9a4918/FINGER.GSO
19900101000000651dca2087211dbd64c26b9534bf58fa22378/FIR1.BAN
19900101000000f461191b482896e02b34d3272541ae6626132/FIR2.BAN
19900101000000276aafe1e8cec5f6a2cdc83b77dc4daa19/FONT3H.FNT
199001010000005c63ea43c990c5e9d4c9b2f1706d1d461456/FONT3H.GSK
199001010000002a18e3d856b59c50f2200d3c27cd86aa8674/FONT3H.GSO
199001010000000cf0a3ce1113249d11c6fdc97d28969018/FONT5H.FNT
19900101000000f022f6ecb54c125783ba988e3d67ccf51453/FONT5H.GSK
19900101000000ace2d931518ed98d09b91f1fad6e46fe7138/FONT5H.GSO
19900101000000ebc1bc61e1dd88f0738069dd2153becb20/FONT7H.FNT
1990010100000094525b2bb404e18e29034d1d3d5be97f1463/FONT7H.GSK
19900101000000915795d77b64b8205f9783cb2dbcf2e010594/FONT7H.GSO
19900101000000c3f0bbe3eba6b72a17e7be0065f9e28f19/FONT9H.FNT
19900101000000b5cc58b1d57ee8373e96250a2eb9f4231466/FONT9H.GSK
19900101000000ad1231915d157f01e99e9fb81a222c9c10978/FONT9H.GSO
19900101000000793a4330f887c7ae3746e60ad198ba1728106/GREET.CRX
1990010100000090555ca2d4aa0a9e1c602ba4aa65bbca226/GREET.GSK
1990010100000098dd95034bd8dfc1b8856d81ccba09e648020/GREET.GSO
19900101000000e232ec4e0517c4464496105aead52d0594/GREET2.GSK
19900101000000aaad871642b1d6d1b199552329e6234210154/GREET2.GSO
199001010000005f425b1293534fe4482bfbb7e2246b5510152/GREETBG.CRX
19900101000000e96c5680a811ecf5d418b05f69b6df038859/HELP.CRX
199001010000002b1cb05b73240d3bcaf02b6a039b2b6e1060/HLETTERS.LEE
1990010100000018418c823c9333ee6ca67a408cb009681784/HSENTENC.LEE
199001010000002ff1249ac3f35a9c53678d6e854fb34b1801/HWORDS.LEE
199001010000003e10da2a9d7c069f7dea1389b3fc7b9a2589/IDLE.GCK
19900101000000f82c617ff500df5f2563245dd15c03f591222/IDLE.GCO
19900101000000f690737a75109203886ce57273b0996c14673/KEYBOARD.CRX
199001010000008424b8e2daebc5c0e3882821aeab36a831465/LCAS.ANI
19900101000000ad8d910e90f113064dfa89deca19394248180/LCAS.BAN
199001010000003ddcb3934c6bfc3d3483a0400fab881b9804/LESSTIME.CRX
199001010000001542ce070dc4d0213a70da20c2f736c49713/LOAD.CRX
19900101000000515a2e52c2385dcff5fc8f83ede39ae712488/LOGO.CRX
199001010000008a4afa819e64498079856444d6c2d9b838051/LOUT.ANI
19900101000000f13cc1b782952ab0e570338f7cf73bfd53442/LOUT.BAN
199001010000001618b2e8369a4f9d79dd72119f701108768/LPALLET.GPO
199001010000000cf106b0af113eff1dcfa0b02c2904b022689/LSWM.ANI
199001010000005c3752df16948bfb082f0d1efcb14add45144/LSWM.BAN
19900101000000dd866f648c81ef106bd132aa53ac8b0c19096/MAINMENU.CRX
1990010100000027c8f1050a9e26920055c3b3843e4d1438/MARIO.CNF
199001010000008ccc1e67bb7c362fb64db43db3f3589f151024/MARIO.EXE
199001010000000a1372e5d81cba8a3230c3d2bc89fa961445/MARIO1.HLP
19900101000000bc167d7e89e919e025c2f4913774b5c7206/MARIO2.HLP
19900101000000d8f3c6e7759d9a58ed2f52b73849bede29550/MCAS.ANI
199001010000009dbac159404714348c0cfa902bb7aed148250/MCAS.BAN
199001010000007a759be2be17db143f4eca209d90599f36442/MOUT.ANI
1990010100000080c3da2fbe780b7e84eb8f4543ec25ff53368/MOUT.BAN
1990010100000061313f7888dc12156986122d6c7ddb69768/MPALLET.GPO
199001010000001ada1ab01edbddbf1c9817815d0c57f933771/MSWM.ANI
19900101000000a6cedf0bfe49a79e8bd3e89011ae600945372/MSWM.BAN
199001010000008d434bc8c54d409c288dd8cb8cfbb3da10625/MT32MPU.ADV
19900101000000f07be48c0f79f2b4363583f0f50e11a71342/NLETTERS.LEE
19900101000000211f85363b27b4ec520061b23d9e34ef1842/NSENTENC.LEE
19900101000000f04b1280cad2e118fee9992819538c911747/NWORDS.LEE
19900101000000b1c9387ba4cf3fae3378a5a3f543ccab17347/OCASTLE.CRX
19900101000000066d0f4d678cbddf45847c49af8d4b0012847/OUTSIDE.CRX
1990010100000022e8e875462109e8b309fcc01c19fd81114/OUTSIDE.GSK
199001010000007e590f69c38283ebc930066807ce33f71889/OUTSIDE.GSO
199001010000005c6034e9884fa43838a9d260ab99ea4112357/OUTSKY.CRX
19900101000000b1332c4f46424380350504311291db8b4293/PASDIG.ADV
19900101000000f4870136172b97c4c755b1db172602fd15160/PASFM.ADV
1990010100000071bebd976a220ea0eaecaaa7e3313ee437854/PCAS.ANI
1990010100000039de1b061a927cc84685d86c8247e56d49313/PCAS.BAN
19900101000000bcec143cceca4582b4fa217d08ac70b08254/PCSPKR48.ADV
1990010100000084dc205039e0f11a8ef21b420df1b0c438532/POUT.ANI
19900101000000fd2d1a6eeb464ba3f04b27196a30391354012/POUT.BAN
1990010100000083077307bd56eae9237249103b83cd14768/PPALLET.GPO
1990010100000096d0907e634955842f7f719f3e59855b11265/PRACTICE.CRX
19900101000000e546b06ba6ae2955d7722eff9eff675049/PRACTICE.GSK
199001010000000f60e306ff617fa5b870936c69f922ac9604/PRACTICE.GSO
199001010000008de01a49566383d10e00ed3d1f98820018128/PREFS.CRX
19900101000000b450502f5ac13309d1685764686fbca414187/PSWM.ANI
199001010000002453c95d0cdcc2e3ff07d6a67070154a45231/PSWM.BAN
19900101000000217524029ff7d1c43fa20a78e692958e10556/RCARD.CRX
199001010000003a0fedfccdaeea1e1e59dd88fb0c32fa18073/READY.RS
199001010000000aabc2c67ef51f4e16dc0ad89f1c029f40132/READY.VOC
19900101000000ae0d3c9b303741bdf03361ea0730b1a32890/RTYP1.XMI
199001010000005f2d903e548bb86a343660d87585a6e3760/RTYP2.XMI
19900101000000a14122d8db426eebd97ddec1186b020f2942/RTYP3.XMI
19900101000000e3c3877039758776c670882674072b985646/RTYP4.XMI
19900101000000867921bc3d622e05be42efb57c34e2a2702/SAMPLE
19900101000000867921bc3d622e05be42efb57c34e2a2702/SAMPLE.AD
199001010000002ba3cd5487aae4f9a55da6cd8277984a32514/SAMPLE.MT
19900101000000867921bc3d622e05be42efb57c34e2a2702/SAMPLE.OPL
1990010100000059e83b800f6fb70457752f89c26e99454632/SBDIG.ADV
199001010000008a6d75936303a286db45176efa752bbe14743/SBFM.ADV
199001010000000d3b00d165da9b1f52e033eef39aabe24847/SBPDIG.ADV
19900101000000900decfc092da8b202f9554701f00e7615819/SETUP.EXE
199001010000002ef99ead4d941b236383327c2ce9e42d274/SFX01.ADL
19900101000000b0acbb0ea5c8561e420e17e3e9fe3869178/SFX01.PCS
19900101000000714f594da193c6d14d15a8fb7b041b9c304/SFX01.RLD
1990010100000023ea41f07fbe3f126bca0cb2e778a566420/SFX02.ADL
1990010100000018cc3b477152147049786bd53f272b12340/SFX02.PCS
1990010100000084c0d3169ac01a54309bd469676a538f424/SFX02.RLD
19900101000000d7ddc3e9e8e55f1779d1224d45e27a91166/SFX03.ADL
19900101000000f5e0a2ad53f58422d2db98bf452f755d130/SFX03.PCS
199001010000000d8a140914f5e2277719cf5c823a38a9130/SFX03.RLD
19900101000000f9cb184787bfea0b7775a740d791ebfb262/SFX04.ADL
19900101000000d5a94c0cd9f2257a1815da0474ed709d814/SFX04.PCS
1990010100000058903b26d01a63f5741fde5cdcdeefad198/SFX04.RLD
19900101000000df1691ac3dede50a1a2c8473d9feb0f8970/SFX05.ADL
19900101000000b367b3722cee8c6683422d10862a32ae336/SFX05.PCS
1990010100000080756c50d24cfe59e907303a45684cf4970/SFX05.RLD
199001010000007c63c138532edd923175e89aae15b14d472/SFX06.ADL
199001010000009be2dda4ae34a289c7300aeef11f11ca302/SFX06.PCS
1990010100000041ba71429b293bceed1d836154923618198/SFX06.RLD
19900101000000611feb8aabb00511cfe7985c52145255268/SFX07.ADL
199001010000006f4b60a146c2d74e1fc94e9e91ac67b1222/SFX07.PCS
19900101000000b216d84a92827ee34ddc2c5d01f25976272/SFX07.RLD
19900101000000d593bacb35cb0a77981569089b7dfe68128/SFX08.ADL
1990010100000001c0d1948d87f52bae7f269b859c2c5796/SFX08.PCS
199001010000000fcd3b4445362f5583591b32583a1c90132/SFX08.RLD
1990010100000027e0bdbc8e30474267fc69db4b70bb51194/SFX09.ADL
19900101000000aaac117f737d27c43b72d86ce91a3a79980/SFX09.PCS
19900101000000f551ce9f0496f107bf2cfd925b920687198/SFX09.RLD
199001010000001584ec12a6b5bdf7818b0588d00c9511136/SFX10.ADL
19900101000000a080e8034f0962253b6ffe690d9078db158/SFX10.PCS
19900101000000db924cd96719b8a656fef094decabc0f196/SFX10.RLD
1990010100000070f85b9a9813e851aac01745e880ae201806/SLETTERS.LEE
19900101000000e025b8a9bd33c67166677b7d7831b9661827/SSENTENC.LEE
1990010100000098e61c8ff2f9cd7c2d7e52e361d186811788/SWORDS.LEE
19900101000000f0cbd73491f89a618ca3c198efdc21c5846/TLETTERS.LEE
199001010000005e095abf10f65f1af3a49fb93347760d21545/TOOBAD.RS
1990010100000043111f7e955cf714bd22e5ee9647c52b46495/TOOBAD.VOC
19900101000000e8435e4fccc90fbf78538c50f74531af1771/TSENTENC.LEE
199001010000008e2c85ea92137d4feb191bdc47cf5261768/TURTLE.GPO
1990010100000055fe2536b809afca4fc2c889273e7a151808/TWORDS.LEE
19900101000000173153d858638ed8b2b644466ed3c9f61653/WALKING.GSK
19900101000000c906a560dcf5de3d3f5470d795426b7a180934/WALKING.GSO
19900101000000feb7aa1149605fde1a805a8488b3d00518022/WATER.CRX
19900101000000724d88e1196ff6ba721a0a6340219adc654/WATER.GSK
19900101000000c1f343090c939cf15aafbddc403fb1ff76112/WATER.GSO
19900101000000abc3e416bebe2d71a72e0949ed53356f13646/WCAS.BAN
199001010000005d6273b6f5b1d5bddac577afed8718d517077/WCAS0001.CRX
1990010100000016ff8c9d9b2b12b2391a688843235c3917293/WELCOME.RS
19900101000000532a03c013096b5e92212757dc40fae637718/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: Claiming for judging.
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.

despoa: Processing...

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
Location: 127.0.0.1
Patashu
He/Him
Joined: 10/2/2005
Posts: 4000
6 keys per frame FTW
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Post subject: Re: #5893: c-square's DOS Mario Teaches Typing "100%" in 25:57.79
Experienced player (670)
Joined: 11/23/2013
Posts: 2206
Location: Guatemala
TASVideoAgent wrote:
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...
</pre>
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.
Here, my YouTube channel: http://www.youtube.com/user/dekutony
Post subject: Re: #5893: c-square's DOS Mario Teaches Typing "100%" in 25:57.79
GJTASer2018
He/Him
Joined: 1/24/2018
Posts: 242
Location: Stafford, NY
Kurabupengin wrote:
Wow, someone made a TAS of my favorite Mario game Hotel Mario!? Oh, wait... ok the next best thing I guess.
Don't hold your breath waiting for one, even as a joke - Phillips CD-I is not in a very advanced state of emulator support. Intense typing FTW, so Yes vote!
c-square wrote:
Yes, standard runs are needed and very appreciated here too
Dylon Stejakoski wrote:
Me and the boys starting over our games of choice for the infinityieth time in a row because of just-found optimizations
^ Why I don't have any submissions despite being on the forums for years now...
BigBoct
He/Him
Editor
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
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.
Previous Name: boct1584
Active player (372)
Joined: 9/25/2011
Posts: 652
boct1584 wrote:
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.
I don't encounter any problems with the sound. It’s on YouTube. Are you running into this on any other YouTube videos? Anyone else encountering this?
Joined: 6/4/2009
Posts: 893
no fun and just work makes mario go crazy more seriously; did you see that smug on the sun ???
Joined: 3/1/2009
Posts: 64
Not as bad as I would have expected. I vote that it should be accepted in the vault
EgixBacon
He/Him
Player (181)
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.
FanFiction|Youtube Still on Win7! Take that, Microsoft!
TASVideosGrue
They/Them
Joined: 10/1/2008
Posts: 2728
Location: The dark corners of the TASVideos server
om, nom, nom... minty!
Active player (372)
Joined: 9/25/2011
Posts: 652
Updated submission comments with my reasoning for publication under the new rules. Judges, please let me know if you have any thoughts or feedback.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
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.
Active player (372)
Joined: 9/25/2011
Posts: 652
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.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Sounds similar to #6837: Winslinator's INTV Sharp Shot "maximum score" in 04:05.24 so far. But why it is absolutely impossible to TAS this game manually?
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.
Active player (372)
Joined: 9/25/2011
Posts: 652
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:
Sports running with a fixed time, such as football, soccer, or basketball are not eligible. Games featuring multiple successive sports, such as track & field and Olympics, are eligible as long as one of the sports fits the criteria.
to:
Games with a fixed time are not eligible. These include sports such as football, soccer, or basketball, but also extend to any game with a fixed time. Games featuring multiple segments where some segments have a fixed time are eligible as long as one of the segments does not.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Does the game ever punish you for not doing anything? For mistakes? Also
feos wrote:
But why it is absolutely impossible to TAS this game manually?
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.
Active player (372)
Joined: 9/25/2011
Posts: 652
feos wrote:
Does the game ever punish you for not doing anything? For mistakes?
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.
feos wrote:
Also
feos wrote:
But why it is absolutely impossible to TAS this game manually?
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.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
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.
Player (50)
Joined: 4/1/2016
Posts: 282
Location: Cornelia Castle
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!
Active player (372)
Joined: 9/25/2011
Posts: 652
feos wrote:
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?
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
c-square wrote:
Both levels 2 and 4 have unpredictable input rates, varying between 1 and 4 letters per frame.
Was it mentioned before? I got the impression the rate was fixed.
c-square wrote:
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.
Active player (372)
Joined: 9/25/2011
Posts: 652
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.)
Emulator Coder, Experienced player, Judge (593)
Joined: 2/26/2020
Posts: 691
Location: California
c-square wrote:
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.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
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.
Active player (372)
Joined: 9/25/2011
Posts: 652
feos wrote:
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.