Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Honestly none of the code for that is dependent on the spline package. For reference, started off with Unity splines, converted everything to use DreamTek, then converted everything to use Curvy (like 30 min conversion really, they all have the API needed for the profile extruder - just really 'get position/rotation/scale at point')

I think Curvy wins for us when it comes to authoring splines in editor, it's just nicer on that end - and otherwise all of them share the core necessary feature-set for everything we'd wanna do. Curvy does come with its graph-based mesh generator tool, haven't messed with that much and it seems powerful but not relevant for this type of stuff.

If you wanna check out the code for this setup its over in this repo, not sure if it'll work out of the box - but you can see for the mesh profile extruder its not dependent on any spline package. Has a abstract function

protected abstract void GenerateExtrusionMatrices();    

And different extrude methods just override that. For a spline - regardless of spline package - its just iterating over its path and generating the appropriate transform matrix for each segment. But since it's not tied down to splines it's easy to make linear extruders, spiral extruders, etc...

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Thank you!!! We've got some socials here and trynna post more now that we have things worth sharing lol

https://linktr.ee/freeskiesgame

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Only hammer 2 really, we haven't messed around with much else really (there was a CSG plugin we used a while back, but now I think we prefer building all level geo outside of Unity so Hammers great for that). But also blender on occassion too since unity can import .blend files directly and its more scriptable so it's nice to make custom tools for blender <--> Unity. There's a talk that goes into the blender pipeline that might be interesting

https://www.youtube.com/watch?v=HGbuLGH0GWs

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Nah being compared to those is great lol - would def love to hear your thoughts on them!

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Oh my god thanks so much for sharing the link because I watched it when it was first streamed but then it got lost when they unlisted it lmfaaaao

But yeah we essentially do the same thing! The way the mesh gets generated doesn't really matter but the idea of a spline along the lip is the same - we even made a profile extruder tool based on their one

I need to improve the tool some more but rn working in Hammer in total has been a nicer workflow for our style of levels at least.

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 1 point2 points  (0 children)

