ScratchData LogoScratchData
Back to eJ121's profile

[TAS] MMO Platformer (48.33s)

EJeJ121•Created June 19, 2020
[TAS] MMO Platformer (48.33s)
243
220
14265 views
View on Scratch

Instructions

p to switch between record mode and playback mode. w to toggle slow frame mode f to toggle frame-by-frame mode In record mode: Movement controls as in the original game. q+r to reset c to continue to the next frame in frame advance x to clear inputs for the next frame in frame advance in playback mode: 1 to get save code from input data 0 to load saved input data from code any key to continue playback in frame advance (More information can be found in the notes and credits below)

Description

Credit to @griffpatch_tutor for the original game. This just adds a few extra algorithms for TAS, as well as the TAS itself (which took 2 days to make and optimize). Scratch can be a little non-deterministic sometimes. If the TAS isn't playing right for you, here it is on youtube: https://www.youtube.com/watch?v=1cYDrsuFq0k ------------------------------------------------------------------ Major skips and use plausibility: 1. Using momentum from the circle platform on the way to the right to get a fast launch. Possible, but unlikely to be used in real-time runs as the time gain is both very difficult to get and useless due to the inability to... 2. Get under the crusher a cycle early. This is impossible, even with as much time save as possible, the pillar just comes down in front of us. 3. Skip over the top of the pillars to avoid slowing down for the crusher when going below. Possible, and plausible to do in real-time with enough grinding. This skip is essential if we wish to... 4. Reach the spinning platforms a cycle early. Possible, but highly difficult, the TAS has to save almost as many frames as it can to make it on time for an optimal launch at the end! 5. Launching off of the platform at the end. Doing this optimally requires starting the run at the latest frame possible (as frames spent waiting are not timed), and the optimal launch uses both a frame perfect jump, and a frame perfect long jump upon landing. ------------------------------------------------------------------ About: Save Codes. As editing TAS save codes directly is a useful tool when dealing with many frame-perfect inputs, I explain the save code mechanism below: for this engine, TAS save codes are in the format Input1, Frame1, Input2, Frame2.... Where Frame1 corresponds to the frame that Input1 is held until, Frame2 has the same function, but is for Input2. the format for inputs is a 4-bit binary number with each bit corresponding to a key: Left, Right, Up, Down For example, a long jump to the right (right+down+up) is represented by the binary number 0111. This is saved as a decimal. So a long jump to the right is denoted by a 7. in full, inputs are: 0, <0, or >15 = Nothing 1 = Stationary duck input 2 = Stationary jump input 3 = High jump (up + down) 4 = Run right 5 = Slide right (right + down) 6 = Jump right (right + up) 7 = Long jump right (right + down + up) 8 = Run left 9 = Slide left (left + down) 10 = Jump left (left + up) 11 = Long jump left (left + down + up) 12-15 = Obsolete, as both left and right are pressed ------------------------------------------------------------------ devlog: 19/06/2020 v0.1 Added binary encoding of inputs (LRUD) and an input strapper to allow recording/playback to work. 20/06/2020 v0.2 Added saving/loading with RLE, 20/06/2020 v0.3 Added slow mode, frame-by-frame for analysis, and mid-playback recording 20/06/2020 v0.4 Added arrow key display during playback. 20/06/2020 v0.5 Made my first TAS of the game (it finished in 48.63 seconds) 21/06/2020 v0.6 Improved the TAS to achieve a faster time of 48.37 seconds Added new features to the UI, such as a visible frame counter, and millisecond precision on the timer 21/06/2020 v0.7 Fixed a minor bug when attempting not to load, made the game reset frame mode upon loading new inputs, added some robustness and validation checking to loading codes 21/06/2020 v0.8 Added an explanation of how save codes work in the notes, as it is useful if anyone else wants to try TASing the game/looking for setups to get better cycles in real-time. 21/06/2020 v0.9 Fully optimized the TAS, it is now a 48.33 (or, from first input to finish, 1450 frames) Added a thumbnail and fixed a minor graphical issue. 22/06/2020 v1.0 Released to the public 23/06/2020 v1.1 Made it so inputs can be entered in frame-by-frame mode. 23/06/2020 v1.1b Slight changes to the frame advance input method. 09/07/2020 v1.1c new TAS code - 48.30, but only seems to work in small screen 0,34,4,56,7,64,4,72,5,73,7,86,4,105,6,113,4,124,6,130,4,134,8,135,4,137,8,138,0,139,4,140,0,141,4,143,0,149,4,156,6,162,4,171,7,181,4,197,6,217,4,230,6,242,4,253,7,261,6,298,4,306,7,318,4,342,5,370,7,377,4,381,6,410,4,419,7,423,4,429,7,436,4,440,6,444,4,450,6,454,10,457,6,459,4,463,0,465,4,499,6,503,0,505,4,536,6,540,4,573,6,574,2,575,10,580,8,587,0,599,4,607,7,616,6,618,4,630,8,633,0,642,8,645,0,661,2,663,6,687,0,690,4,700,7,708,4,739,5,761,7,804,8,809,11,827,8,831,11,840,8,847,11,864,10,896,8,910,10,926,8,943,10,953,0,955,8,980,11,1009,8,1016,11,1050,8,1051,11,1082,8,1084,11,1126,10,1140,8,1151,11,1169,10,1202,8,1206,11,1234,8,1242,9,1277,11,1307,10,1327,2,1329,6,1333,10,1346,6,1359,10,1368,8,1383,0,1390,4,1394,0,1396,8,1423,10,1439,8,1440,11,1479,8,1490,0,1505,

Project Details

Project ID406326625
CreatedJune 19, 2020
Last ModifiedJuly 19, 2020
SharedJune 22, 2020
Visibilityvisible
CommentsAllowed

Remix Information

Parent ProjectView Parent
Root ProjectView Root