A part of me wants to address the nature of hiatuses and general spottiness in update schedules – the root causes, how can they be avoided or picked up from afterwards, even down to the fine balance between finding something worthwhile / enjoyable and how that changes over time.
But what’s more procrastinatory than writing at length about the nature of nothing!?
Nothing, unless you’re literally the author of this book, which I haven’t gotten around to reading despite owning it for years. It’s an endless cycle.
So instead I’ll talk about the key objectives and concerns with the movement mechanics that as shown in the video are just about fully implemented. Let’s start at the highest level and work on down~
Objective: Movement that reinforces the genre
Concern: It’s new and scary
Is this concern true? I haven’t seen it done anywhere else. When I say “it” I mean – the game involves the traversal of platforms at various heights and distances and angles, but unlike any other platformer you care to name there’s no all-purpose jump button or rigid grid system to guide your movement (or some sort of jet-pack / grapple hook / spring shoe get-out), just a general sense of up/down/across. You could guide the movement with an eye-tracker that presses up + left when looking in the top-left corner or the screen.
Am I reinventing the wheel? Am I trying to create a whole new locomotive device and is it closer to a hoverboard or a full-body high-tension jumpsuit that turns your body into a giant slinky?
![slink](https://burningthrough.wordpress.com/wp-content/uploads/2016/10/slink.jpg?w=788)
Obligatory full-body horse slinky
I think it’s fair to say that not everything has to be a twitch platformer, and the alternative doesn’t need to lead you by the hand every step. But I’ve seen a lot of puzzle-platformers that require an unreasonable degree of accurate player input such that the puzzles get pushed to the background (worst case, pixel-perfect jumps requiring you to re-do already solved puzzles).
At the very least it’s a unique selling point, though that should ideally be the icing on a cake of intuition, depth and satisfaction.
- Intuition is sort of the raison d’être, so I’m happy with that once old habits are displaced.
- Depth is offered by the range of available movements: it’s freedom in the sense of being able to do whatever occurs to you, though being restricted by the layout of the environment is necessary to provide objectives and challenge, so again I’m pleased with the shape it’s taken.
- As for satisfaction – well so far I’ve only created situations that involve freely scampering to and fro without much reason, so this is one to keep in the forefront when puzzle design comes into vogue. But what I’ve played so far is very satisfying indeed, though that could just be the effort required to get here talking.
Objective: Make the tightly contextual movement feel fluid
Concern: There’s only so much you can do with a box
The player character is a box – 3 units high by 0.8 units wide. But the animations go all over the place. When you roll down a ledge the animation lags behind and ascends while the box itself descends.
It’s wild but it functions fairly well. I made the mistake at first of trying to manipulate the box alongside the animation, but when you determine a foolproof way to rotate a 2D object around an erratically moving point offset from the pivot in Unity do let me know – the horrors I’ve seen applied to my poor character’s skeleton…
The way the movement works allows for a lot of low-effort seamless transitions between states. You can do all sorts of neat things with 3D models, having their head move independently of their torso and arms from their legs by blending animations, but it doesn’t translate well to 2D unless it’s one of those swivelly stick-shooters, which we can all agree are the most natural looking things around. But with the contextual movement I can do things such as pause a brief moment before taking off, since it’s already determined that the character *will* successfully catch a moving ledge, so I can put some decent squash into the animation when preparing the jump. And when they grab they can transition straight into a swing since the next movement has already been determined.
But it’s not all good – when I’ve got things looking smooth it’ll stand out all the more when an epic leap resolves as a tiny 3 inch hop.
The worst part is that I could fix the discrepancy by adding a load more animations for jumps of varying lengths, but that’s too horribly tedious to consider, and where does it end? So I’m doing my best to make the movement as all-purpose as it can be while adjusting for every situation.
And some things just defy reason and there’s not much to be done: being able to swing from underneath a ledge to the other side of the same ledge is a very useful skill that is difficult to make look realistic because it’s impossible.
![swwing](https://burningthrough.wordpress.com/wp-content/uploads/2016/10/swwing.png?w=788)
Nope!
For the record, I do have one hold-out from the box-rotatey days when clinging to the side of a corner, in order to place the feet on the wall at any angle. It works… just about. The skeleton somehow retains most of its integrity, but the offshoot is that if anything goes wrong it goes very very wrong.
Objective: Give as much freedom as possible
Concern: There are about a billion edge cases
I never get tired of referring to everything as an edge case when it concerns climbing up and down all these edges. “You want to scale a building then jump to the underside of the adjoining roof? That’s an edge case!”
I can’t quite bring myself to go hunting for examples, but that might be a fun activity later on (and a necessary one even further down the line). So for now just know – if you don’t expect a forward jump to send you spinning through the floor towards an almost entirely obscured corner, prepare to be surprised!…
I have a new third-favourite phrase.
Objective: Make these darn slopes work
Concern: Slopes… how do slopes work?
Jumping from slopes is the very last thing I coded as far as movement goes. Slopes that you slide down were surprisingly tricky themselves – I decided not to conserve momentum off the end of the slope so that the player could choose whether to drop or jump away, which also allows for epic last moment catches on the end of said slope. (The NPCs just fly off the end because it was more fun to watch).
![socool](https://burningthrough.wordpress.com/wp-content/uploads/2016/10/socool.png?w=788)
If Die Hard was a video game
From the beginning I’d only allowed jumping from the end of a platform, because why would you ever need to jump across in any other situation? Then I encountered this arrangement:
It seemed daft to require the player to walk underneath an edge when they know that the character is capable of jumping to it from where they are. What if there’s a hazard down there (as there clearly is!)? Okay, fine, so what should the mechanics be?
Should I be able to jump up the slope?
Umm, no? Not to be overly restrictive but that seems like a pointless manoeuvre that I’m not sure how I’d handle. For that matter surely you don’t need to jump on a flat surface, just walk why don’t you!
How close to the end should I be before it tries to jump from the end like normal?
The normal distance? Except, the difference between where you press the button and where you end up when the jump is calculated can be quite dramatic, so I’ve no clue what will feel best in practice.
What if I’m trying to jump on a slope that has a no-drop edge at the end?
Oh dear… make it a no-jump zone… unless you’re jumping to something in particular in which case… but how to determine the edge type… uhhh…