[img]{STEAM_CLAN_IMAGE}/45011250/6fcefe7ae032da7bb497c066314f87240198783a.png[/img]
[b]TLDR; We added tricks to SNØ. I thought it would be hard, but it was actually pretty easy.[/b]
For a long time - all the time, really - SNØ was missing one important feature.
The ability to do [b]RAD TRICKS!!![/b]
It's one of those things we knew we [i]should [/i] do - deep inside - but didn't [i]want [/i]to do. One of the core pillars of SNØ is simplicity - elegance - and trick systems the way I know them just seemed like a big can of worms I didn't want to open.
But tricks are an important part of freeriding so it would be really nice if we found a way. So one day we finally decided to open the worm can.
[b]Criteria for a SNØ trick system: [/b]
[list]
[*] Be consistent with the minimalistic nature of SNØ.
[*] Enhance the gameplay by providing interesting choices for the player
[*] Should be possible to implement fast
[*] Must work with our skier's "høkkert" home made, procedural animation rig.
[*] Look cool!!!
[/list]
[b]The solution:[/b]
We came up with a one button trick system. While in air, hold the trick button to enter trick state. Release it to exit trick state. Exiting takes a little time. If you land while in trick state you die. If you deploy the speed glider while in trick state, you lose the points you have gained from the trick.
Trick points accumulate a bit differently from the other points in the game. All the other points are collected instantly. Trick points accumulate in its own little point container. You collect trick points as long as you are in trick mode. Exit trick mode, and enter it again to chain together different tricks that accumulate points even faster. The points accumulated in the trick container are collected for your combo once you land safely on the ground or on an obstacle.
That takes care of risks, rewards and cool gameplay synergies. But how about animation and feedback?
Actually, what I said about our complicated animation rig now proved super valuable. All I had to do was implement a new function in the script that we use for moving the skier's limbs between target points to accept a target override. Then I define some trick positions for each limb, put them lists and upon doing a trick - draw a random position for each limb and set them as overrides.
Et voilá: [b]Procedural tricks! [/b]
[img]{STEAM_CLAN_IMAGE}/45011250/8477f7424fc1485777513e015b9d641201cc5243.gif[/img]
I had to go in and moderate the randomness to ensure the system produced some iconic poses - not JUST a randomized mess (we don't like randomized messes). You can still expect to see some... unconventional moves though. The the trick system works perfectly for SNØ we feel. Simple, fun and gameplay enhancing.
I can't help myself - coding is such an unthankful business at times so I just have to brag a little. The system fit so well inbetween all the other parts of SNØ that it in the end it took only 1(!) day (full day, that is) to implement. Thank you past Alex for making robust systems that allowed present Alex to so easily slot in new functionality. [strike]Humble[/strike] regular brag over.
Finally - as a cherry on top - the trick system provided a natural place to slide in one of the top most requested features for SNØ. Joakim - our office neighbor (he knows how to ride a skateboard) always wanted a way to do spins around the players own axis (the up axis). So, while in trick mode, the player will do a spin instead of the usual roll if players give sideways input. You can now helicopter to your hearts content.
[img]{STEAM_CLAN_IMAGE}/45011250/6ce0d0782f47091c461a9bb8cbc8475fa06af705.gif[/img]
Thank you for reading.
Best
Alex
SG