Celeste TASing has been made possible thanks to DevilSquirrel, by modifying the game to read inputs from a file, as well as showing useful values and providing a friendly input editor. This game has been featured during the TAS block at SGDQ 2018. Since then, the any% TAS has been improved by almost two minutes, and inputs were converted to libTAS to make this submission possible.

Game objectives

  • Emulator used: libTAS 1.3.2
  • Aims for fastest in-game time
All movement techniques are described in the game resource page. This submission text only focuses on specific tricks.

libTAS conversion

The input conversion between Celeste TAS tool and libTAS did not cause any issue. Inputs from each level were converted separately, and inputs outside level (intro, hub, etc.) were done inside libTAS. Indeed, Celeste TAS tool ignore loadings, it feeds inputs only when pulled by the game engine.
There was only one desync at the end of stage 7A, where one frame needed to be deleted. Because it happened after a feather section, we suspect that this has to do with analog input conversion. Indeed, Celeste TAS tool input format contains analog inputs described as a stick angle in integer degrees (0 - 359), and feeds the converted X/Y coordinates to the high-level game code (into XNA/FNA game controller struct). On the contrary, libTAS feeds raw analog inputs as 16-bit X and Y coordinates, before any processing (such as deadzone) is performed by the XNA/FNA framework. So the script that converts Celeste TAS tool inputs to libTAS inputs requires some floating point operations, which could lead to small differences in the obtained analog inputs.
Also, Celeste TAS tool does not keep track of rerecords, so this value was set to 0.

In-game vs real-time

This TAS aims for fastest in-game time. This follows the convention for unassisted speedruns, as the game was designed with speedrunning in mind, providing a robust in-game timer, as well as displaying individual level times. Moreover, optimizing this game for real time would lead to differences, because several animations such as dashing, crystals or bounces freeze the stage and the in-game timer for several frames. A TAS aiming at real time would limit the use of dashes, resulting in slower movement but less freeze frames.

B-sides

The normal way of unlocking a chapter in this game is by completing the previous chapter. However, each chapter holds a secret cassette, which unlocks a special stage called B-side. By unlocking and completing the B-side of a chapter, the next chapter is unlocked. In this category, it is in fact faster (in-game time) to unlock and complete the B-side of chapters 5 and 6 instead of doing the levels normally.

Stage by stage comments

Prologue

The main optimization of this stage is using double corner boosts.

1A

We avoid most of the springs because it reset our speed.

2A

We use the cutscene warp to place us directly into the dream block to save a bit of time. When getting out of dream blocks, we can jump twice for some horizontal boosting. We can also dash diagonally downward and jump at the same time to execute an instant hyper dash. Collisions inside dream blocks have a bit of leniency, so we can cut through corners. The end of the stage features several ultra dashes.

3A

This level features a lot of crouched dashes to go through dust bunnies. When getting near Oshiro during the escape, time is slowing down but the in-game timer still runs at full speed, so we must avoid getting close to him, or knock him off.

4A

The wind adds (or remove) a constant value to our movement, except when dashing. Thus, we try to dash as much as possible when the wind is against us, and to avoid dashing when the wind is pushing us forward. The snowballs cancel our dash, which is very handy. However, we don't have much freedom to manipulate where they are appearing.

5A

We head to the cassette to unlock 5B. Inside the cassette screen, red/blue blocks are synchronized with the music. As a consequence, they are not delayed when the timer is frozen by a dash. So, to save in-game time, we have to dash as much as possible when we are waiting for red/blue blocks.

5B

Grabbing Theo cancels our dash, so we can setup a grounded ultra dash and grab him to conserve this speed. However, grabbing Theo takes a lot of time, which makes this section very difficult to optimize.

6A

Analog stick is used when in feather form for more precise movement.

6B

Bumpers send us further if we press the direction away from them when bounced.

7A

When the wind is pushing downward, we can jump on spikes if at a precise position. This is due to the order of steps in the game engine, we get pushed downward after the check for spikes, and we can jump away from the spikes during the next frame.

Thanks

Huge thanks to all Celeste speedrunners and the Celeste discord for all the suggestions and feedback.

