Why Does Celeste Feel So Good to Play?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Really interesting to see a deep-dive into the systems and mechanics that contribute to the amazing "feel" of this game. And the comparisons to other genre standouts (Mario, Meatboy, etc.) is a great illustration that there isn't a single "right" configuration for these systems, but that it's crucially important to test and tweak and iterate to get a system that feels good in isolation, and then build your world and levels around the fun system you've created.

👍︎︎ 166 👤︎︎ u/-birds 📅︎︎ Jul 31 2019 đź—«︎ replies

This is a big part of the reason it's been in the top 3 most active games on speedrun.com consistently for the past year and a half with no signs of slowing down.

👍︎︎ 94 👤︎︎ u/AchromaticSky 📅︎︎ Jul 31 2019 đź—«︎ replies

Ill watched the video after work but I jjst want to say Celeste is one of my favorite games of all time. From the insanely fun tight platforming to the emotional story to the addictive music. Just such a great package. I pick it up and play random levels all the time. It never gets old.

👍︎︎ 45 👤︎︎ u/morkypep50 📅︎︎ Jul 31 2019 đź—«︎ replies

One thing I got from this is the importance of play testing in an earlier stage -- Matt mentions there was a lot of tweaking on the character's moving, even some majors changes, that came after the tests. Seems like companies have the habit of testing once it's too late for any substantial change (if the tests happen at all).

That's a great video, btw. Thanks for sharing.

👍︎︎ 8 👤︎︎ u/finutominal 📅︎︎ Jul 31 2019 đź—«︎ replies

Fantastic video. I really enjoyed learning about the small things that they did to make the game more forgiving, such as "coyote time" that let's perform a jump a frame or two after running of a platform. I didn't even notice these things when I was playing the game, and they certainly didn't make it any easier, but the contributed to the game always feeling fair and fluid instead of frustrating. As a developer, I'm really in awe that these guys went through hard-coding in all these special cases. Really brilliant work.

👍︎︎ 21 👤︎︎ u/Fredifrum 📅︎︎ Jul 31 2019 đź—«︎ replies

Worth mentioning is that this is one of the best story telling platformers in existence. Feeling good to play comes from the context you have for your gameplay and the first time you get to the second to last and last level you are really feeling what you are supposed to do there and it's amazing. Heyyyy-ya!

👍︎︎ 59 👤︎︎ u/dantemp 📅︎︎ Jul 31 2019 đź—«︎ replies

This video puts into words why Hollow Knight frustrated me at the start. I played Hollow Knight after Celeste and the platforming just does not compare because of those small details in the code that make the controls a bit more forgiving.

Game Score Fanfare has their own video on Celeste's score that's worth checking out.

In essence, Celeste is a masterpiece. Every bit of it delivers in a big way.

👍︎︎ 40 👤︎︎ u/Danulas 📅︎︎ Jul 31 2019 đź—«︎ replies

It's interesting seeing this game get so much credit for controls, because I didn't really like them personally. I played it both on PS4 and Switch, and while I do think that is a great game for the most part, the controls on the dash (arguably the most important mechanic in this game) always felt really finicky to me. Whenever I wanted to dash, it always felt like a crapshoot wether I was going the way I wanted or to one of the side directions (so up or down right when trying to dash right, or up or left when trying to dash up-left). I was only able to finish the game by playing with a GameCube style controller that has notches for each direction, so I could always point in the perfectly precise direction.

👍︎︎ 3 👤︎︎ u/TransgenderLenin 📅︎︎ Aug 01 2019 đź—«︎ replies

Maybe im in a minority, but i really got annoyed with the game. Its like trying the same exact jump and move 1000 times before I could pass on many levels. So frustrating but not in a way that challenging and accomplishing, just annoying.

