Posts

Project - Brawl Time

Image
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 qui...

Project - Consistancy Achieved

 This weekend once again was less productive than I'd hoped, as I never was able to set aside a large block of time to contribute at once to this project. However, the benefit of many smaller intervals was that I had to plug in the controller and get ChucK set up about once a day for the past week, and was able to consistantly get it working every time. This includes both the default example code and other modified files that are saved directly to my device. That being said, I'm concerned with my ability to complete the larger initial scope of this project, as I'm finding I'm much more rusty on code than I used to be, and so progress is much slower than I'd hoped. I've also begun mapping ideas for how I would like the sounds to be generated. The base fm and noise files appear to only generate sounds from a specific number of inputs, the A, B, X, and Y buttons, and simply modifies what those noises look like based on what triggers or axis are in motion or use. Fo...

Project - Setbacks

Image
This weekend was frustratingly less productive than I had planned and hoped, due to a combination of personal and technical issues. While last week I was able to hook up the controller and get it to produce sounds, this week I was running into a repeated error with the device recognizing the dac, independent of which controller or keyboard was plugged in.  As these are from existing ChucK examples and they were working previously, I know that in theory the format of these files should be correct, however I'm still unsure what the cause of this error is. ChucK has also continued to experience repeated crashes, which may have been what caused this error, though I haven't been able to find any floating ChucK files or programs after that fact. I may not be looking in the right place for those.  I also ran into issues with downloading Wekinator and getting access to the program. There has been a lot of tutorial watching and site reading and I have still made very little progress on...

Project - Controller Outputs

Image
This past week I did some initial testing of ChucK using the example files provided by the program, and verified the outputs of the off-brand X-Box controller could be read by ChucK. I first tested the device's ability to generate midi sounds from the keyboard inputs, to ensure that the audio on the device was functioning. I was unable to get sound to play through headphones during the sessions, so tested subsequently without additional audio devices. I first used the command line to "--probe" ChucK to see the list of devices, and verified that the off-brand X-Box controller I'd plugged in via USB cable was registering in the system. I used the basic joystick controller example to begin reading output from the controller. Unexpected, though in hind sight very predictable, was that while the controller buttons had a single "on" or "off" state, the joysticks and triggers had a very rapidly changing range of values. These were initially read from the ...

Project - Controller Inventory

This weekend, I took the time to assess what controllers I had available to be used for this project, as I wasn't able to make much progress on identifying a program that would allow me to pull the data.  The controller that I'd thought was an X-Box controller is actually an off-brand controller made to mimic an X-Box controller. I suspect that, due to this, it will not enjoy the the same ease of connection that has been reportedly found with X-Box controllers and windows computers. However, this controller is wired with a USB connector, so it may still work for providing direct inputs to a program like Chuck. Additionally, I have access to official Playstation controllers, also wired with USB cables. Our apartment also has a pair of wii remotes and accompanying joystick offhand controllers; I suspect I will not use these controllers so I can avoid any difficulties with using Bluetooth to connect them to my laptop.  Also available are more modern controllers, like those for th...

Preliminary Project Research - Wekinator

For my project in this class I've solidified on creating a program that will respond to a series of input parameters and game controller inputs to create a sound scape that corresponds to an individual's gameplay.  The initial proposal for this project included creating a program in Chuck, hardcoding the inputs from the controller and creating the response matrix. While straightforward, there is certainly a limitation in the variety of inputs that can be processed, specifically in games with fixed sequences, like many fighting based games. To provide myself more flexibility and variety of inputs without having to hardcode combination detections into Chuck, I explored a program called Wekinator, which is a machine learning engine designed to rely not on code but on more unique inputs, including both musical or sonic inputs and game controller inputs.  The basic process as I've come to understand it thus far is that the user will first select the type of input Wekinator will ...

Research Papers

 Below are three articles which relate to the ideas I have for this class. 1. Evaluating the WiiMote as a Musical Controller http://hdl.handle.net/2027/spo.bbp2372.2008.092 This paper contains the results of a small investigative study into the applications and intuitiveness of the Wii Remote's motion controls when applied to a music-creation context. They were drawn to this controller because of its unique motion control system, which is not as direct to map to a digital instrument in the same way keyboard or controller buttons are. They used a mixture of neural networks to allow the system to identify specific gestures from the controller's acceleration data, which is inherantly noisey and imprecise. The users had a wide degree of experience both on a musicianship scale as well as game-experience. They found that for discrete tasks such as playing a drum to a beat or indicating a scale, the Wii Remote was imprecise and lacked feedback to the user necessary to allow for those ...