Hm when I play in browser, the keyboard controls don't work at all - when I press space, the page just scrolls down. I keep clicking to get the game to take context but nope. Buttons can be clicked but keyboard buttons just don't work... is this only happening for me?
(I'm using Chrome on Windows, and I have AdblockPlus...hm maybe that's why)
(Update: Nope! Disabled Adblock and still can't use keyboard at all)
some thoughts of this game: the presets didn't fill right (e.g: celeste's down gravity is too strong) double jumps seems broken (you cannot do 2nd jump if you didn't do the 1st jump, sometimes 2nd jump just misses) if you turn on the lookahead, I think the camera's position should stay still when you don't move (instead of returning to center) You should add the offsets of the camera (because many games mainly go rightward)
And I have no idea how to implement this into a real game. I'd be appreciate if you share the source code (especially the character movement)
I seriously love how nice this is to use, an amazing idea iwth great execution. I hope to see more of this in the future, be it from you or other game designers
Somehow I've softlocked it! I was changing some controls as I fell into a spike pit, and Kit didn't die. I can't jump (I assume spikes aren't technically "ground"), so I can't get out, and there's no "reset the player character" button anywhere, so I'm stuck. Even turning on Double Jumps wouldn't get me out.
It was fun while it lasted.
Interestingly, the camera seems to think I'm grounded, but that the ground is on a nonexistent platform above me.
you highlighted the screen, the same way one can highlight text in a web page by clicking and dragging over it. I did the same thing I do that a lot, try clicking outside the game screen and it should fix that ^^ (I do that a lot tbh) You can also use the download the desktop version
idk if they can stop that from happening since its an issue with notation, bot coding, but I'd also love to see it fixxed
Pretty cool tool that I will definitely recommend to people asking me about making a platformer, but it's got a few issues.
1. The rate of deceleration when you let go of the control pad and when you press the opposite direction you're travelling are always the same. Both on the ground an in the air. This means any low acceleration setting will always feel like the player lacks control when trying to turn around; either actively trying to stop or coasting to a stop will feel wrong no matter the settings. This also means there is no way to have zero momentum decay in the air but retain the ability to turn around or stop mid-air, making Mario and Sonic like controls impossible to replicate.
2. Air Control and Air Brake are separate settings, but from a game feel perspective they are the same thing: how fast the player accelerates while in the air. This creates a weird swing in momentum when turning around mid-air if braking is slower than accelerating, which makes precision impossible. It's weird to have these separate when there is no distinction between no d-pad input and actively trying to turn around.
3. You can't make down gravity less than up gravity. I can't think of a game that does this, but we should have the option.
4. Rounded corners for collision makes the player slip off when standing on a ledge. A better solution is to slightly narrow the hitbox. Platformer player hitboxes are almost never as big as the graphic for the player.
5. This isn't really an issue one can fix, but I feel is worth mentioning. The game teaches how to tailor platformer physics to level design, when in practice it's always done the other way around. You develop satisfying physics, then design levels suited to those physics. It's out of the scope of this project, but a level editor would better replicate the real world experience of making a platformer.
6. The run & jump presets for Mario and Sonic feel way off. Probably because of issue 1. "Sonic" coming to a stop in the air is especially jarring, unless you were going for Sonic the Hedgehog 4.
Air Control and Air Brake being separate allows for things like having the air control low but the break high so you can stop in mid air but you can't just drift around.
Can you add a toggle to apply deceleration when changing directions? It feels very unintuitive that pushing left can make you slow down less than letting go of the controls entirely.
I feel like floaty jumps are overlooked a lot of the time. Super Mario World and N++ would be a lot more boring if Mario or the Ninja snapped right to max speed and didn't hang in the air. I think it's wrong to say that floaty jumps are imprecise and bad on the face of it. Sure, it may take more effort to land exactly where you want, but this allows for a lot of interesting decisions and level design. Even in this demo, having a floaty jump lets you skip lots of platforms which is fun and feels great to pull off, but its scary and risky when you go that fast. If you want to be safe, then you've really got to nudge the character along and that's fun too!
N++ is a really great counterexample to the usual "floaty = bad" way of thinking, for sure. Building characters with real momentum is often difficult (see how much of a mixed bag the Sonic games are for proof of this), but if you get it right, IMO it feels far better than Hollow-Knight-style immediate corner-turning.
I literally sent this to some of my former professors in my CS program who taught the game dev courses. I hope they see it! It'd slot nicely into the early courses.
i want to see you have an encoder/decoder for the settings, so you can send a quick string to your freinds which they can punch into their game(something like 0x7FFF1FA2...etc) so they can try your character immediately and quickly
I landed on spikes while in the toolbox mode and the character didn't die, but I couldn't jump either, making me trapped. I clicked on the flag icon which despawned the character but didn't respawn it seemingly, so I'm stuck now
Making ground accel and deaccel ridiculously high and making it so the character controls a bit tighter in mid air than on the ground is actually a lot of fun
Works even better with strong downwards gravity and variable jump height
Gives you this great feeling of forward momentum and having to react on the fly
When you are editing the settings, you are immune to spikes. When you exit the settings part, you can't jump, so you are stuck in the spikes and you can't do anything.
This is absolutely fantastic :) I'm a Lecturer and 100% intend to use this with my students when discussing the 3Cs since it perfectly illustrates so many of the concepts we'll be exploring. Thank you so much for making this - I learnt a great deal. Perhaps I should take inspiration from your excellent example and attempt to come up with something similar myself...!
Really cool way to teach game design, but the settings felt a bit limiting . You can't for example adjust turning speed midair or change your velocity when jumping so that running speed wont affect jump length so much.
It would be nice to have a quit button, other than that; I hope you make more of these for other design concepts like rpg stats, puzzle design, shooting, maybe 3d platforming.
The implementation of your mechanics are actually pretty important, as much as the settings. Nintendo's platformer's variable height works by partially decreasing the gravity as long as the jump button is held, giving it its moon-jump feel (and hence why the gravity feels heavier when you drop), while Meat Boy's gravity I believe is on a counter that you cut short by releasing, giving it that constant linear climb and sharp vertical control.
Floor deceleration is usually tweaked trough friction instead, with acceleration being reused to make you stop faster, to avoid that feeling of disconnection when you U-turns at low speed and your speed doesn't behave as you'd expect. That implementation means that deceleration is at least equal to acceleration (without using an initial impulse). Unless you are making some special ice physics for a curling stone !
What I'm missing is a way to describe why a lot of out-of-the-box-2D Simulated Physics platfomer games (Little Big Planet...) with continuous quadratic curves don't feel as good to play as the ones where the physics are discrete (arithmetic progression) or made up ; the jumps often just feels wrong. Like it goes "voof" instead of "boing". Are realistic forces the wrong way to handle acceleration in a way where you feel like you are in control ? Is it because the initial impulse for such a jump would not work in a realistic setting ? Or is there something in the continuous simulated implementation that makes it harder to tweak a specific behavior, like it's hard to make a rectangle wave with sinuses ?
Great addition. I understand why there weren't multiple implementations in this demo, but the specifics of how you handle non-full-height jumps in particular often inform the rest of your jump physics. Meat Boy, I remember reading somewhere, actually goes one further than what you described and will invert your y-velocity when you release the jump button to prevent the top of your arc from feeling floaty (as opposed to increasing downward acceleration).
As to why directly physics-engine based platformers don't feel quite right, agree that it's pretty hard to pin down. My guess is that objects and the player receive the same gravity in a physics engine to keep things consistent, but a natural-looking gravity for objects is too floaty for players and good player gravity makes the objects feel like they're on Jupiter. I'd need to experiment more though.
This is so cool! It's so easy to tweak a value, test, repeat. This is such an amazing tool for learning about the technical details of platformers. I personally learned a ton about acc/deceleration and jump arcs, which has always been a topic I was unsure about.
It was such a good idea to include those presets at the end. I spent a lot of the tutorial attempting to replicate the feel of various game characters, so having those presets was a ton of fun! It's very informative to see the numbers used to replicate these characters.
Thank you for making this. I came down with a pretty awful ear infection and was feeling pretty crummy. This was a great way to distract myself for a while.
← Return to video essay
Comments
Log in with itch.io to leave a comment.
That was fun! I made an interesting character and it worked, (barely) but it was fun.
On the Running page, I set the nobs to 30, 10 (or 14 for harder movement), 70, Turn Speed 99.
On the Jumping page, I set the nobs to 3.1, about 3.5 and 2 gravity, Air Acceleration 10, Air Control 20, Air Break 15, Jump Cutoff 4.
On the Camera page, I set the camera to about 8, X-axis to 1.5, Y-axis, 2, and 0.2, with Ignore jumps On.
On the Assists page, I set Coyote time to about 0.17, Jump Buffer to about 0.135, and the Terminal Velocity was 14, and the Rounded Corners was On.
On the Juice page, I set the Run to 3, Jump to 5.1, Land 40, Jump 1, Land 1.17, Trail less than 1, Angle -7, Speed 60, Landing sound effect On
With this set up, it is hard to get the last spring jump, but it is fun to try.
Another set up is the same as before except:
On the Running page, Speed 14, Turn Speed 1.
On the Jumping page, Air Acceleration 1, Air Control 8, Air Break 1, Jump Cutoff 5.
On the Assist page, Rounded Corners Off.
sounds very good. i would put the speed to 14. I think it feels better ^^
Definitely an improvement on my Platformer's Toolkit! Well done!
Hm when I play in browser, the keyboard controls don't work at all - when I press space, the page just scrolls down. I keep clicking to get the game to take context but nope. Buttons can be clicked but keyboard buttons just don't work... is this only happening for me?
(I'm using Chrome on Windows, and I have AdblockPlus...hm maybe that's why)
(Update: Nope! Disabled Adblock and still can't use keyboard at all)
some thoughts of this game:
the presets didn't fill right (e.g: celeste's down gravity is too strong)
double jumps seems broken (you cannot do 2nd jump if you didn't do the 1st jump, sometimes 2nd jump just misses)
if you turn on the lookahead, I think the camera's position should stay still when you don't move (instead of returning to center)
You should add the offsets of the camera (because many games mainly go rightward)
And I have no idea how to implement this into a real game. I'd be appreciate if you share the source code (especially the character movement)
I seriously love how nice this is to use, an amazing idea iwth great execution. I hope to see more of this in the future, be it from you or other game designers
Loved it!
Would it be possible to put the source code online? Would be awesome to be able to get a look at how it's built and tweak it.
Definitely Interesting!
Somehow I've softlocked it! I was changing some controls as I fell into a spike pit, and Kit didn't die. I can't jump (I assume spikes aren't technically "ground"), so I can't get out, and there's no "reset the player character" button anywhere, so I'm stuck. Even turning on Double Jumps wouldn't get me out.
It was fun while it lasted.
Interestingly, the camera seems to think I'm grounded, but that the ground is on a nonexistent platform above me.
there seems to be a bug where it's possible to accidentally overlay the screen yellow. i dont remember what i did to cause it unfortunately
you highlighted the screen, the same way one can highlight text in a web page by clicking and dragging over it. I did the same thing I do that a lot, try clicking outside the game screen and it should fix that ^^ (I do that a lot tbh) You can also use the download the desktop version
idk if they can stop that from happening since its an issue with notation, bot coding, but I'd also love to see it fixxed
Pretty cool tool that I will definitely recommend to people asking me about making a platformer, but it's got a few issues.
1. The rate of deceleration when you let go of the control pad and when you press the opposite direction you're travelling are always the same. Both on the ground an in the air. This means any low acceleration setting will always feel like the player lacks control when trying to turn around; either actively trying to stop or coasting to a stop will feel wrong no matter the settings. This also means there is no way to have zero momentum decay in the air but retain the ability to turn around or stop mid-air, making Mario and Sonic like controls impossible to replicate.
2. Air Control and Air Brake are separate settings, but from a game feel perspective they are the same thing: how fast the player accelerates while in the air. This creates a weird swing in momentum when turning around mid-air if braking is slower than accelerating, which makes precision impossible. It's weird to have these separate when there is no distinction between no d-pad input and actively trying to turn around.
3. You can't make down gravity less than up gravity. I can't think of a game that does this, but we should have the option.
4. Rounded corners for collision makes the player slip off when standing on a ledge. A better solution is to slightly narrow the hitbox. Platformer player hitboxes are almost never as big as the graphic for the player.
5. This isn't really an issue one can fix, but I feel is worth mentioning. The game teaches how to tailor platformer physics to level design, when in practice it's always done the other way around. You develop satisfying physics, then design levels suited to those physics. It's out of the scope of this project, but a level editor would better replicate the real world experience of making a platformer.
6. The run & jump presets for Mario and Sonic feel way off. Probably because of issue 1. "Sonic" coming to a stop in the air is especially jarring, unless you were going for Sonic the Hedgehog 4.
Air Control and Air Brake being separate allows for things like having the air control low but the break high so you can stop in mid air but you can't just drift around.
epic
Amazing game, really intuitive and the UI is beautiful.
My only issue is that i can't change the settings with the controller only with the mouse.
Can you add a toggle to apply deceleration when changing directions? It feels very unintuitive that pushing left can make you slow down less than letting go of the controls entirely.
In the end, for me, it was almost identical to the Celeste one. I think it's all about control and precision in a level like this.
Awesome!
I feel like floaty jumps are overlooked a lot of the time. Super Mario World and N++ would be a lot more boring if Mario or the Ninja snapped right to max speed and didn't hang in the air. I think it's wrong to say that floaty jumps are imprecise and bad on the face of it. Sure, it may take more effort to land exactly where you want, but this allows for a lot of interesting decisions and level design. Even in this demo, having a floaty jump lets you skip lots of platforms which is fun and feels great to pull off, but its scary and risky when you go that fast. If you want to be safe, then you've really got to nudge the character along and that's fun too!
N++ is a really great counterexample to the usual "floaty = bad" way of thinking, for sure. Building characters with real momentum is often difficult (see how much of a mixed bag the Sonic games are for proof of this), but if you get it right, IMO it feels far better than Hollow-Knight-style immediate corner-turning.
nicenicenice nicenicenice I will share it in development groups !
WOW! this is a fun and cool game!
sick
Loved it!
I literally sent this to some of my former professors in my CS program who taught the game dev courses. I hope they see it! It'd slot nicely into the early courses.
i want to see you have an encoder/decoder for the settings, so you can send a quick string to your freinds which they can punch into their game(something like 0x7FFF1FA2...etc) so they can try your character immediately and quickly
Fun to just mess around w really cool!! :D
I landed on spikes while in the toolbox mode and the character didn't die, but I couldn't jump either, making me trapped. I clicked on the flag icon which despawned the character but didn't respawn it seemingly, so I'm stuck now
You can softlock yourself if you fall onto the spikes with the menu open.
Making ground accel and deaccel ridiculously high and making it so the character controls a bit tighter in mid air than on the ground is actually a lot of fun
Works even better with strong downwards gravity and variable jump height
Gives you this great feeling of forward momentum and having to react on the fly
Makes me want to make that into an actual game...
When you are editing the settings, you are immune to spikes. When you exit the settings part, you can't jump, so you are stuck in the spikes and you can't do anything.
This is absolutely fantastic :) I'm a Lecturer and 100% intend to use this with my students when discussing the 3Cs since it perfectly illustrates so many of the concepts we'll be exploring. Thank you so much for making this - I learnt a great deal. Perhaps I should take inspiration from your excellent example and attempt to come up with something similar myself...!
Really cool way to teach game design, but the settings felt a bit limiting . You can't for example adjust turning speed midair or change your velocity when jumping so that running speed wont affect jump length so much.
This was absolutely fantastic Mark, thank you for making this.
I like it, but once it got to juice, for some reason well over half my jump inputs just got ignored, which made the rest completely unplayable
This happened to me too!
It would be nice to have a quit button, other than that; I hope you make more of these for other design concepts like rpg stats, puzzle design, shooting, maybe 3d platforming.
Super cool Mark, great idea to make a game about making games, would love to see more in the future!
The implementation of your mechanics are actually pretty important, as much as the settings. Nintendo's platformer's variable height works by partially decreasing the gravity as long as the jump button is held, giving it its moon-jump feel (and hence why the gravity feels heavier when you drop), while Meat Boy's gravity I believe is on a counter that you cut short by releasing, giving it that constant linear climb and sharp vertical control.
Floor deceleration is usually tweaked trough friction instead, with acceleration being reused to make you stop faster, to avoid that feeling of disconnection when you U-turns at low speed and your speed doesn't behave as you'd expect. That implementation means that deceleration is at least equal to acceleration (without using an initial impulse). Unless you are making some special ice physics for a curling stone !
What I'm missing is a way to describe why a lot of out-of-the-box-2D Simulated Physics platfomer games (Little Big Planet...) with continuous quadratic curves don't feel as good to play as the ones where the physics are discrete (arithmetic progression) or made up ; the jumps often just feels wrong. Like it goes "voof" instead of "boing". Are realistic forces the wrong way to handle acceleration in a way where you feel like you are in control ? Is it because the initial impulse for such a jump would not work in a realistic setting ? Or is there something in the continuous simulated implementation that makes it harder to tweak a specific behavior, like it's hard to make a rectangle wave with sinuses ?
Great addition. I understand why there weren't multiple implementations in this demo, but the specifics of how you handle non-full-height jumps in particular often inform the rest of your jump physics. Meat Boy, I remember reading somewhere, actually goes one further than what you described and will invert your y-velocity when you release the jump button to prevent the top of your arc from feeling floaty (as opposed to increasing downward acceleration).
As to why directly physics-engine based platformers don't feel quite right, agree that it's pretty hard to pin down. My guess is that objects and the player receive the same gravity in a physics engine to keep things consistent, but a natural-looking gravity for objects is too floaty for players and good player gravity makes the objects feel like they're on Jupiter. I'd need to experiment more though.
This is so cool! It's so easy to tweak a value, test, repeat. This is such an amazing tool for learning about the technical details of platformers. I personally learned a ton about acc/deceleration and jump arcs, which has always been a topic I was unsure about.
It was such a good idea to include those presets at the end. I spent a lot of the tutorial attempting to replicate the feel of various game characters, so having those presets was a ton of fun! It's very informative to see the numbers used to replicate these characters.
Thank you for making this. I came down with a pretty awful ear infection and was feeling pretty crummy. This was a great way to distract myself for a while.
Absolutely brilliant! The concept of an interactive essay is so unique and the execution is outstanding! Can't wait for more of your work.
Vertical scroll (present in "Juice" and settings tabs) is too slow. A single click of the mouse scroll wheel scrolls by a uselessly tiny amount.