A gryphon standing with a paw on the table

Devblog Update #08: Controls and Movement!

It’s Devblog for Jasper Vice time again! This sprint there’s been a lot of coding work, and more non-visual stuff, so there won’t be quite as many pictures to show for it, unfortunately. Still, there’s exciting things to talk about! Mostly controls and movement, but some UI stuff as well.

User Feedback reports

Something we’ve had hooked up for a bit is User Feedback reporting. That’s the UI screen that was so horrible last devblog… It has since been cleaned up and is looking tons better, and in-line with the rest of the UI across the project. (See below).

The purpose of the system is to “reduce friction” for us to get immediate player feedback. If they have to go online to fill out some form after they play, they’re less likely to do it than if there’s an in-game prompt. We’ve classified User Reports into three distinct categories

  • Bugs: These are things that are broken that shouldn’t be broken, and likely affect gameplay, or the players’ experience.
  • Feedback: This is general input/thoughts on the game, and hopefully constructive ideas on how to make it better.
  • Translation: Our hope is to be able to make use of some automated translation pipelines to make the game available in more languages. With that though, the translations won’t be perfect. If native speakers submit more accurate translations, we can keep iterating and improving the translations.

These reports go directly to our Project Management Software we use for the game (Codecks), and is sorted based on the type of the report.

It’s a great system! Now we just need to get more people to use it, lol.

Movement

Something I’ve been wanting to get done for a long time that just hadn’t gotten done yet was ground movement. Yes, most of the game takes place in the sky, while flying around, but the player needs to be able to land and walk too! While I was in the process of all that, I also realized that the way we’ve handled player inputs (Keyboard, controller, etc.) is deprecated, and there’s a whole new input system to figure out. It took a few days, but was well worth the effort to swap all the controls over to the new system. It’s really nice! It can allow you to do things like have a button only trigger when it gets tapped quickly, or pulsed, or held a certain amount of time, or combined with/after other keys like you’d see in a fighting game. Really neat functionality built-in.

Anyways, all that stuff meant I had to dig into C++ again, which I hadn’t done in awhile. All our core systems are based in C++ to hopefully reduce overhead for the maths-heavy bits. After a number of hours of just wrapping my head around the code, I was able to start working and get the player able to land, jump, takeoff, and walk/run around!

There were a few really annoying and frustrating points though, especially with the camera while on the ground. There were some strange inherited rotation issues going on, which were causing the player to not turn the right way, and the camera to go crazy anytime the player was on the ground. EVENTUALLY I got the settings right (after a lot of head-scratching) so it’s working now!

I had been wanting to get some basic Control Rig IK systems up and running, but hadn’t been able to fully test it before because I wasn’t able to land and walk. Once I was able to do that though, I got to work trying to figure out how to get Jasper’s feet to snap to whatever surface he’s standing on. Again, lots of trial-and-error, but it’s working! It hasn’t been tested with animations yet, since I only did basic flying ones of those until I had more gameplay functionality, but while he’s standing it works at least.

Anywhoo, that’s what’s been keeping me busy! I’m looking foward to next time though, as I hope to have some more developed enemies for the player to face off against.