feos: Judging...
feos: Replacing the movie with a 1565 frame improvement. Also I cleared the rerecord count (per author agreement), fixed a path, and reordered a sentence in the annotations.
feos: This games works the same as SteamWorld Dig 2 in terms of level loading: it spawns threads in-between levels, and libTAS can't control them. The situation is exactly the same, no gameplay trick is related to this, as no gameplay is there when loading happens. And the movie also aims for in-game time, which only counts gameplay times.
So exactly like that other submission, this movie relies on mid-level time pauses, and for exact same reasons I consider it acceptable. See my judgment there for all the details.
Great feedback, accepting to Moons (similar in that regard too).
fsvgm777: Processing.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
Location: 127.0.0.1
EZGames69
He/They
Publisher, Reviewer, Expert player (4468)
Joined: 5/29/2017
Posts: 2765
OOH HECK YES! Ive been waiting for this one for awhile to be submitted. Will vote as soon as I get a chance to watch it. I doubt it’s going to be anything other than a yes vote. Edit: I’m giving a weak yes vote only because I don’t agree with the use of B sides in chapters 5-6. I would rather those be completed in a 100% instead.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
I agree with EZGames that a hyperoptimized A-Sides only run would likely be more interesting than this one, but I also feel that this one still merits a weak yes.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 9/12/2014
Posts: 543
Location: Waterford, MI
That’s some complex sync settings.. I’m afraid that breaks the rules with “no hassle”. You would have to compile it. Also, do you think there will be a solution for multithreaded games? That wouldn’t require this kind of configuration?
Active player (320)
Joined: 1/30/2017
Posts: 12
Location: austin
had fun working on this! while i didn’t contribute as much as i’d like due to being pretty busy with classes and other personal projects, i’m hyped to improve this and other categories in the future. that being said, regarding playing 5B and 6B over the A-sides - our goal for this run is to finish the game as fast as possible, and thus we picked the fastest route. in terms of entertainment, it’s impossible to have an objective argument over which would be more entertaining (both versions of these levels have some really flashy screens and some relatively boring basic platforming) and since the difference between the a-sides and the b-sides is several seconds in favor of the B-side route, it seems like a no-brainer. other categories such as 100% or an all chapters run will complete these A-sides - there just isn’t really a reason for any% to do so as well.
EZGames69
He/They
Publisher, Reviewer, Expert player (4468)
Joined: 5/29/2017
Posts: 2765
The reason why I think only A sides would be more entertaining is because A sides is what most players have actually played during casual playthroughs, and anyone that has watched speedruns of this game are more used to seeing the A sides done in the any% routes. So alot of people including myself may not find B sides as entertaining. There’s also the question of what happens if in the future, it’s discovered that doing all B sides ends up being faster than doing A sides at all, or at least doing a majority of B sides (like 5 b sides). Of course that seems silly now, but I feel that this could set a bad example sometime in the future if this run gets further improved or if a simmilar movie has the same issues.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Aportik
He/Him
Joined: 1/4/2019
Posts: 1
EZGames69 wrote:
The reason why I think only A sides would be more entertaining is because A sides is what most players have actually played during casual playthroughs, and anyone that has watched speedruns of this game are more used to seeing the A sides done in the any% routes. So alot of people including myself may not find B sides as entertaining. There’s also the question of what happens if in the future, it’s discovered that doing all B sides ends up being faster than doing A sides at all, or at least doing a majority of B sides (like 5 b sides). Of course that seems silly now, but I feel that this could set a bad example sometime in the future if this run gets further improved or if a simmilar movie has the same issues.
that's not how the speedrun works. those 2 b-sides are the only b-sides that are even CLOSE to being faster, with the timesave on the chapter 6 b-side being so small in RTA that no top players even go for it in runs. in addition, there is a separate category which is any% except you beat every b-side instead of every a-side, and the world record is almost 11 minutes slower than the any% WR.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
fishmcmuffins wrote:
Regarding playing 5B and 6B over the A-sides - our goal for this run is to finish the game as fast as possible, and thus we picked the fastest route. in terms of entertainment, it’s impossible to have an objective argument over which would be more entertaining (both versions of these levels have some really flashy screens and some relatively boring basic platforming).
I don't think either of us is arguing that A-Sides only should be the default any% goal, just that we personally, (and perhaps the majority of viewers) would be slightly more interested in a different goal that's more directly comparable with the RTA run (or the older TAS that was directly comparable.) In my case it's just cause I remember cool tricks being in those that aren't quite replicated in the B-Sides, and I'd love to see those taken to the absolute limits of optimization, (under assumption that they were close bot not quite 100% there already). You're correct that this would be covered by a 100% branch, but wouldn't that also deviate from any% routes by collecting all strawberries? If so, A-Sides only would effectively be low% to this run's any%.
How fleeting are all human passions compared with the massive continuity of ducks.
Active player (320)
Joined: 10/7/2018
Posts: 5
The RTA run has used 5b for a few months now, and 6b, while theoretically faster, is extremely difficult and only done by a couple of runners, so this run is more comparable to the human run than a TAS that only completed A-Sides. The 100% run will collect strawberries, as well as the crystal heart and cassette tape in each A-Side.
Post subject: Finally, a Celeste Submission!
GamesFan2000
He/Him
Joined: 1/4/2019
Posts: 84
Location: Canada
I greatly enjoyed watching the previous Celeste TASes on YouTube. Seeing the latest run being submitted for TASVideos brings joy to my heart. A definite yes from me, and I sure as heck hope it gets a star, and is in the conversation for TAS of 2019 by year's end. Also, this is my first post. Been on this site w/o an account for a few years before today.
Memory
She/Her
Site Admin, Skilled player (1558)
Joined: 3/20/2014
Posts: 1767
Location: Dumpster
As someone who hasn't played the game yet nor really seen much of it before the TAS, yes vote. Honestly I don't see why people are raising a fuss over using B-sides to complete some levels faster. It seems like a perfectly valid way to play the game to me.
[16:36:31] <Mothrayas> I have to say this argument about robot drug usage is a lot more fun than whatever else we have been doing in the past two+ hours
[16:08:10] <BenLubar> a TAS is just the limit of a segmented speedrun as the segment length approaches zero
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
EZGames69 wrote:
The reason why I think only A sides would be more entertaining is because A sides is what most players have actually played during casual playthroughs, and anyone that has watched speedruns of this game are more used to seeing the A sides done in the any% routes. So alot of people including myself may not find B sides as entertaining.
It strikes me that we should judge this run's entertainment for a general audience and not for the niche-within-a-niche group of people familiar with speedrunning of this particular game. Choosing the fastest route through various levels is a valid approach for any%, with precedent going back at least to Super Mario World. Arguably full-A or full-B could be valid alternative branches, but for any% I don't see how we could fault this. Yes vote.
fsvgm777
She/Her
Senior Publisher, Player (226)
Joined: 5/28/2009
Posts: 1215
Location: Luxembourg
InfamousKnight wrote:
That’s some complex sync settings.. I’m afraid that breaks the rules with “no hassle”.
SteamWorld Dig 2, as pointed out in this movie's annotations, has similar issues, yet it was published. Nevermind the fact that compiling it with those pauses isn't a hard requirement, since I'd imagine you'd get this TAS to sync as well with manually pausing at those specific frames (plus one) (as it happened with SteamWorld Dig 2), it just makes the process easier.
Steam Community page - Bluesky profile Oh, I'm just a concerned observer.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
Memory wrote:
As someone who hasn't played the game yet nor really seen much of it before the TAS, yes vote. Honestly I don't see why people are raising a fuss over using B-sides to complete some levels faster. It seems like a perfectly valid way to play the game to me.
I wasn't intending to criticise this submission. I enjoyed it and voted yes. However watching the celeste tas run at gdq caused me to expegt something different, which I think I, and possibly others, would enjoy even more, so I was trying to encourage the people behind this to consider that category as a future TAS. I apologize if either of us came off as critical or derisive of their work on this run.
How fleeting are all human passions compared with the massive continuity of ducks.
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2113
Oh man. I am so glad to finally see Celeste on TASVideos. I never would've expected it to happen this soon, or that the input from the TAS tool could be converted to libtas like that. The run itself was exceptional, but that was to be expected. Personally, I'm not too concerned about the B-Sides. It's an unexpected way to beat the game, although it's known in the game's speedrunning scene. Hopefully, there will be an all-chapters TAS soon as well to get the complete Celeste experience. I'm voting Yes, and I'm incredibly glad to finally have the run on the site. Now all I need to be happy is Super Meat Boy.
Active player (320)
Joined: 10/7/2018
Posts: 5
For encoding, photosensitive mode should be turned on, along with screen shake being turned off. It definitely makes a difference in a run where it's often hard enough to see what's happening.
Skilled player (1249)
Joined: 8/29/2014
Posts: 302
It can't be overstated how exciting it is to see new PC games being TASed so soon after they're released. Been paying attention to this run since DevilSquirrel made the TASing tools for it when the game first came out. Nice job with all the improvements and converting the inputs to libTAS so it could be submitted.
fsvgm777
She/Her
Senior Publisher, Player (226)
Joined: 5/28/2009
Posts: 1215
Location: Luxembourg
It seems additional input is required after the credits (where you have to enter the house, and after entering it, the final in-game time and the death count is shown). Could you provide a movie file that does the extra input required to enter the house after the credits? Note that it won't be used to replace the current movie file, but will be used for the encodes instead, akin to the Shovel Knight "Specter of Torment" TAS.
Steam Community page - Bluesky profile Oh, I'm just a concerned observer.
keylie
He/Him
Editor, Emulator Coder, Expert player (2844)
Joined: 3/17/2013
Posts: 392
fsvgm777 wrote:
It seems additional input is required after the credits (where you have to enter the house, and after entering it, the final in-game time and the death count is shown). Could you provide a movie file that does the extra input required to enter the house after the credits? Note that it won't be used to replace the current movie file, but will be used for the encodes instead, akin to the Shovel Knight "Specter of Torment" TAS.
Sure, here is the movie file: User movie #52376912538365399
Post subject: I think that this run deserves a star.
Challenger
He/Him
Skilled player (1702)
Joined: 2/23/2016
Posts: 1065
Never heard of this game until see this submission. This is a very entertaining run, with a plenty use of dashing, not only to gain incredible speeds but for also avoid (and even) dangerous traps! I know that's too early for speak about next awards event (2019), but I'm also voting Yes for 1st TAS edition, PC, and Speedy TAS!
My homepage --Currently not much motived for TASing as before...-- But I'm still working.
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2113
Forgive me asking, but if there's additional input required to reach a definite ending state after the credits, shouldn't that be counted toward the completion time as well? After all, there's still execution involved in getting into the hut. The reference game that comes to mind for this to me is Earthbound, where after the credits, there is an additional section of input before the game truly ends. All TASes that reach the ending by defeating Giygas have included that bit.
Masterjun
He/Him
Site Developer, Expert player (2047)
Joined: 10/12/2010
Posts: 1185
Location: Germany
scrimpeh wrote:
Forgive me asking, but if there's additional input required to reach a definite ending state after the credits, shouldn't that be counted toward the completion time as well?
Relevant thread.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2113
Masterjun wrote:
scrimpeh wrote:
Forgive me asking, but if there's additional input required to reach a definite ending state after the credits, shouldn't that be counted toward the completion time as well?
Relevant thread.
Oh, thanks lad. I wasn't aware of the thread or the amendment to the rules. This clears things up for me.
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
Watched this recently. A very fast-paced TAS and the game is pretty good (though Chapter 7 is long). Looking forward to 100%, but feel free to exclude golden strawberries (all that does is force you to run chapters multiple times).
Active player (320)
Joined: 1/30/2017
Posts: 12
Location: austin
FractalFusion wrote:
Looking forward to 100%, but feel free to exclude golden strawberries (all that does is force you to run chapters multiple times).
we're currently working on the 100% and an all chapters run, so hopefully you won't have to wait too long! the standard 100% category for RTA doesnt include the golden berries due to them being redundant and we plan on doing the same for the TAS.