RKSanders

[Release] Shoehorned

Recommended Posts

Hello wizards. I'm attempting a 'Getting over it' style physics climber. You play a creature who can only move by shimmying up and down along a pole that is permanently attached to you. The character is controlled by manipulating the center of gravity by leaning, swapping sides, and shifting the pole. 

 

I've got the character controller working. I'm pretty happy with it, although, it can become disorienting when the creature is upside down.

 

I attached a playable version (Windows only) if you wan to see how it feels.

 

Play release version:

https://rks.itch.io/shoehorned

 

 

 

Keyboard or Xbox controller controls are:

 

Move up/down pole : W or S  - controller: Left Joystick up/down

Lean (has no visuals but moves center of gravity): A or D  - controller: Left Joystick left/right

Switch sides (Has to have room on other side, so doesn't work on ground or when against a wall) : Space bar   - controller: A

Move Pole: Shift + W or S  - controller: Left Trigger + Left Stick

Restart (If you  get stuck): - controller: Y

 

proto_01.gif

proto_02.gif

proto_03.gif

proto_04.gif

proto_05.gif

 

 

Share this post


Link to post
Share on other sites

This is really cool. The idea is super neat and it's actually pretty fun, even when you keep failing. :tup:

Share this post


Link to post
Share on other sites

Yeah, controls are very fun/intetersting and very hard, which seems exactly what you want in a game like this.

I hope there will be some gentler terrain at first for a moment before getting into full Foddy territory ^_^

Share this post


Link to post
Share on other sites

Glad you like it! Thanks for the input. I've added a new version to the original post.

 

When I gave it to a friend and watched him screen share it, I realized I had a problem with some timescale code. The character was moving way too fast for him and resulting is jumping way too high. I've fixed that problem in this new version. So it will probably play much differently for you now.

 

I've also made more of a proper level now that eases you into it. . . hopefully. It still goes full Foddy pretty quick :P

 

I think I'll work on level and character art next. The level could really use some landmarks so when you fall you can figure out where you're at more easily. And I think adding some animation to the character will improve the game feel a lot.

 

Share this post


Link to post
Share on other sites

This looks super fun to work on. I imagine you will discover all sorts of crazy techniques as you build out the level with those movement mechanics. 

Share this post


Link to post
Share on other sites

Updated to v0.6 in original post.

 

 

Character animations!

new_animations_01.gif.2a59c6849a0facecddc54ffeec4580a6.gif

 

For awhile, I wasn't sure if I wanted to make the character humanoid or not. But the allure of being able to make a 3D-Mario style pole climbing animation was too strong. I knew I would need to use root motion to make the climbing look right. Which was not how the character controller was currently set up. Adding root motion would make the character move in chunks rather than sliding smoothly and I wasn't sure how much that would mess with the game feel. I liked how you could inch slowly towards the ledge of a gap to maximize your jump distance and I didn't want to loose that.

 

root_motion_compare.gif.e2c291157e042c2b893545ee4f118a0e.gif

 

I tried to move quickly through the modeling, rigging, and animation process in case I still wanted to ditch the humanoid. I only focused on body proportions for the character's mesh. I'm still not sure what kind of art style to go with. I've been interested in trying something like Toad Treasure Tracker. It would fit will with the Mario climb and they have some cool looking world space shaders that would work well with how I've just clashed boxes together to create the level.

rig.PNG.01fca1f6c553c65db1f2c92c11252d4b.PNG

 

 

There are a few different visual states the controller can be in: Idle, Climbing up, and Jumping. For switching sides I just rotate the character controller 180 degrees and seems fine to skip having any animations for that.

amc.PNG.0a1d4efa4eb2d765626aeb21d4c48a22.PNGamc_leanblend.PNG.409e0fa7b33ff73bae579177e227352e.PNG

 

The idle and leaning animations are basically just 1 frame poses. I used a blend tree, driven by the player lean input (movement.x aka left/right on joystick), to smooth out the transitions.

lean_blend_01.gif.3d01c88ed25f44cac597ec58170209a9.gif

 

After the animations were done and hooked up in the animator controller. It took a few code adjustments to work with the root motion. Mostly just disabling the parts that translated the character upwards, but I also had to rework how I restricted the character's max translation so it doesn't move past the top or bottom of the pole. I went with a kind of gross, but quick, fix to just clamp the character's position within the pole's height range at the end of every frame.

 

With that root motion was working and. . . it was terrible LoL. Like I feared it completely lost the movement fidelity. There were also some other bugs introduced. Like when you jump it figures out the force to apply by looking at the characters delta speed along the pole. So if you build up some momentum on the pole you can jump further. But I didn't cap the force by some max value and now, being animation driven, the delta is much much higher.

highjump.gif.670c85568f114ed0d46c80568f4e4d0e.gif

 

While fixing this problem it hit me the that simplest way to fix the movement problem was to just make some slower animations and blend between them. It wouldn't work with keyboard inputs but like Team Meat says "A gamepad isn't required, but neither is bathing." So screw it. I was quickly able to duplicate the animations in Maya and adjust the root movement. I also made a few tweaks like not making the arms and legs extend so much. And it worked pretty well. You can still inch forward in the game but also rapidly ascend when you're trying to get up a wall.

 

climb_blend.gif.8def5597591bf2bb39e5f33e535eef22.gifamc_climbblend.PNG.51a1cd395dacc4a861affef51ace992b.PNG

 

I also added some cheats to get around the level. Right now they're manually placed points you can teleport to. If you're interested you can used them by pressing: '`' (tilde key) > cheats > and type in :

Spoiler

imababygamer

 

Note: after you use select one you can just use the reset button to warp you back there again.

 

Share this post


Link to post
Share on other sites
On 7/20/2019 at 6:33 PM, theschap said:

This looks super fun to work on. I imagine you will discover all sorts of crazy techniques as you build out the level with those movement mechanics. 

 

Yea, working on the level is really relaxing. It's just clashing stuff together and seeing if I can get up it and if it adds something new. Here's probably the wildest thing I've found so far. The friction and center of mass is just right to let this happen:

maneuver_01.gif.381442ff118e9d9433ed253a8f0d2bd0.gif

Share this post


Link to post
Share on other sites

Wow, that little fella has really come alive! Love reading about getting the animation and physics to meld together. You've done a ton; very impressive!

Share this post


Link to post
Share on other sites

This is such a great devlog. The difference between the initial gifs and once you got the animation going is night and day, it looks so much more alive now! I anticipate cursing the challenging but getting back up immediately after, good stuff.

Share this post


Link to post
Share on other sites

Oh man that little marshmallow scrambler is my favorite!

 

Looks cool. And I think there's a certain breed of streamer that loves Getting Over It and similar games so you should make it as hard as possible!

Share this post


Link to post
Share on other sites

Thanks everyone! 

 

20 hours ago, phill said:

The difference between the initial gifs and once you got the animation going is night and day

Yea it was really surprising how much it improved the game feel. Especially the leaning animations because there wasn't any feedback for the shifting of mass.

 

8 hours ago, z_bill said:

I think there's a certain breed of streamer that loves Getting Over It and similar games so you should make it as hard as possible!

 

Yea I agree,  this type of game can get a lot of attention from streamers and that's still a really great way to drive sales. I've found the toughest thing so far has been to make sure falling doesn't feel 'cheap'. Mostly trying to make sure the physics can't freak out and shoot you off when it doesn't feel warranted.

 

I've been working on this a few hours each night but I've been too lazy to post updates. I've made quite a few changes to the physics stuff. I added raycasting to the ends of the pole that prevent you from moving into colliders which stops clipping issues like this:

collisionClipping.gif.3fd5bad311986380b14c831f51f8b8d6.gif

 

I also set up physics materials on everything. In general I made the character/ pole more bouncy and slick. Previously when you fell the character would pretty much come to a complete stop when you touched the ground. Now it's much more dependent on positioning your self correctly to stop your momentum after a fall. 

bouncy_physics.gif.9936b520ed8b012f75ec4ef2752f2aab.gif

 

There are also some new movement mechanics. You can do a little butt hop when the body is on the ground and you move to the bottom end of the pole. There is also a double jump when you jump off the end of the pole which gives you extra jump height.

butt_hop_01.gif.f221de8a99f3dd39bc8084fd6115e3f0.gifdoubleJump.gif.3265b3582b00b55d772412ff50359c10.gif

 

 

Share this post


Link to post
Share on other sites

I've also been working on some environment art. I started replacing the basic blocks that make up the level with some more organic rocky shaped meshes. It added a surprising amount of variety to the climbing mechanics. It makes your footholds harder to find and you have to react more to the bounce and balance.

 

rock_models.PNG.7cdc53f45d61e092e6ab6e035cab7a26.PNGenvironment_03.png.d76be5c84e66b3664debcd958c916bf3.png

Also a cave background mesh.

cave_model.PNG.c83df08ff6da5e9025d51ed23b56888e.PNG

 

environment.png.0ac69aa30fc8132d694bda2aff41f841.pngenvironment_02.png.8a09769bd5e39f20dc3635d00291239b.png

 

I used a tri-planar shader for everything so I can skip making UVs and keep clashing geo together but not get z-fighting.

 

rock_shader.gif.ef6ae61a101d0851dcce00e14ff813b5.gif

 

For the past couple years I've been using Photoshop's cutout filter to make textures. It's a real quick way to get simplified, angler, shapes. I run it a couple of times on frame 2 and 5. It also works really well on photos of different materials like concrete. That's what the texture is on frame 7.

 

rock_texture_wip.gif.8b6668494953722d8da655f2449cb9b6.gifcutout_filter.gif.7f4c2fd9df722c5a860146b7f471f526.gif

 

I added some small details like dirt particles that spawn when you touch the bricks and some lanterns that can move.

rock_particles.gif.386b70c752a7d953869f6cf1922b7096.giflight_physics.gif.7dc1006da52752e9cc2195ae7c3592b4.gif

 

Share this post


Link to post
Share on other sites

I'm just getting a black screen when I try running this!

Share this post


Link to post
Share on other sites

The new visuals are lookin very very good! Thanks also for taking the time to do these in-depth posts.


I just tried it again now with a controller. The analog movement feels nice but having both lean and up/down on the same stick makes it hard to lean without accidentally moving up/down (and vice versa). Maybe separate sticks for those (and then the side switch on a shoulder button so don't have to move your right thumb away from stick)?

Share this post


Link to post
Share on other sites
3 hours ago, Henke said:

I'm just getting a black screen when I try running this!

Uh oh. . . can you send me your log file? "AppData\LocalLow\DefaultCompany\Shoehorned\output_log.txt"

Share this post


Link to post
Share on other sites
3 hours ago, atte said:

The new visuals are lookin very very good! Thanks also for taking the time to do these in-depth posts.


I just tried it again now with a controller. The analog movement feels nice but having both lean and up/down on the same stick makes it hard to lean without accidentally moving up/down (and vice versa). Maybe separate sticks for those (and then the side switch on a shoulder button so don't have to move your right thumb away from stick)?

Thanks, it was fun to jam with everyone!

 

I think you're right about changing leaning to the right stick. It would also provide a full 360 degree moving of the center of mass, which would be nice (right now it's just directly +/- X axis from your character). I'll definitely put that in some time soon!

Share this post


Link to post
Share on other sites

Ok, wow, this is really something.

 

It certainly requires a lot of patience to master the controls and make any progress, but once you get a hang of it, climbing the tricking sections feels very tense and rewarding.

 

Also, that sequence with the treasure, holy shit what a plot twist. :D

Share this post


Link to post
Share on other sites

Glad you like it!

 

On 8/2/2019 at 11:59 AM, Henke said:

It certainly requires a lot of patience to master the controls and make any progress

Yea, there's definitely some techniques that make climbing easier.

 

On 8/2/2019 at 11:59 AM, Henke said:

Also, that sequence with the treasure, holy shit what a plot twist

Haha, I think you were the first to find it. I'm glad Nick got to it on the stream so other people could see it.

 

 

On 7/29/2019 at 6:46 AM, atte said:

The analog movement feels nice but having both lean and up/down on the same stick makes it hard to lean without accidentally moving up/down (and vice versa). Maybe separate sticks for those

I added an option to switch leaning to the right stick. You can enable in the tilde menu > Options > Control Layout B. I like that it's an option but I don't think I'll use with it. It feels a bit like patting your head while rubbing your stomach to me, but it's probably because I've but a lot of hours playing it the other way.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now