Green Flag to watch the TAS Turbo Mode to go faster Eyes to see ## TAS CONTROLS ## ( [ ) - Advance Frame ( - ) - Save State ( = ) - Change Modes (Normal, Frame-By-Frame) (You have to advance next frame for changes to take effect) ( M ) - Green Flag for TASes ( Green Flag + Space ) - Reset Gameplay Framerate controls the speed of which the game runs when in Normal mode
== TAS INFO == Final Time: 27s (Frame Count / 30) Frame Count: 810 RNG Calls: 247 == DESCRIPTION == Cannot work on the Dinosaurchestra movie at the moment because I am stuck at school with my laptop. So I worked on this showcase project for my TAS Engine == GAME EXPLANATION == This game is just something I've cooked up for the showcase. It contains my square avatar which you can control by moving around and jumping. And a trigger which randomly displays a number between 1-100 for every frame that the player touches it == ENGINE EXPLANATION == This TAS Engine is a more refined version of an unfinished FNaF TAS I couldn't complete. It includes elements of The King Is Dead TAS as well as some new features This TAS Engine uses a "game-loop" design where you could manipulate how each frame is handled remotely by changing the game-loop. This works best with games that already use a core game-loop (examples include most Griffpatch games) For Savestates: I kept track of the list of inputs the player had done, and the 'Save State Frame'. I update the SSF whenever the 'Save State' button is pressed. And when the 'Real Green Flag' is clicked, it removes all the inputs after the SSF in the input list For Loading States: I don't really have a clever way to do this yet. I just used Turbo Mode For Frame-By-Frame: I simply yielded the game-loop until the player pressed the 'Advance Frame' key. For Gameplay Framerate: I keep track of a variable called 'scaled frame' which increases based on (Gameplay Framerate / 30); 30 being the default framerate that Scratch uses. Whenever the sf value reaches 1 or higher, it progresses to the next real frame and decrements by 1. It's honestly a really clever solution! For RNG and RNG Syncing: I pre-generated a long list of random values in a list, and I index those values using a custom block identical to the Scratch randomness source code to hopefully achieve an accurate result. Note that the values are compressed to save on storage space. You can find more info on '[TAS] CORE' sprite For Green-Flag Sync: I binded an unused key (which in this case, is M) to act as the green flag. Whenever I press this key, it would reset the whole project as if you actually clicked on the green flag. With stuff like resetting the timer and resetting all sounds == TAS EXPLANATION == Since there's not much to do here aside from staying on the trigger. I decided to have fun by predicting the randomness to be whatever I want. I held onto the trigger for a specific amount of time for the resulting number to display as "67" (yes. I am hip with the kids). after this, I "clicked" on the green flag and stayed on the trigger until I hit another 67. It wouldn't be until another 234 RNG calls that I would get the funny meme number If you know any improvements I can make on my TAS Engine, please let me know or feel free to remix!