Hello, again, everyone. This is just a little status update for Soldier Of. Recently, I worked on getting joystick controls to work, and they currently work fairly well. They weren't a huge pain to implement, and I could see finishing up functionality to work with both joysticks and keyboard keys easily. Basically, rather than checking two times for two different sets of inputs for each condition:
if KeyDown(logic.kbright) or (logic.joystick and obj['jstate'].AxisDown(0, 1)):
# Repeat for each and every time I check for input (rolling, shooting, secondary item usage, NPC interaction...
I basically made a set of variables that would equate to keyboard (or joystick) presses. By checking those, I only have to set up the set once, and can reference that throughout the player code:
krdown = KeyDown(logic.kbright) or (logic.joystick and obj['jstate'].AxisDown(0, 1))
klpressed = KeyPressed(logic.kbleft) or (logic.joystick and obj['jstate'].AxisPressed(0, -1))
krpressed = KeyPressed(logic.kbright) or (logic.joystick and obj['jstate'].AxisPressed(0, 1))
if kldown: # You're walking left, either by pressing the left-arrow key (default binding) or by pressing the D-Pad left on the joystick (with joystick mode enabled).
I don't have a 360 controller - just a PS2 - USB adapter and a PS2 controller that I like to play around with, but this means that you should be able to use any joystick controller to play the game. It's good that Blender's cross-platform - otherwise, it might be 360 controller only! I'll have to ensure that I include an ability to remap controls, though, since different gamepads send input different ways (just the two PS2-style gamepads I have send inputs different ways!). It felt pretty cool to run around with the gamepad - a little bit more fun. :D
I also uploaded the background music to my SoundCloud account, since the video was a little choppy. I'm happy with Tides (the sewer BGM), but Sun's Aria (the city BGM) could be longer and more complex - I could see it getting annoying very quickly. You can check out the music here.
Finally, I got the jumping mechanic to work a little more reliably (the player character's collision mesh was a little too large), particularly near fences. I'll have to make sure that you'll get a chance (and a reason) to jump a couple some time. ;)
Welp, that's it. Feel free to follow my development on my YouTube channel or here. Thanks!