Why Does Celeste Feel So Good to Play?
Summary
TLDRこの動画スクリプトは、プラットフォーマーゲームの主要キャラクターの操作性についての解説です。ゲーム「Celeste」の主人公、マドレインの動きの分析を通じて、緊張感がありながらも正確で反応の速いコントロールの重要性が述べられています。また、ゲームのメカニズムやアニメーション、サウンドエフェクトがどのように玩家のフィードバックを強化し、ゲームの感触を向上させるかについても触れられています。
Takeaways
- 🎮 プラットフォーマーゲームの制作において、主人公の操作性は非常に重要で、誤った動作や無反応なコントロールはプレイ体験に毒性をもたらす。
- 🧗♀️ 「Celeste」の主人公、マドレインのコントロールは正確で反応が速く、プレイヤーが望む通りに動くことができる。
- 📈 キャラクターの走行は加速、最高速、減速の3つの段階に分けられ、それぞれの調整はキャラクターの操作感に深く関わる。
- 🚀 ジャンプの高さはキャラクターの体サイズと比較して計算され、ジャンプカーブのクライム、ハングタイム、落下からジャンプ時間を求めることができる。
- 🔄 ジャンプやダッシュのメカニズムは、垂直空間の管理やタイミングの選択によって、迅速なパズルのような体験を提供する。
- 🎨 アニメーション、アート、効果音は操作感を強化し、プレイヤーの入力とアクションへのフィードバックを提供する。
- 🛠️ ゲームの開発過程では、何度も調整とプレイテストが必要であり、レベルデザインの変更も含まれる。
- 📊 ゲームのメカニズムは、プレイヤーの意図に基づいて設計されており、精密なボタン入力のシミュレーションよりもプレイヤーのコントロール感を重視する。
- 🤹♂️ 上級プレイヤーにとっては、フレーム単位での精確な操作が重要であり、ゲームの高度な技術を駆使して進行することができる。
- 🔧 ゲームのコードには、プレイヤーに優しい特殊なケースが多数含まれており、ゲームをより容赦に楽しむことができる。
- 📌 ゲームの制作においては、レベルデザインや新しいメカニズムの追加が必要な場合があり、それに応じて動作コードを変更することがある。
- 👥 ゲーム開発では、良い操作感を維持しながら、プレイヤーのスキル上限を高める高度な動きを追加することが重要である。
Q & A
プレイヤーが操作する主人公の動きをどうやって感じさせたの?
-主人公の動きは、非常に短い加速度と減速のカーブ、そして低速度の最速値で調整されています。これにより、プレイヤーはキャラクターを正確にコントロールでき、ジャンプや移動を自然に感じることができます。
Celesteの開発者はどのようにしてゲームのコントロールをテストしましたか?
-開発者はゲームのコードを解析し、アニメーションをフレームバイフレームで確認、Celesteのスピードランナーと話をしながら、ゲームの基本的な動きに関する数字を調整しました。
Madelineの走りはどのように構成されていますか?
-Madelineの走りは、加速度、最高速、減速の3つの部分で構成されています。加速度と減速は非常に短く、6フレームで最速に達し、3フレームで停止します。
Madelineのジャンプはどのように調整されていますか?
-Madelineのジャンプは、ジャンプ高度とジャンプカーブ、そして滞空時間を考慮して調整されています。彼女は自分の身長の3倍程度までジャンプでき、ジャンプ中に滞空時間があり、正確に着地を調整できます。
Celesteのカメラデザインはどのようにプレイヤーの体験に影響を与えていますか?
-Celesteのカメラはズームアウトされ、静的な視点を通じて全体の部屋がframingされています。これにより、画面がぐらぐら動かず、プレイヤーが走行やジャンプを正確に行うことが容易になります。
Madelineの動きを完全にハードコードにすることのメリットは何ですか?
-ハードコードすることで、ゲームエンジンの組み込み重力や物理システムを使用することなく、プレイヤーの入力に対して正確に制御することができました。これは、プレイヤーのエクスペリエンスに重要な影響を与えています。
Madelineの動きを調整する際に、どのようなプロセスを経ていましたか?
-Madelineの動きの調整は、直感とプラットフォーマーゲームの制作経験に基づいたものです。また、多くの実験とプレイテストを行い、問題が見つかれば調整を繰り返しました。
Celesteにはどのような特別なコードハックがあり、どのようにプレイヤーの体験を向上させていますか?
-Celesteには、いくつかの特別なコードハックがあり、プレイヤーがゲームを少しでも誤った場合でも、ゲームが応答し続けるようになっています。例えば、Coyote Timeは、プレイヤーがプラットフォームを離れた後も数フレーム間ジャンプできるようにし、より寛容なゲーム体験を提供します。
Madelineが使用する追加の移動技術にはどのようなものがあり、どのように使われますか?
-Madelineは、壁を登ったり、ダッシュを使ったりすることができます。これらの技術は、垂直空間の管理や、さまざまな動きを実行するタイミングを決めるという、迅速なリソース管理パズルとして機能します。
Celesteのアート、アニメーション、サウンド効果はどのようにゲームの感触を向上させていますか?
-Celesteのアート、アニメーション、サウンド効果は、プレイヤーの入力とアクションへのフィードバックを強化し、ゲームの感触をより良くしています。例えば、ジャンプ時の体の変形や、着地時の埃の飛び出しやコントローラーの振動は、着地の衝撃を強調しています。
Celesteの開発者が他のプラットフォーマーゲーム制作者に与えるアドバイスは何ですか?
-開発者は、制作者はキャラクターの動きが素晴らしいものであることが重要であると強調しています。プレイヤーがコントローラーを持ち、目標なくキャラクターを動かすだけで、楽しい体験となるようにすることが大切です。
Celesteの開発者はどのようにしてゲームのメカニックをテストしましたか?
-開発者は、最初はMadelineが何をできるかを決め、その後レベルを作成してテストを行いました。テスト結果に基づいて、プレイヤーキャラクターやレベルを調整し、ゲーム全体が徐々に完成するように進めていきました。
Outlines
🎮 基本的な動きの重要性と「Celeste」の分析
この段落では、プラットフォーマーゲームの基本的な動きの重要性について述べられています。ゲームの物理学やコントロールが不精密な場合、プレイヤーにとっての「毒」となる可能性があると警告されています。その一方で、正確で反応の早いコントロールを持った「Celeste」の主人公、マドレインが紹介されています。このゲームの成功の鍵は、基本的な動きに対する注意深いアプローチにあるとされています。制作者は、ゲームのコードを解読し、アニメーションをフレーム単位で分析し、スピードランナーやゲームのエキスパートと話をするという旅を紡げました。
🖥️ 「Celeste」の開発者による細部へのこだわり
この段落では、「Celeste」の開発者であるマットとノエルが、ゲームの動きに関する数値をどのように決定するかについて語っています。彼らは、他のゲームエンジンで見られる組み込み重力や物理システムを使わず、Visual StudioとXNAフレームワークを使ってハードコードを書くことを選びました。これは、プレイヤーの入力に対して正確なコントロールを持ちたかったからです。また、彼らは、何が機能するかを直感的に理解し、多くのプラットフォーマーゲームを通じて得た経験を組み合わせました。
🚀 ゲームのメカニズムとプレイヤーのスキルへの影響
この段落では、「Celeste」の追加の動き、すなわち「クライム」や「ダッシュ」について説明されています。これらの動きは、垂直空間の管理や、どのタイミングでどの動きを実行するかをプレイヤーに問う「迅速なリソース管理パズル」を創ります。また、ゲームのアート、アニメーション、効果音が、ゲームの感触を売り出す要素となり、プレイヤーの入力や行動に対するフィードバックを提供します。さらに、開発者は、プレイヤーがゲームを楽しむための多くの配慮をゲームコードに組み込みました。
📚 ゲーム制作における挑戦と学び
最後の段落では、ゲーム制作の過程で直面する挑戦と、そこから得られる学びについて話されています。ゲームのレベルや新しいメカニズムを追加する際には、プレイヤーの動きを再評価し、必要に応じて変更する必要があると説明されています。開発者は、ゲームの最終形を徐々に明らかにし、何が機能するかを学びながら、コンテンツを作成し続けることの重要性を強調しています。
Mindmap
Keywords
💡platformer
💡physics
💡controls
💡responsiveness
💡animation
💡game mechanics
💡feedback
💡Coyote Time
💡level design
💡speedrunning
💡game development
Highlights
Platformer design requires precise and responsive controls to avoid issues like sloppy physics and floaty jumps.
Celeste's character, Madeline, is an excellent example of well-designed controls in a platformer, with fluid and accurate movement.
The character's run can be broken down into acceleration, top speed, and deceleration, which are crucial for the feel of the character.
Madeline's short acceleration and deceleration times contribute to her precise and human-like movement in Celeste.
Celeste's jump mechanics are analyzed by comparing jump height to character size, jump curve, and total jump time.
Madeline's jump combines a short jump height with enough hang time for precise landing, avoiding a floaty or heavy feel.
The game's camera design, being zoomed out and static, helps with precision and control in Celeste.
Madeline's movement is hard-coded for precise control over player input, instead of using built-in physics systems.
The developers of Celeste arrived at the character's movement mechanics through intuition, experimentation, and playtesting.
Celeste introduces additional moves like climbing and dashing, which add complexity and resource management to the gameplay.
The climb and dash mechanics in Celeste are designed to feel different, with the dash being more chaotic and the climb more methodical.
Art, animation, and sound effects in Celeste contribute significantly to the satisfaction and feedback of the character's movement.
The developers included numerous subtle hacks and special cases in the code to make the game less punishing and more responsive.
Advanced techniques used by top Celeste players, such as dash-cancel and hyperdash, demonstrate the depth and fluidity of the game's movement system.
The creation of Celeste involved a process of testing, tweaking, and sometimes discarding work to ensure the best player experience.
The importance of making basic movement satisfying, even without goals or levels, was emphasized by the developers of Celeste.
Celeste's approach to platformer character design includes getting the curves right, introducing diverse navigation mechanics, emphasizing movement feedback, and being forgiving about precision.
Transcripts
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.
Ver Más Videos Relacionados
5.0 / 5 (0 votes)