👍︎︎ 6 👤︎︎ u/system3601 📅︎︎ Aug 01 2019 đź—«︎ replies
Captions
If you’re making a platformer, you’ve got to get your main character feeling good. Because sloppy physics, unresponsive controls, floaty jumps, and imprecise movement are completely toxic in platformer design. So it’s vitally important that you get this stuff right. And if you wanted a character to learn from, you could do a lot worse than looking at Madeline - a twenty-something wannabe mountain climber, and protagonist of 2018’s award-winning platformer, Celeste. Her controls are tight, precise, and responsive. You can put her exactly where you want, and ping from platform to platform with fluidity and accuracy. And the game not only works at a super casual level, but it even holds up when you delve deep into Celeste’s toughest challenges. So how, exactly, is this achieved? Well, to figure it out, I went on a bit of a journey. I pulled apart the game’s code. I went frame-by-frame on Madeline’s animation. I chatted to Celeste speedrunners. And I spoke to a couple people who know the game better than anyone else… MATT: I’m Matt Thorson, director and co-creator of Celeste. NOEL: I’m Noel Berry and I’m programmer and co-creator of Celeste. And so, after all that, here’s what I learned about the killer controls of Celeste. So let’s go back to the very beginning and look at Madeline’s most basic move: her run. A character’s run can be split into three parts: acceleration, top speed, and deceleration. As in, once you start moving the stick, how long does it take the hero to get up to top speed? And how long does it take to stop, when you let go? Getting these two curves right is especially important. Keep them short and the character will feel stiff and robotic - like in Mega Man 11. Make them long and the character will feel heavy and lumbering to set off, like in Super Meat Boy - and slippy and uncontrollable to stop, like in Super Mario Bros 3. That game generally feels great to play, but Mario does feel like he’s running on ice at times. In Celeste, Madeline has ultra short acceleration and deceleration curves. It takes her about six frames to get to full speed - which happens roughly four times faster than Super Meat Boy. And she comes to a stop in just three frames - about nine times faster than Mario in New Super Mario Bros U. Those digits are just high enough to make Madeline feel human, and to stop you from being able to do huge standing jumps - but short enough that she almost instantly does what you tell her to do. You’re very rarely going to slip off the edge of a platform, in this game. Her top speed is relatively low, too. And unlike Mario and Meat Boy, there’s no run button to get even more speed. I think this is just fast enough to feel fluid, but slow enough that you feel in total control at all times. We can do a similar process with the jump. First, we calculate the character’s jump height by looking at high they can jump - compared to their own body size. So in New Super Mario Bros U, Mario can jump to a point that’s four times his own height, while Meat Boy can jump massively high, to about six times his own height. And then we can look at each character’s jump curve, noting the climb, hang time, and fall. This also gives us a total jump time. So Meat Boy has a tall and lengthy jump, making the character feel rather floaty. Yarny from Unravel, on the other hand, has a really short jump, and not much hang-time, making this wooly rag-doll feel surprisingly heavy, and leaden. Madeline, again, sticks to the short end of the spectrum. She goes up and down very fast, but with quite a lot of hang time so you can line up your landing. And she can jump to about three times her own height - giving her one of the shortest jumps around. Like her run, these numbers are enough to make her feel bouncy and animated - but about as far from floaty as you can get. There’s more that makes Madeline’s basic movement feel good, of course. There’s the fact that she can change direction very quickly, with no skidding. And how she has massive amounts of air friction, which means if you stop moving the stick in mid-air, she’ll almost instantly fall straight down. That makes it easier to land precisely where you want to. And then there’s the more fundamental design of the game’s camera. Celeste is a zoomed-out game, where - at times - the entire room is framed by a static viewpoint. This means that the screen isn’t flipping out all over the place, which makes it easier to be precise with your runs and jumps. If Madeline is the only thing moving, it’s easier to put her where you want to. The devs did have to compromise on detail for the characters and environments, but I think it was worth it. Now, Madeline’s movement is entirely hard-coded, and written in Visual Studio, with the help of Microsoft’s XNA framework. So the devs didn’t use the built-in gravity or physics systems you sometimes find in game engines like Unity and Game Maker, as they preferred to have precise control over the player’s input. So I asked Matt and Noel how they came to these numbers for Madeline’s movement. MATT: A lot of it was intuitive, a lot of it was just from making a lot of platformers. To get a sense of what you want a platformer to feel like and what works. NOEL: And a lot of it was just experimentation, right? Like trying things and getting people to playtest it, and seeing how it feels and watching them and seeing like "oh that did not work as intended", so this needs to be toned down, this needs to be better. MATT: And it changed a lot through development too. Lots of little changes - even big changes. NOEL: And like in regards to how the pacing feels when you’re platforming, like when should you be stopping and when should you be more flowing. The mechanics changed to kind of like make that all feel better. So those are the basics, but there’s way more to Madeline - in the form of two extra moves you can use when scaling the mountain. One is the climb. Hold the trigger and Madeline will snap to a wall, and then can climb up it, and bounce off for a springy wall jump. Unlike Meat Boy, who slides up walls uncontrollably, Madeline sticks to surfaces like glue. Climbing is dictated by a stamina system - Madeline’s got 110 stamina points, though that’s not shown to the player, and they depreciate at different rates depending on whether you’re holding still, climbing, or doing a climb jump. The other move is the dash. Hit the dash button and Madeline will fire off into the direction you’re holding. She can only dash once in mid-air - elegantly represented by her hair turning blue - so you’ll either need to touch the ground or grab a crystal to replenish your stock. The dash does take control away from you, because Madeline fires in one direction at max speed. But that’s only for the first 0.15 seconds of the move. From there, she slows down and you’re given control back, meaning you can cancel the momentum of the dash to stop yourself flinging into spikes. This gives the move more nuance and expressiveness, compared to the same, more static move in Celeste’s PICO-8 precursor. With these three mechanics - the jump, the climb, and the dash - Celeste becomes a rapid-fire, resource-management puzzle of managing vertical space, and picking when and where to execute different moves. A jump here, a dash there, on to the wall, then back off to regain stamina and replenish your dash, before jetting off again. Each move has its own feel, speed, and level of control - giving the game an exciting, ever-changing pace. All part of the developer’s plan, as it turns out. MATT: Like, a lot of problems in Celeste can be solved in multiple ways. Like you could either dash or you could climb. There’s some where you could only use one or the other, or you have to use both in different combinations. But the dash was always supposed to be the more chaotic option where it’s kind of harder to control, whereas the climb is more methodical and you have more precise control of it. It’s not just the numbers that makes Madeline’s moveset feels so good: art, animation, and sound effects help sell the feeling, too. Like the squash and squeeze on her jump, which really emphasises the movement in her body. The way tiny dust particles kick up, and the controller rumbles, when you hit the ground, to sell the impact. The four-frame pause and microscopic screen shake whenever you dash, which makes the jolting movement feel even more heightened. And the trail of shadows and the blazing white contrail, which emphasise the speed and direction. Celeste isn’t a bonkers Vlambeer-style juice fest, but these subtle and short-lived effects do a lot of heavy lifting in making the game feel better - and giving feedback to your inputs and actions. While Celeste is a very hard game at times - and gets even harder if you go for the strawberries, and cassette tapes, and B-Side levels, and so on, the developers are actually extremely generous to the player, with an untold number of hacks and special cases in the code that make the game way less punishing. The most famous, perhaps, is the way you can jump a few frames after leaving a platform - and still spring into the air. This is called Coyote time, named after the bits in Loony Toon cartoons where characters run off platforms and keep sprinting in mid-air. But there are loads of others hidden in the code. Dashing into a corner won’t bonk you into oblivion, but you’ll merely sail around the edge of the platform. Spikes have a small hit box, so you won’t die if you touch the very tip. These traffic light blocks will still grant you momentum, even if you’re a little late on the button press. If you do a climb jump but quickly push away from the wall, the game switches to a wall jump and refunds the stamina. And if you jump just before touching the ground, the game will remember that and execute the command when you land. NOEL: Because it feels bad if you press jump the frame before you touch the ground and just touch the ground and there’s nothing. You want it to feel like "no, I pressed the jump button, I was right there...". It feels like the game messed up, like the game missed your input or something - it got eaten. And you don’t want that, you want to feel like you’re in control of your character and it’s doing what you want it to do. And when you do mess up it’s more on the player figuring out like “how do I solve this problem and execute it better" and not "I was one frame off and the game's has killed me". MATT: It’s like working on the player’s intent rather than making it a precise simulation of pressing buttons at the correct time. NOEL: And the cool thing too about that is for actually really pro players, people who get really really good at it, it does come down to those frames. Even if you say "you get three frames off of a ledge, and you can still jump" - for a normal player that just makes the game feel better. But then for pro players who actually are trying to get through each level super fast, or trying to execute something perfectly, then they get down to the frames, like "no, I have three extra frames so I can use those to get across a gap I’m not supposed to get across" MATT: They abuse it NOEL: Yeah. So you still get that frame perfect play that’s possible but then for casual players it just feels better. It’s a good point, and boy have players found ways to get the most out of the game’s movement code. I asked TGH, the world’s top-ranking Celeste speedrunner, to explain some of the advanced techniques he uses to turn the game’s toughest stages into graceful, effortless dances. First, there’s the dash-cancel, where a forward dash can be cancelled at the last second and turned into a massive jump that flings you through the air with all the momentum of the dash. Do this while crouching and you’ll get the hyperdash, which is a lower but faster jump. You can extend these two moves by separating the dash and jump inputs slightly more, so Madeline regains her dash in mid-air. And “for even more speed”, says TGH, “after extending a hyperdash you can dash diagonally down-forward to chain momentum, and in some cases you can gain ludicrous speed". This is known as an ultradash. You can also dash cancel upward along a wall for boosted height and vertical speed. Which is called an up-hyper or wallbounce. There are other techniques too, and TGH says “it’s amazing just how fluidly all these techniques come together and work so well with the level design.” That’s likely because almost of them are actually intended by the developers and some are even taught to you in the game. Not that I can actually perform them, mind you. It was important to Matt and Noel that Madeline’s movement felt great, even if you don’t have tricky, well-designed levels to explore. After all, this was one of the key suggestions they had when I asked for the tips they might give to someone making their own platformer character. NOEL: Just make sure that the moment to moment feels good so that when someone’s just sitting there with a controller, the room could be empty but they can move their character around, make that feel good MATT: With no goals or anything, just make sure it’s fun to be that character. I remember playing Mario Sunshine and just running around Delfino Plaza for hours beause it was just fun. NOEL: You can flip off stuff and all these things. Just the player itself can do all these cool interactive things that just feel fun. But making levels - and adding in new mechanics like pinball bumpers, trampoline clouds, moving blocks, pelting wind, and kamikaze hotel owners - can actually force you to go back to the movement code, and change how things work. MATT: We decided early on what we wanted Madeline to be able to do, but the details of the numbers defintiely changed, and then the levels also changed, in tandem with that. So you basically get the player character to where it feels alright, you know it’s not perfect, you know you have to do testing and stuff, but you need levels to test too. So you make a bunch of levels and then you test, and you find out "oh the player character has to change", and then you have to change 20 levels. You have to let different parts change other parts of the game, and let it slowly reveal what it wants to be. NOEL: And you have to be willing to throw away stuff sometimes too. Like "this is a cool idea and a cool direction but it wasn’t working". It’s progressing what the game is because you’re learning about what the game actually is and figuring things out so even though you’re throwing work away, it’s a learning experience that ultimately makes the game better. MATT: Yeah, it’s still work that goes towards completing the game, even if it doesn’t manifest as content. It becomes part of your knowledge that you use to make the rest of the content. Now, Celeste shows a great way to do very tight and responsive controls - but that’s just one way to do a platformer. Tweak those curves and you can get very different results, like the realistic animation of Playdead’s Inside, or the intense air-control of N+. Or Sonic games, which are all about building and maintaining momentum, so it’s suitable that Sonic has a ridiculously long acceleration curve - and, likewise, struggles to come to a complete stop. Still, I think Madeline’s a really good place to start when thinking about platformer character design. Matt and Noel’s work shows the importance of getting the curves right when building basic movement. Adding mechanics that introduce very different ways to navigate the space. Using feedback to emphasise movement. Being forgiving about pixel precision. Increasing the skill ceiling with advanced movement. And not being afraid to test, tweak, and toss away work throughout the lengthy process of getting this stuff right. Thanks so much for watching. There's a post on my Patreon now where I talk more about the run and jump graphs in this episode, and those who back the show at $5 or more can watch the full interview with Matt and Noel right now. MARK: Did you come up with the term Coyote Time, Matt? Was that your invention? MATT: No, that was a player, I think. Wasn’t it? NOEL: I don’t know, actually MATT: I think it was in the PICO-8 one, a player called it Coyote Time and we were like that’s a good name. NOEL: I’ve heard it used for other platformers too. MATT: Okay. I think it comes from players. I don’t think developers made that term up. Which is cool, I think developers should take it. NOEL: Yeah, it’s a good word. Sounds like we need to do some detective work. Please remember that the GMTK Game Jam begins this Friday, so keep an eye on itch.io and this YouTube channel for more info. And don’t forget to subscribe and hit the bell button if you want new game design content to keep appearing in your sub box. See ya later.
Info
Channel: Game Maker's Toolkit
Views: 1,506,869
Rating: 4.9702926 out of 5
Keywords: celeste, game design, madeline, platformer
Id: yorTG9at90g
Channel Id: undefined
Length: 17min 33sec (1053 seconds)
Published: Wed Jul 31 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.