Gameplay Design - Character Movement and Combat
This post assumes you have knowledge about the main mechanics and premise of our game.
Read our post about the game's premise if you feel like you're missing details!
Inspiration and Concept
My last game called "BitClimber" was never released and was basically just a 2-color clone of Jump King. I really like the charged jump mechanic from Jump King, where you hold the jump key to charge your jump, and then upon release the character flies away at a varying speed based on how long you charged. Additionally, in Jump King, you can't control your velocity at all once you're airborne and I've always loved the committal nature of this movement. I wanted to see if I could incorporate a charged-jump mechanic into a game that was more fast-paced and where you'd actually have to dodge attacks and perform time-sensitive tasks. Additionally, I really wanted the character to feel big, heavy and strong like you are controlling a huge grizzly bear.
The character needed to do a few basic things for the gameplay we had in mind:
- Run
- Jump (charge and release to get a burst of vertical momentum, preserves horizontal velocity)
- Chomp (charge and release to get a burst of horizontal momentum, replaces horizontal velocity)
I have always loved the long jump in Super Mario 64. I love how you instantly get a ton of horizontal momentum, and also how you can bonk into walls if you get carried away. I wanted chomping to be like the SM64 long jump, where it's fun to spam, but also risky and could potentially put you in an unfavorable position if not used expertly. I believe it ended up having a very similar feel because airborne movement is so committal in both games.
Some first tests of the chomping mechanic is shown here:
Movement Mechanics That Fit Our Character
Our player character Mama is a very large bear-like creature. As mentioned previously, I wanted the player to feel heavy and powerful.
To emphasize the weight of the character, all movement has a bit of wind-up. For running, you have to run for a while to get to maximum running speed. Once you're in the air, you can't control your movement at all. Jumping and chomping both have a charge-up time, which makes it feel like pushing the character into the air takes a lot of effort.
To emphasize the player's power the villagers die immediately upon being chomped, by contrast, the player can tank many attacks before dying. The player character can go from 0 speed to beyond maximum running speed in an instant by simply fully charging a leap.
Charged Jumps and Chomps
Since this is a fast-paced platformer it's a risk to have movement options that are delayed, and I didn't want things to feel sluggish. My goal was to strike a balance where your movement has to feel intentional, but everything is very predictable and you shouldn't ever feel like something you did more than a second ago is the reason you've died.
Towards this end, your vertical velocity is updated immediately upon releasing the respective chomp/jump keys, and charge fairly quickly. Also, gravity is quite high, so even if you jump in a way you immediately regret, your next opportunity to jump comes soon. However, having a high gravity meant that the chomp ended very quickly since you stay so close to the ground. As a work-around for this I made it so while the chomp hitbox is active, Mama's fallspeed is slowed by a factor of 4. Another solution to have a similar effect would have been to just adjust the horizontal velocity so you move much faster, but I found this be very difficult to control and the low gravity effect is actually very hard to notice in-game.
Here's a video of the finalized movement:
Combat Intricacies
As previously mentioned, the player can instantly kill villagers via her chomp attack. Once they've been chomped Mama carries them in her mouth, and can swallow the villager at-will to gain a burst of health, or to simply clear their 1 inventory slot. If Mama's mouth is full, she can't chomp villagers and will simply push them away. Mama has much more speed and power compared to the villagers, she can leap around at 5-10x the speed of the villagers, but a lot of her movement is fully committal and can be difficult to reverse, while the villagers can turn on a dime and have full control of their movement direction.
This asymetrical balance between the player and the NPCs proposes a potential gameplay issue however: if the player can take multiple hits, only needs one villager to advance to the next level and can kill villagers instantly, what's stopping them from just grabbing the first villager that provides a good amount of hunger and leaving?
To address this issue I did a few things. First, upon getting hit by an attack, the players velocity is reset to a new value depending on what kind of attack they got hit by. If you are hit by an axe-swinging villagers, you get launched backwards quite far and if you're hit by an arrow it stops you in place. Remember, you can't control your airborn movement, so getting hit multiple times can leave you out of control of your character for a long time, sometimes even leading to your death. This means that even though you're very powerful relative to a single villager, if you're positioned poorly or make a wrong move, the villagers can combine their powers to kill you quickly. Additionally and as discussed in more detail in this blog post, the only villager that allows you to break even on hunger in a level is the axeman. These are always placed further towards the back of the level so you have to do some exploring to get to them. Finally, there is an alternative objective called the Baron, who is always placed somewhere that is the most difficult to reach on the level, and then once you have them chomped, you have to make your way back without being able to kill other villagers.
Get FEED
FEED
Creepy-cute 2D action-platformer with unique movement mechanics!
Status | Released |
Authors | JacobJustice, arxzie |
Genre | Platformer, Action, Survival |
Tags | Atmospheric, challenging, Creepy, Cute, Pixel Art, Singleplayer, Survival Horror |
More posts
- The Art of FEEDJul 03, 2024
- Basic 2D Rain, Thunder and Lightning in GodotJul 02, 2024
- Resources I Used to Learn Godot!Jul 02, 2024
- Gameplay Design - The Hunger MechanicJul 02, 2024
- FEED - Concept to Final Product (Start here!)Jul 01, 2024
- Drawing Sprites Along a Line2D in GodotJun 30, 2024
Leave a comment
Log in with itch.io to leave a comment.