HW 3

Milestone 3

Ghostman



Video
ChucK code, run with chuck main.ck

Ghostman is a sequencer themed like Pacman, except you play as a ghost laying down pellets instead of as Pacman. You navigate your ghost with WASD and lay down pellets with Space. Each color section on the sequencer grid corresponds to a different 8-bit-esque "instrument" with pitch determined by verticality. But be careful! If you don't have a sound pellet in each instrument category, the pacmen (?) will come for you!
 
Initially, I actually wanted to implement a two-player sequencer, an idea I got from the Data DUO synthesizer, and the idea of music constantly changing and being modified, added to, subtracted from. However, I felt like I had a hard time kind of defining the types of interactions that I wanted to happen, especially since I started off with three components: two players and the playhead. It was hard to determine what interactions should be distinctly playhead-player interactions versus player-player interactions, and this indecision actually led to poor architecture in the long run. When I finally decided (with the help of feedback from the class and Ge), I felt that I was somewhat limited in what I could further implement just due to how I had initially set up my program and would have to more or less restructure several classes to properly accommodate extensions (an action I unfortunately did not have enough time to do).
 
Additionally, while I and several other classmates in the feedback were excited about a two-player sequencer, it felt hard to implement when playhead functionality was implemented; namely, the playhead and player would have very similar functiinality (consuming sound pellets), so I thought it would be best to cut out the second player since I couldn't find a meaningful way to incorporate it. As a result, a lot of my design decisions were made based on the time scope I had to work with and the architecture I already had in place. In order to spice things up a little, I decided to more fully commit to a reverse Pacman concept that was suggested through feedback and took inspiration from Ivan's sequencer through how I created different sections for different instruments. Despite the difficulties, I actually did enjoy learning how to tinker with the musical aspects! I feel like I learned a lot on how Ugens work and various filters and how to apply them.
 
In terms of help received, I relied very heavily on feedback from class on how to progress with my sequencer. For the implementation, I relied a lot on Andrew's drum machine to figure out how I might structure my sequencer, and on Clint Hoagland's tutorials for how to achieve a chiptune kind of sound.
 

System diagram



Milestone 2

Video
ChucK code

Milestone 1

Music sequencer research

 

Example sequencers and references

 

Through my research, I was able to learn about what constitutes a sequencer and the various types of sequencers that exist; I had no idea that there were so many different types! I found the video to be particularly useful as it helped explore different configurations of sequencers and different layouts and how to use them while providing ample examples. Looking through example sequencers also made me consider the interactive and collaborative aspects of a sequencer: Particularly, the Dato DUO intrigued me because it involves two people using it (one on the sequencer, one on the synthesizer). While researching examples, I also came across the game Martial Cards by Fabian Fischer, which isn’t a sequencer, but has (time) step-by-step interactions and choices at each time step, all formatted as attacks and movements. It made me consider what exactly nodes within the sequencer might mean in the overall big picture and what kind of story to tell or aim for.

 

Sketches