It Seems Finished!


Wow, that wrapped up way faster than I'd let myself hope!

short list of changes:

  • made it slightly more obvious which menu button is selected
  • added time change buttons, ui confirm, and ui cancel to control rebind menu
  • added gamepad icons for xbox and playstation controllers
  • changed default pause game to the start button on gamepad, and tab on keyboard
  • changed default run toggle to right bumper on gamepad to better match other popular gamepad layouts
  • added menu button for mouse and keyboard players to click on during gameplay, it pauses the game and opens the menu
  • added volume sliders for sound effects and music to the pause menu
  • increased base volume of music a little
  • increased hard-surface footstep sound to better match the gravel/grass footstep sound
  • tweaked the sun angle for early morning phase to make a more noticeable shift between morning and mid-day

The wordy part:

This has been a much more code heavy couple weeks than I expected. I not only added the time change and ui controls to the rebind menu, I decided it would be best if I dug into rewriting my ui system so that it automatically makes a row for every action in a list of game-controls that I give it. While it didn't save much time on this project, it does mean that on my next project I won't have to spend so much time manually placing row after row of buttons. I was having trouble getting my code to play nice with unity's built in scroll boxes, so for now it's only good for short lists of controls. Scrolling menus will be on the back burner until I'm working on a project that specifically needs it.

And then when I was setting up the rebind logic for the cancel button I also dug in and modified things so that you can cancel a rebind attempt from either a gamepad or keyboard. The default unity rebind code did not seem to like the idea that my cancel action had bindings for both keyboard and gamepad. I know I want to dig into the franken-code that I grafted out of unity's rebind code and clean things up more on my next project. I'm pretty sure I have things left in there that I don't need, and there may be more efficient ways of getting the behavior I want that I haven't found in the sea of documentation yet. One specific suspicion I have is that the problems I ran into with .WithCancelingThrough("*/{Cancel}") may have been because I had some settings mixed between my custom playerinput maps and the default one that came with unity's new input system. I can't recall if I tested that after I fixed the actionmap mix up.

As for the music and sound effects. I mostly left those the same aside from some volume tweaks. They are as finished as I can make them without testing on other folks's headsets. I know when I streamed the demo for folks on our discord they said the game was very quiet, but on my personal machine it was very loud. I look forward to finding out if that was  a streaming problem, or my computer playing quiet sounds louder than most.  Setting up the volume sliders was pretty trivial from the fmod side. And all the difficulty I had was on the unity ui side sorting through documentation to find what events I had to hook in and override to get the menu to respond to gamepads the way I wanted. 

Over all I'm really pleased with where things are on this project. I'll probably come back and tweak it again if the audio is really off on other devices, or I find some major bug that isn't a nightmare to fix. And I'm just as excited to take what I've learned here on to my next project. Which will probably be something cute with slimes, since I made a slime I rather like for practice with blender the other week.

As always - Love and Peace,

Briana

Get Sidescrolling Demo

Leave a comment

Log in with itch.io to leave a comment.