HW #4
Raghav G.
11/15/2023
Music 256A / CS476a, Stanford University


Milestone 4

For milestone 4, I rewrote my codebase from ground 0 and picked the features that seemed to gel most with my vision for this idea. What we've ended up with is a spacecraft "avoid the chasers" type game, where a craft can be controlled by the player with keyboard controllers and several chasers come after the craft. The craft periodically turns yellow or blue depending in a timed interval. If the craft is yellow, that means it is in attack mode and can remove chasers if they collide. However, if the craft is light blue, then on collision, the number of chasers will be doubled. The diffculty of this game increases exponentially as more and more chasers will comre after you in subsequent levels. There are also several power ups which can be picked up from the environment, including one that increases your speed, one that refills your fuel, and another that gives you a shield for a longer period of time. There is also a fuel mechanic in this game, wherein the spacecraft stops moving if fuel runs out, which then needs to be replenished by making noise into the mic. The amount of fuel can be determined by looking at the box on the left hand side of the screen.

The code can be run with chuck KB.ck hw4_milestone4.ck

Here is my code.



Milestone 3

For my milestone 3 I've integrated 3D models for the chasers and cursors in the game environment. I also added other obstacle actors in the scene that move down random paths over the course of the game. I also increased the number of responsive cubes in the background and have also made them move in the background to introduce a "moving" effect. I also spent some time looking into getting accurate pitch detection, but it still hasn't been able to work too well yet. My goal for the next milestone is to add materials to these entities, add a game over screen, a more responsive background, and a better way to do lateral movement. 


Milestone 2

For my milestone 2, I have put together the main game mechanics in a Chuck + Chugl demo. The goal of this game is to use your voice to steer the spherical cursor away from the chasing spheres. Every few seconds, the cursor shifts from passive mode to active mode. If the cursor hits a chaser in passive mode, more chasers spawn. If the cursor hits a chaser in active mode, the chaser that was hit gets removed. In the background, there also happen to be cubes which get progressively bigger each time a loud sound is emitted. They also actively react to the sound coming in from the mic. As of the moment, they have no game mechanic associated with them, but I will add that going forward. 


Milestone 1

I have a few ideas I'm very interested in pursuing for the final project. My projects mainly revolve around the use of audio inputs (mic in) to control the movement of entities in the virtual world. 

1. My first idea is around the idea of having a civilization type system, where different factions can attack each other and the end goal is for one party to emerge the victor. My idea with regards to this is to have the pitch of the audio being piped in be correlated with different resources. The player can then invest those resources towards invading other tiles, building buildings, or increasing manpower.

2. My second idea is to have a racing game, where cars are controlled with the pitch and amplitude of audio piped into the mic. The cars have to avoid obstacles and face off against AI opponents. The racetrack could also be procedurally generated if time permits.

3. My third idea is to have a fighting game where the audio in controls what types of attacks and blocks the characters use. The goal of the game would then be to defeat the opponents without losing too much health, which can also be replenished by singing a note at a certain pitch. All of these project ideas require the implementation of a basic physics system which may end up taking some time. 

Here are some designs for sequencers I have developed. They can be viewed by downloading this PDF.