Project - Brawl Time

After looking around at both in-browser games and on steam, I ended up deciding to use Brawlhalla as my game engine for this project. It's one of many Super Smash Brothers clones available, but this one is free to download and had good reviews regarding its ability to work with a variety of controllers, as I was unsure how plugging in my roommate's off-brand X-Box controller would work. 

It went incredibly smoothly, and after turning off the in-game music I opened up the project file in ChucK, started the virtual machine, and was able to get the sounds running simultaneously with the gameplay. My familiarity and skill with Super Smash Bros. is unfortunately quite limited (I never completed the tutorial levels) but I was able to jump into the game with ease and begin getting a feel for how the controls worked. However, I have some small concerns about my more experienced friends as they are very used to Super Smash Bros. controls and, at least for the button inputs, they are quite different. In Brawlhalla, the bottom button is jump, the left button is quick attack, and the top and right buttons are a heavy attack; n Super Smash Bros, left and top buttons are jump, the right button is a quick or physical attack, and the bottom button is a special attack. 

However, the good news is that if my gaming friends have difficulties adapting to the controls, it should be fairly straightforward to adjust them in game and have the ChucK file updated to match that, as unlike the example files that hard coded the buttons into the outputs, I've instead used stand-in variables like "jump" or "quick" which will have the numerical assignment of that button stored inside. This will not only make it very easy to adjust the mapping without having to change the entire project, but will also make it easier for me to code as I find it much more intuitive to code a statement related to the jump action as opposed to an abstract button number. 

Here is the game controller mapping:


Notably, there is some overlap in the trigger and button pairs, as well as the axis and pad on the left side of the controller. While in some of the example projects these buttons all did different things, in this game they will likely do the same or similar functions, as some players will likely only use one or the other, rather than both (like how I only use the left shift key when typing.) 

I also would like to have some flexibility with the controller to adjust some of the settings or parameters for the session. Currently, many of these starting parameters, dictating pitch ranges or intervals, will be randomly generated, however I do want to have some ability to swap between these depending on the character being played. I'm considering using the pad for that as it has 8 discreet inputs in ChucK, meaning 8 different stored parameter types I can create, but will likely be used very little if at all compared to the axis, as all of my gaming friends that I can think of prefer the smooth axis movement over the pad (especially considering its Switch counterpart is merely 4 discreet buttons.)

The controls highlighted in orange (Show Names, Pause, and Emotes) I will likely have little to no functionality dedicated towards, as they will not really be used within normal gameplay.

(Originally for Friday, 4/24, but I forgot to finish the post and publish it)


Comments

Popular posts from this blog

Project - Controller Outputs

Research Papers