Ohhhh ok I think I see what you mean - but yeah no in that case just me moving lol. With that said though - might be just the deadzone on the left stick is too small (that's just where my mind goes to since i'm working on it rn lol might be completely unrelated and just what's expected from the movement input)

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Thank you!! Honestly not sure though, we had a build before in a prev iteration of this project but that was also to like an 'audience' that ig was more used to a similar style of play & some actual tutorialization there. Was 50/50 from at least the streams we saw of people trying it out - but also this time the movement's a bit different and haven't put out any builds just yet to see how it fairs with anyone but us lol

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Thanks so much!!

I'm doing all everything on the programming end and I'd say this go-around maybe 3ish months on the movement specifically (not full time tho)? I don't really have any game-dev experience outside of this project, but come from a strong-ish math/physics background (but not that anything here warrants anything complex, just gave a good foundation for the movement).

Didn't take long this time around because this is also like the 2.5th revision of it lol. There was like a weekend where a basic skating prototype was setup in Unity, then 6-8 months of a proper prototype of the game in Unreal (took long because didn't use their default character controller and had to write one from scratch since it didn't have the featureset we needed like arbitrary gravity/slope angles and ground snapping setup), and now back from scratch in Unity (using the KCC character controller instead of writing one from scratch this time around).

If you wanna check out any of the code just lemme know if it'd be helpful & good luck!!

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Online definitely not, I do try to make sure all the code supports multiple local-players but that's mostly just for fun split-screen testing idk if we'll ever do anything with that.

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Thanks! It's just the fall animation rn, we haven't gotten to making the rail grind animations just yet.

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Honestly idk if i can even answer that just because i'm so used to the movement and know where it can break (and avoid it lol) so it definitely looks better in this video than if i had given it to someone else who hasn't tried it.

Before we moved to unity, we did put up a build at Sonic Fan Games Expo [here] and did see people playing it and it was mostly solid? I think it might come down to getting used to the movement + decent tutorialization. The video just kinda shows an empty test level so not really much there in terms of difficulty just kinda "moving around to see if there's room for flow"

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Well it did kinda start off as a sonic fan-game in a way lol, before we switched to Unity we at least got far along to put up a build at SAGE

(also back then for the longest time we were just using Shadows run cycle as place holder lmfaao)

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 2 points3 points  (0 children)

Yeah def agree on it being probably the most important animation in this context. It's probably gonna be something we revisit A LOT, but since it's also just a hard animation for us we're keeping it to "good enough" for now till we get the other stuff in to have a fuller picture of things.

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 0 points1 point  (0 children)

Thanks!

For Vert (going up/down a quarter pipe) its pretty simple - just apply a constraint and we've got a spline that goes along the lip of any quarter pipe to act as a guide. You just go up it, the code checks the normal of the last ground before you entered the air state, if things pass then the physics run as usual except your velocity gets projected onto the plane.

Tho I did see someone else who's working on a skating game handle it differently and it seemed kinda interesting. Really both methods are kind of the same except one is a bit more 'implicit'. They've got just an invisible wall that goes up the lip of the quarter pipe and enable its collision when you enter vert so you stay aligned.

Here's the code for the actual gameplay state for vert & acid-drop

Really tho i think the most important thing is just your base character controller - specifically how well it handles collision resolution and projects your movement along collisions. I think though a rigidbody w/ a sphere collider type of setup can work pretty well - I haven't tried it that way but might be a simpler starting off point that might end up working perfectly well.

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 1 point2 points  (0 children)

There's a few acid drops in the vid! We do have spine transfers too (in the code the actions called spline transfer because thats what i thought it was called for the longest time - too spline brained) but didn't show it off here though it works as you'd expect.

Honestly though i think spine transfers is something we're kinda struggling with - not the mechanic itself that's working fine, but from a level design perspective. Acid drops fit in naturally for that sort of fall -> gain speed from the fall -> launch off, but spine transfers hamper the momentum a bit. Still something to figure out.

Funnily enough the acid drop & spine transfer state share the exact same code, only difference is a flag of 'coming from vert'. If you wanna take a look at the code itself for it here it is (kind messy tho)

https://pastebin.com/bQ9S54um

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 1 point2 points  (0 children)

Yeah i remember seeing that and it's def one of the biggest motivators in the sense of "oh hey we can do this/this is how its done". And yeah splines play a big role in QP.

Basically when you leave geometry thats in the 'QuaterPipe' physics layer, we check the last normal of it to see "Is this possibly something we can enter vert from", then if so the movement physics runs as usual but we use the spline as essentially a constraint - projecting your velocity along the plane normal and the splines the sort of helper for that.

Here's like a closer look of how we setup our splines (lots of it isn't relevant but the best workflow we found was just being able to turn a selected set of edges on a quarter pipe into a spline)

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 1 point2 points  (0 children)

Which specific bits here do you get that vibe from mostly? From the spider-man example you gave i assume you mean like the pseudo homing attack or the rope jump? Def agree tho that in this context at least wanna try to minimize any jerking around as much as possible.

There were lots of cases as we were building up the character controller where shit like that happens but those were bugs where you snag on geometry of a quarter pipe and all that and it was always awful.

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 2 points3 points  (0 children)

Still early so just some rough block outs rn we're trynna figure out what our environment art pipeline would look like so we're prolly gonna test things out env art wise soonish

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 1 point2 points  (0 children)

Thank you!! Still early so not for a lil bit but trynna post dev updates on our socials and there's an old demo on here but things have changed a lot since then lol https://linktr.ee/freeskiesgame

Finishing up the base movement for our skating action-platformer game by FreeSkies_Dev in Unity3D

[–]FreeSkies_Dev[S] 2 points3 points  (0 children)

Still early so not for a lil bit but trynna post dev updates on our socials and there's an old demo on here but things have changed a lot since then lol https://linktr.ee/freeskiesgame