This has been a long and arduous process coming up with a final project. I spoke to several second years and their advice was resoundingly similar: if you can combine PComp and ICM into one project, then DO IT!!! With the ideas that I had presented in PComp two weeks prior, I realized that it would be very difficult to accomplish the task of incorporating a p5 sketch. So, I went back to the drawing board.
I have developed a close friendship with two of my classmates this semester, in large part because of our obsession with sports. I honestly thought that I would be lucky to find one person in ITP with the same love as mine (as it is very well known that sports are not on the high list of interests of a majority of the student body), but I somehow managed to find TWO. And one of them, Katie Takacs, is even from Arizona like myself. The other person, Alex Fast, is a baseball guru. Like an actual stats junkie. It’s amazing. So, it just made too much sense that we should all group together and create something sports related.
Alex had actually created a very simple sketch for his ICM/PComp midterm that I fell in love with. It was a baseball that was pitched to a batter in a very basic p5 sketch. The bat was rigged with an accelerometer that when within range of the ball upon swinging, the person would “hit” the ball in the p5 sketch. It was so fun to play, although there were a lot of adjustments that could be made. Upon speaking with Alex and then with Katie, we realized that we could make a truly interactive baseball simulation that would serve the purpose for our final projects in both classes.
After a long time brainstorming, we developed a list of the things that we wanted to accomplish with this baseball simulation (title of the project still pending). First and foremost, we wanted it to be a game for both the novice and more experienced baseball players to learn how to recognize and hit a major league baseball pitch. We realize that while baseball is very common to the three of us, there are at least half of the people in our program who have probably never picked up a bat nor would know what to do with it if held in their hands. Therefore, we wanted to make absolutely sure that our game would be easy to follow regardless of who is playing.
From an ICM standpoint, we envision the following:
- Three game modes: beginner, hard, live
- beginner: basic pitches that will be thrown from a pitchers mound to the batter. There will also be instructions of how to play the game.
- hard: more difficult pitches once the basic level has been mastered
- live: the batter will face 5 different MLB pitchers who are known for distinct pitches. There will be a time limit and the batters will have one minute to accrue as many hits as possible.
- 5 Pitchers (Clayton Kershaw, Yu Darvish, Tim Wakefield, Noah Syndergaard, and Mariano Rivera) who will have all of their pitches compiled in a json file. Thanks to FanGraphs, a baseball fanatics dream, we were able to compile a list of all pitches thrown by each of these pitchers during their most dominant year in baseball. We have details of the following categories:
- maximum velocity
- minimum velocity
- strike %
- walk %
- how often each pitch was thrown
- the movement of each pitch on the x and y axis
- A scoreboard that will keep track of every hit the user makes once coming into contact with a pitch. There will also be a clock that will be implemented for the live mode.
- In the top left corner of the sketch will be a picture of each pitcher with their name and the list of pitches that they throw. Each one will be color coded and correspond to a ball that is thrown during the live mode. For example, if Mo Rivera throws his infamous cutter (which would be color coded as blue in text), the ball will also be blue letting the use know what type of pitch was just thrown.
- We would like to include speeds of the pitches too, but don’t want to overwhelm the user. This is still a topic up for debate.
- The ball will be coming towards the user as opposed to down in the screen as it was first created in Alex’s midterm. This will be a better interaction making the game that much more realistic.
- The instructions are still up for debate as well in the basic mode, as we want to ensure that the information presented is as clear as possible.
From a PComp standpoint, we envision the following:
- We have three components that will interact with the p5 sketch:
- home plate
- The bat will have a Arduino 101 placed inside in place of the accelerometer of the previous project along with a haptic motor controller and mini motor discs to create vibration upon contact. We are using a plastic bat for now, but would prefer to construct our own wooden bat with the components inside. We also want the bottom of the bat to be lit up with blue LED’s. We are still unsure of how to go about this process, but realize that the user needs to be able to visually see where to place their hands as opposed to being instructed by us.
- The helmet will have a button that will toggle between the 5 pitchers on screen during the live mode. We are still unsure of the best place to put it.
- The home plate will be constructed as a way for the user to experience what it is like to stand in a batter’s box. In addition, we are going to create a wooden platform with fake turf for the user to truly get into the baseball spirit. There will be two footprints that will be lit with the slow fading LED’s to signify where to properly stand. The home plate will also be equipped with the FSR’s to toggle between the game modes.
BILL OF MATERIALS
4 x Square Force-Sensitive Resistor (FSR) (Interlink 406)= $31.80
1 x Arduino 101 with Intel Curie = $39.96
3 x Vibrating Mini Motor Disc = $5.85
1 x Adafruit DRV2605L Haptic Motor Controller = $7.95
6 x 3W-9W RGB LED – Common Anode = $23.70
1 x Diffused 5mm Slow Fade Flashing RGB LED – 10 pack (Slow fade) = $4.95
1 x Diffused Blue 3mm LED (25 pack) = $5.95Full sheet 1/2″ Ply = freeFake Grass/Turf = free2 x Batting Helmet = 59.90Total: $180.06