In addition to writing books, I have a couple of other esoteric, creative-type hobbies. One such being pinball. I love to play pinball. Something about the kinetic, real-world physics aspect of slapping a ball and hitting targets, some unexpectedly, that I find satisfying. Since I am a creative, I couldn't stop at just playing. I tinker too.
There are actually three different pinball machines that had the spiderman theme. The one I had and modified was made by the Stern pinball company in 2007. By most ratings, it is the best of the three and many rate in as one of the top ten (or at least 20) pinball machines of all time. It's a lot of fun.
I had mind to make some tweaks to the game, even though it is near perfect, but in the end, all I changed was the game music.
The soundtrack, as is, is not horrible, but I felt it lacked the edgy, in-your-face component that a lot of other aggressive, confrontational games had. I ended up swapping out the custom soundtrack in the game for snippets of electronic music, mostly house, EDM, trap, dubstep, and the like.
The original game had music that flowed fairly well and, personally, I thought, blended a little too well. I like the music to signal when a game is in a particular mode so that just by listening for a certain soundtrack, I know what targets to shoot for. Unfortunately, this wasn't the originally the case. So, for the soundtracks I chose, they are of similar vein, but different enough from each other that you definately know what mode you're in.
Here is a mapping of the sound calls, their code addresses, what modes they are played during, and the music that I switched it to.
request | address | length | what mode | replaced with | |
26 | 0xC4 | 10s668ms | plunge if nothing running | Faithless - Jailbait | |
27 | 0xC3 | 42s655ms | main game | Faithless - Jailbait | |
46 | 0xC5 | 29s548ms | amazing spiderman (timed mode) | feed me - pink lady | |
57 | 0xB9 | 27s765ms | end credits | leave original | |
112 | 0xBB | 33s883ms | ? | leave original | |
113 | 0x99 | 04s195ms | doc ock MB end / black suit MB end | leave original | |
114 | 0xC0 | 07s703ms | plunge if goblin is running | afrojack - pacha on acid | |
115 | 0xC6 | 31s679ms | goblin 1, 2, 3 | afrojack - pacha on acid | |
143 | 0xC7 | 13s892ms | ? | leave original | |
144 | 0xC8 | 30s489ms | doc ock 1, 2, 3 | kill the noise - thumbs up | |
195 | 0xC1 | 08s612ms | plunge if sandman running | subfocus - rock it | |
196 | 0xC2 | 17s306ms | Sandman 1, 2, 3 | subfocus - rock it | |
232 | 0xB6 | 37s783ms | venom 1 (timed mode) | dmitri vegas and like mike - wakanda | |
233 | 0xB4 | 5m999ms | plunge if venom 2-3 is running | feed me - one click head shot | |
234 | 0xB5 | 29s994ms | venom 2, 3 | feed me - one click head shot | |
250 | 0xBA | 36s012ms | bonesaw (timed mode) | stoneface and terminal – leaving earth | |
262 | 0xBD | 25s623ms | daily bugle (timed mode) | mat zo - caller ID | |
270 | 0xB8 | 33s375ms | new goblin (timed mode) | birdy nam nam - going in | |
282 | 0xB7 | 28s270ms | rescue MJ (timed mode) | justice - Helix | |
318 | 0xBE | 07s905ms | black suit MB start | john dish - karmma | |
319 | 0xBC | 21s356ms | black suit MB | john dish - karmma | |
339 | 0xB3 | 40s012ms | battle royale wizard mode | zeds dead - dimention | |
348 | 0xB2 | 37s502ms | superhero | leave original | |
357 | 0xBF | 06s009ms | superhero start | leave original |
One of the things you might notice is that most mode songs in the list above are listed twice. The reason is that there are two different times the music is queued up to play. The longer times are for during the game, the shorter ones for when the ball has yet to be plunged, but the mode is still active. For example, if a non-timed game mode was started on ball number one and then the ball drained, the mode would still be running at the start of ball 2.
Having two different chucks of music to signal the same mode leads to some interesting problems because the new music and the old were not of the same lengths or tempo (beats per minute). So changing the music forced me to tweak the music on my part, both length and tempo.
For example, for the Sandman mode I used one of Subfocus's bigger hits, Rockit, but the Sandman mode music only plays for 17.3 seconds. If the mode runs longer (unless you're having a really bad go of it, it will) the music will loop back around and play from the beginning seemlessly, meaning there is no gap when the track restarts. This is really illustrated on the 339 track above although your browser may or may not stutter on the replay (the pinball machine will not). Anyway, clearly, we don't want the music to start at the beginning, but somewhere in the middle and to loop exactly at 17.3 seconds. However, since Rockit is not at the same BPM as the original music, it doesn't fold properly. How did I fix this?
The answer was obviously to change the tempo of Rockit to match the loop time I needed. Rockit has a standard 4/4 time signature, so I needed the 4th measure to end at exactly 17.3 seconds. I used a program called Audacity and sped or slowed the time of the tracks accordingly until it was where I wanted it.
As far as the smaller, intro track, this was much harder as the amount of track time that I had to play with was shorter. In the end, the intro track had to be slowed more than the other. I found this acceptable because the speed of the track, for me, indicates the level of aggressiveness and attention from the player and having the slower track play before the ball is plunged, then once the game starts, the faster track plays, feels right to me.
Here is a crappy video also illustrating the game playing to demonstrate some of the music. By the way, I no longer own this pinball machine. It was sold some time ago so I will not be working on this anymore. For those of you interested in changing your game sounds, I highly recommend it. It's a lot of fun!