Post subject: Clock Works
Aran_Jaeger
He/Him
Banned User, Player (9)
Joined: 10/29/2014
Posts: 176
Location: Bavaria, Germany
Here's a TAS of Clock Works that was made with lsnes rr2 beta23 [bsnes v085 (Compatibility core)]: http://tasvideos.org/userfiles/info/49448298356770274 - - - About the game: The game has 50 stages (10 rounds for each of the modes ''tutorial'', ''carousel'', ''typhoon'', ''cyclone'', ''vortex''). Other than this, the game also has some Time Trial mode in which one tries to get as far as possible within 5, 10, or 30 minutes. Select, Up, Left, Right, L, R don't do anything in the game (past the initial title screen and savefile select & game start phase). It seems that every stage provides 7000 score points for beating it, and that one gets additional 100 points for every remaining second on the HUD at the end of a stage, except sometimes it seems it is 100 less than that (so that 1 second left on timer gives 0). The initial default High Score is 00315200 (which moves up alongside the current score once the High Score is surpassed). A small score point vertex adds 1000 score points if it is a grey vertex and otherwise 2000 (for a red, green or blue vertex; probably because they are more dangerous to walk onto, since pointers could attach to them). The goal vertex of a stage can at the same time be a score vertex aswell, and the starting vertex too (and it needs to be revisited in order to add its score points). On GameFAQs ( https://psxdatacenter.com/games/J/C/SLPS-00387.html ) it is said that there exist 100 stages, but I only happened to come across 50 until the credits were reached, and the HUD only shows 2 digits (in particular, the first stages are shown as stage 0X, not as stage 00X), and the TAS synchronizes through the game perfectly fine if I let it run through the Normal (which takes 2 frames less due to skipping the need to change the difficulty setting, and provides me with 3 minutes for every stage) or Easy difficulty (4 minutes for every stage) instead of Hard mode (which gives me 2 minutes for every stage) with same inputs otherwise. Some list of different objects that exist in the game (and states in which they can be): Player character's actions: - rotating around a vertex clockwise or counter-clockwise - turning around on a vertex - switching from 1 vertex to another - sliding alongside platforms (which have intermediate, invisible vertices in their interior) - automatically moving around the screen from 1 wormhole vertex to another of the same colour Down and B presses (at any point in time) change the character's rotation from clockwise to counter-clockwise while staying on the same vertex, and vice versa (and they have priority over vertex switches if inputs for both happens at the same frame). A presses (for swinging) switch the character from a vertex to another and swap the rotational orientation, and has priority over X and Y (works only in singular frames in which the character is at the far top, bottom, left or right of a vertex and if a neighbouring vertex exists in that direction). X presses (for flipping) switch the character from a vertex to another and keep the rotational orientation (works only in singular frames in which the character is at the far top, bottom, left or right of a vertex and if a neighbouring vertex exists in that direction). Y presses swap the rotational orientation while staying on the same vertex (works only in singular frames in which the character is at the far top, bottom, left or right of a vertex and if a neighbouring vertex exists in that direction). Apparently only if one's moving clockwise (not counter-clockwise), one can press Down 1 or 2 frames before moving onto the next vertex (only if it is a step done with A), and then one can get the same effect as what X alone would do (to make a step with flipped rotation), without any frame delays. Pickups: * travelling clock (stays in place until one touches it, which makes it move towards exactly 1 existing building zone after a small delay, and if the character touches the clock or its explosion while it is moving, he will die, but otherwise it will explode and vanish together with the building zone once it reaches it) * POW sign (provides temporary invulnerability, which also allows to move through mines) * sand clock (adds 1 minute to the timer for the current stage) * oversized character head (adds 1 attempt/life upon collection) Environmental objects: * yellow oil drops (explode after some time and turn into yellow rings at a neighboured vertex, and it will slowly chase the character (not always in the most straight forward manner with its random movement that is time-dependent and can be manipulated with inputs) * cannons (shoot every time at which the character or a pointer moves over a green button that corresponds to the particular cannon, unless there's already a cannon projectile on screen) * green cannon switch (triggers a corresponding cannon to fire a projectile if the character or a pointer moves over the button, unless there's already a cannon projectile on screen) * silver flag vertices (are checkpoint-vertices from which one can spawn/restart a stage in case one dies in a stage, provided one reached such checkpoint-vertex beforehand) * pairs of colour-coded wormhole vertices (move the character over the screen to the corresponding other wormhole vertex if one moves onto such vertex, without being able to get hit and while keeping the current angle relative to the previous wormhole vertex) * grey walls (don't allow pointers or the character to move through them and repel them) * coloured gates (which are basically walls which switch between opening up and closing again every time at which the character or a pointer moves over a keyhole symbol of the same colour, but gates also close on their own after some time) * score point vertices * red mines (they just constitute small obstacles that kill the character if he touches them and sometimes block off paths, but pointers ignore the mines) * goal vertex (is indicated by 3 yellow stars rotating around it and ends the current stage if the character attaches to it) * checkpoint-vertex (has 1 yellow star rotating around it and triggers the existence of further vertices that can be coloured or grey) * invisible vertices (are vertices that exist in some stages and become visible once one attaches to them, as opposed to the triggerable vertices from attaching to a checkpoint-vertex) * platforms (linearly connect vertices either vertically or horizontally, and allow pointers and the character to slide alongside them as if they were extended vertices) * coloured vertices (together with coloured platforms they are the paths that pointers of the same colour can travel along) * coloured pointers (they exist in green, red, and blue, move as fast as the character, except there's also 1 rare faster type, and can either move around coloured vertices as if they moved like the character while either permanently holding A, or X, or Y, or no button (and hence ignoring neighbouring vertices of the same colour); but the colour does not determine which of these is the case for a given pointer, but a given pointer in some stage will not switch between movement types) Getting out of wormholes also provides (short) temporary invulnerability. And even though moving yellow rings from oil drops look like colour-coded wormhole vertices, they don't share the teleportation mechanic. Pointers can only move alongside visible or activated vertices. Pointers, when they move alongside platforms, can also (but don't need to) identify and react to intermediate vertices that are part of the platforms, and it seems that no pointer's movement depends on the own character actions or movement. However, there is some odd instances in which pointers (consistently) can attach to some grey vertices aswell (e.g. in stage 6). - - - Optimization aspects: Sliding on platforms is much slower than swinging between vertices. All wormhole vertices and all invisible and triggerable vertices (in particular those that don't necessarily have to be activated) have been considered for finding the fastest paths. Shortcuts that make use of temporary invulnerability (from POW(er) pickups or wormholes) also have been checked. Pressing Down to switch the rotational orientation immediately after a vertex transition with A costs 4 frames at the next vertex (if one is going along 180° angles). In stage 42, I tested if the few saved frames from wiggling past the initial pointers earlier would allow to avoid having to go the long 270° angle later on (or if it'd allow to take the 90° angle past the last pointer near the end), but this turned out to be impossible in my tests. Apparently, doing multiple 90° vertex switches (if possible) on the way downwards doesn't lose any frames compared to just going straight downwards in fewer transitions at 180° steps each. At some of the instances at which pointer's had to be dodged or barely passed without touching them, 1 or 2 frames could be saved by not initially rotating towards the wrong direction just to turn around with 1 Down press as soon as the pointer that is to be dodged allows, but to instead press Down quickly multiple times (like a wiggling process) to get past a pointer slightly earlier. Apparently there's different kind of wiggles around pointers that can work out: (i) instead of doing the (usual) 1 turn, one adds a turn 2 frames later and another one 2 frames earlier (for a frame t, one puts turns at frames as follows): [t] -> [t-2,t,t+2] (ii) [t] -> [t-4,t-2,t+2] (iii) [t] -> [t-3,t-1,t+2] Regarding score point variation for the goal to reduce lag during stages (which only exists in the stages 24 and 31) later on, the following is possible (and can also be combined): * Round 2: 1 additional 1000 score vertex is near the end on the way down and can be taken or not, but has no influence on lag. * Round 11: One can choose to either trigger an oil drop or avoid it, but this has no influence on lag. * Round 12: One can choose to either trigger an oil drop or avoid it, but this has no influence on lag. * Round 13: One can choose to either trigger an oil drop or avoid it, but this has no influence on lag. * Round 14: Either the red central score vertex can be taken, or it can be avoided (by going above it), or the left 2 blue score vertices beneath can be taken, or all 3 bottom blue score vertices can be taken, but none of this has influence on lag. * Round 18: One can either trigger the lower oil drop or the upper one, but this has no influence on lag either. * Round 20: One can either take the left grey score vertex and the bottom 2 red score vertices, or the left 2 grey score vertices in the middle and the bottom right score vertex, or the top left grey score vertex together with the left 2 grey score vertices in the middle and the bottom right score vertex (but in any case one would take the bottom right grey score vertex), but none of this has influence on lag. * Round 23: One can take or avoid the bottom green score vertex, and one can take or avoid the bottom right grey score vertex, but this has no influence on lag. These are almost all score or object trigger options in stages before stage 24, but even though there exist different cases of lag amounts in those 2 stages, nothing of the above seems relevant to it. Input spam during load times shortly before stage 24 and additional button spam mid-stage seems to not have an influence either. Delaying frames after the previous score confirmation screen before stage 24 seems to not change lag either. Changing the character's movement between flips and swings doesn't affect the lag either. Adding turns (with Down inputs right after A or X) does change the lag but seems to just get worse since the rotation is delayed so much. Ending the previous stage 1 frame later (with 1 frame delayed wiggle) changed the lag pattern of stage 24 and 31 in both cases to the known better kind (with 2 less lag frames in stage 24 and 1 less lag frame in stage 31). Here is a file that contains a list of timestamps for milestones (usually the first or last frames of stages, and score screen fade-out frames) throughout the TAS: https://cdn.discordapp.com/attachments/218520158963105792/483750350126448670/Clock_Works_level_timestamps.txt As opposed to the time that it takes from the end of a stage to the the corresponding score screen, which seems to be 188 frames always except for the score screen of the final stage 50 (which might be a special case) with 187, even though the time that it takes from a stage's score screen to the start of the next stage appears to be much more variable, there have not even a single time been desynchronizations (due to longer or shorter load times) happening at the beginning of a stage when changes were applied in earlier stages, so it seems even though these time periods have individual lengths, they are stable in size. - - - Some (ordered by stage) route & strategy comparison movie material (of which there's none remaining to be implemented into the TAS, given how synchronization-friendly the game is regarding edits): Round 6: https://cdn.discordapp.com/attachments/218520158963105792/483746765494026243/Clock_Works_round6_platform_sliding_through_pointer.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746776999002142/Clock_Works_round6_slower_path.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746789170872330/Clock_Works_round6_slower_path.lsmv.backup Round 8: https://cdn.discordapp.com/attachments/218520158963105792/483746821970329610/Clock_Works_round8_wormhole_route_slower.lsmv Round 9: https://cdn.discordapp.com/attachments/218520158963105792/483746833135566888/Clock_Works_round9_2nd_slower_approach.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746845240197153/Clock_Works_round9_slower_approach.lsmv Round 10: https://cdn.discordapp.com/attachments/218520158963105792/483746857546285056/Clock_Works_round10_faster__lag_reduction.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746868631961631/Clock_Works_round10_laggy_1st_try.lsmv Round 19: https://cdn.discordapp.com/attachments/218520158963105792/483746880363167744/Clock_Works_round19_faster_wormhole_routing_than_red_warp.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746891587125249/Clock_Works_round19_improved_red_wormhole_i-frame_path_still_slower.lsmv Round 22: https://cdn.discordapp.com/attachments/218520158963105792/483746903222124554/Clock_Works_round22_invisible_tile_improvement.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746914165325824/Clock_Works_round22_left_invisible_path_faster_than_right_one.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746925334757387/Clock_Works_round22_right_slower_invisible_path.lsmv Round 26: https://cdn.discordapp.com/attachments/218520158963105792/483746937317621763/Clock_Works_round26_slower_left_path.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746948587847701/Clock_Works_round26_top_right_path_faster.lsmv Round 30: https://cdn.discordapp.com/attachments/218520158963105792/483746959346237471/Clock_Works_round30_alternative_wait_option.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746971086094349/Clock_Works_round30_bad_blue_gate_timing.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746982288949276/Clock_Works_round30_bad_no_gate_approach.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483746993630478351/Clock_Works_round30_fast_red_gate_trigger_path.lsmv Round 31: https://cdn.discordapp.com/attachments/218520158963105792/483747004657303573/Clock_Works_round31_slower_bottom_path.lsmv Round 35: https://cdn.discordapp.com/attachments/218520158963105792/483747015390658571/Clock_Works_round35_last_part_bottom_route_2_frames_slower.lsmv Round 36: https://cdn.discordapp.com/attachments/218520158963105792/483747026153111562/Clock_Works_round36_right_side_much_slower.lsmv Round 49: https://cdn.discordapp.com/attachments/218520158963105792/483747047233814540/Clock_Works_round49_far_left_path_fastest.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483747061183938570/Clock_Works_round49_middle_path_slow.lsmv https://cdn.discordapp.com/attachments/218520158963105792/483747072579993610/Clock_Works_round49_right_path_slower.lsmv - - - Observations: If one presses the Reset button after the credits like in the following movie, https://cdn.discordapp.com/attachments/218520158963105792/483744506869579796/Clock_Works_past_credits_strange_scoreboard_messup.lsmv and moves to the screen where one can view the high scores, then it can happen that the screen messes up and puts the high score list over a different screen as shown in the following screenshot: With the following movie, https://cdn.discordapp.com/attachments/218520158963105792/483744591225552897/Clock_Works_Time-Trial_TAS.lsmv I tested what would happen if one finishes the Time Trial mode (30 minutes option, since in the 10 or 5 minutes option it is impossible), and it turns out that the game just freezes in the moment in which one attaches to the final goal vertex (but the movie keeps going): So maybe this wasn't intended or expected to be possible by the developers. During the test of the Time Trial mode, there also occured a strange beeping sound in stage (or round) 5: https://cdn.discordapp.com/attachments/218520158963105792/483749450037329930/Clock_Works_Time-Trial_round5_strange_beep_sound.lsmv Apparently, it can happen that a pointer attaches to a grey vertex: Stages without invisible vertices other than activated ones from checkpoint-vertices: 1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,26,29,30,31,32,33,34,35,36,38,40,41,42,43,44,45,46,48,49. The following screenshots show stages together with the invisible and triggerable vertices: Stage 7 (has 3 invisible vertices): Stage 22 (has 6 invisible vertices): Stage 25 (has 3 invisible vertices): Stage 27 (has 1 invisible vertex): Stage 28 (has 3 invisible vertices): Stage 37 (has 15 invisible vertices): Stage 38 (has 7 unused triggerable vertices): Stage 39 (has 3 invisible vertices): Stage 47 (has 5 invisible vertices): Stage 50 (has 9 invisible vertices): Here's a video for the TAS: Link to video
collect, analyse, categorise. "Mathematics - When tool-assisted skills are just not enough" ;) Don't want to be taking up so much space adding to posts, but might be worth mentioning and letting others know for what games 1) already some TAS work has been done (ordered in decreasing amount, relative to a game completion) by me and 2) I am (in decreasing order) planning/considering to TAS them. Those would majorly be SNES games (if not, it will be indicated in the list) I'm focusing on. 1) Spanky's Quest; On the Ball/Cameltry; Musya; Super R-Type; Plok; Sutte Hakkun; The Wizard of Oz; Battletoads Doubledragon; Super Ghouls'n Ghosts; Firepower 2000; Brain Lord; Warios Woods; Super Turrican; The Humans. 2) Secret Command (SEGA); Star Force (NES); Hyperzone; Aladdin; R-Type 3; Power Blade 2 (NES); Super Turrican 2; First Samurai. (last updated: 18.03.2018)