Welcome to the ARCADE, probably the first shooter video game on a guitar pedal!
Use the stompswitches to move your ship and shoot those pesky invaders.. If they get to 3 LEDs they are dangerous, and if they start blinking you lose a life! The music responds to your gaming and gets more intense when the invaders get closer or if you lose lives, but beware: you only have 3 lives, then it’s GAME OVER!
=====
[OVERVIEW]
-Input/Output: Stereo in, Stereo out (input just goes through dry)
-CPU load: Around 100%
-Build: Only works on ZOIA, not ZEBU. Initial version built with firmware 2.70
-MIDI: There is no MIDI in this patch.
[REVISIONS]
1.0: Initial patch.
[PATCH STRUCTURE]
THE GAME:
The game-part is built from CV Switches, Sample&Holds, and some LFOs.
The ship is just an 8-way switch where the active channel is the location you’re in.
Pressing LEFT or RIGHT stomp adds or subtracts some value from a S&H so you jump 1 channel (=1 grid location) to the left or right.
Similar for enemies; they are spawned via a clocked Random module that goes to an 8-way switch. The difference is that enemies don’t occupy only 1 LED, but can migrate up to 3 LEDs down a column. That’s done with another enemy-switch (so 1 for every 8 columns) and another S&H.
SPAWNING/SHOOTING:
If the Random module spawns an enemy in a column, the enemy-switch in that column simply selects the next output and you see more enemy dots in that column.
If your ship is in a column and you shoot, you’ll reduce the channel by 1 and you see 1 enemy less on that column.
If an enemy-column has reached the last stage (3 LEDs and blinking), it’s locked and you can’t shoot it.
SOUNDS:
Getting that 8-bit retro sound is surprisingly easy!
The bass part is 2 voices, both raw triangle oscillators, without any filters or even ADSRs to activate them; they just go to a VCA that’s gated on/off via some sequencers. The lead melody voice is a raw square wave at 12.5% duty cycle (it does use a short, snappy ADSR, but again no filters). The drum voice is white noise through an Aliaser, and by sequencing that Alias frequency you get the Gameboy noises. For the kickdrum emphasis I added another raw triangle oscillator that sweeps down fast in pitch for every hit.
MUSIC:
I’m sending ALL pitch info (for 2x bass voice and 1x lead melody voice) through their own Quantizer, but they all follow the same scales (which change depending on game-dynamics). I entered some random notes in the bass-sequencer, and I’m sending that also to the 2nd bass voice but I’m offsetting that with another sequencer (mostly using something like a 5th or 7th up, but it’s all quantized anyway so it’s pretty easy to get good sounding harmonic offsets).
These sequencers are triggered by a not-so-regular clock (which is actually ANOTHER sequencer in ratchet mode), so the melody would jumps around erratically where it not for the MASTER sequencer, which resets these other guys back to their origin at regular intervals. Oh BTW, the master sequence is 14 steps, just to emphasize that awkward, hyped-up feeling (and cause I love 7-beat timings)!
The drums are probably the ‘most normal’ thing in this patch, with a dedicated drum sequencer driving the noise/kick/snare/hat-sounds on fixed steps. But even that gets weird, as the ratchets that trigger the sounds get higher with game-intensity (gets super hyped up after 2 lost lives!), and the drum-sequencer is also interacting with (=being reset by) the “master sequencer”, similar to the bass-sequencers.
The lead-melody pitch is generated by 2 LFOs (a ramp and a… sine I think?) which are mixed together and sampled by S&H at irregular intervals, as provided by – surprise surprise – more sequencers! I’m tapping into the bass- and drum-sequencers here as well, but I’m using different combinations of trigger inputs depending on game-intensity: everytime you lose a life, more (and shorter) triggers came into action, cranking up the stress-levels.
Oh, and speaking of losing lives: if that happens, the rate of the ramp LFO is temporarily super-high and the S&H is also triggered at a very high rate, giving that typical 8-bit *bhrwliblibliblib* SFX sound.
Finally, there are 3 “modes” the game is in, which also drastically change the music:
Pause (lead melody = off; stabby bass chords instead of continuous notes).
Play (well, the main patch is all this…).
Game Over (lead melody = off; some variations of the “master sequencer” reset points, creating alternative chord schemas).
=====
[CONTROLS]
Well, this is awkward: there’s not really controls for the music here… just for the game, which influences the music! The Stereo Output module with gain parameter is found on PAGE1.
LEFT STOMP = move your ship to the left.
RIGHT STOMP = move your ship to the right.
MIDDLE STOMP = shoot at enemies!
Additional controls on PAGE1:
RESET (removes all enemies and pauses the game until you start shooting)
PAUSE (pauses the game until you start shooting. Pro-tip: you can still move around :)
=====
[TIPS/TRICKS]
>>> The music gets more intense when: 1) there’s too many enemies in row 2, or
2) there’s a column of 3 enemies (you’re about to lose a life!), or 3) you lose a life!
>>> Try influencing the music by letting more enemies spawn on purpose, but careful you don’t die!
>>> There’s a master CLOCK LFO (on some later page) you can adjust to make the game easier/harder.
[THOUGHTS/IDEAS/PLANS]
This was definitely one of the more outlandish patches I’ve done, both the game but also the music: it was so much fun to combine self-playing / generative style sequencing and melody creation with a patch that has to respond to some completely weird input (i.e. how the game is progressing).
No future plans on this one, but I’m 90% certain I’ll try my hand at some other game someday! Thanks for all the positive feedback on this one already!
If there’s any bugs/questions/remarks/requests or suggestions for improvement, please let me know!
Enjoy!
(Image: unkown author)
So cool, man. This patch is nuts! Thanks for sharing 🙏
I cant figure out how to stop the middle switch from doing its cycling effect thing and get it to shoot. Same as right switch, it bypasses signal instead of going right. What am I missing?
tl;dr – Press and hold the middle and right stompswitch for 1 second to enter ‘auxiliary mode’.
@fullysick – I’m gonna assume that you’re newer to the Zoia and haven’t read much of the manual. If that’s true, you’re probably missing out on a lot of what this amazing box of tricks can do! :)
There’s two modes for the stompswitches. In ‘patch changing’ mode (a name I just made up), the middle one scrolls to a different patch, the left one selects the new patch (unless it’s used to do something in the current patch), and the right one turns the current patch on and off. In what they call auxiliary mode, all three stompswitches don’t do anything, unless the current patch tells them to. So, this Arcade patch for example uses all three of them, but you have to put the stompswitches into auxiliary mode first.
To do this, press and hold the middle and right stompswitch together for 1 second. The shift button (bottom-right button underneath the screen) will change to a light blue, to show that you’re in auxiliary mode. Now, the right stompswitch doesn’t turn the patch on and off, it’ll interact with the patch (in this case, it’ll move the spaceship to the right).
That’s a long-winded way of saying “Put it in auxiliary mode.” 😄
The Zoia is a really powerful lil box. The manual is written in an easy to understand way, so I recommend reading the whole thing (I like being able to star a parameter and then do MIDI learn to easily map something to an external controller).
These bootcamp videos, where the awesome guys from Empress walk through making different fx, are a fun way to learn: https://empresseffects.com/pages/zoia-bootcamp
Cuckoo always explains things really nicely: https://www.youtube.com/watch?v=Zs9re1WS5dw
Christopher H. M. Jacques is the mac-daddy of Zoia patching :D https://www.youtube.com/playlist?list=PLIetTwVphMAn0psmNmQVdP4gq_sjLWgDJ
The Tips & Tricks doc (written mostly by Christopher) is really handy: https://docs.google.com/document/d/1bDqMHjLc4GCYtf2yGNHgjkDqQJ6zrRVuCZohJdKkWWc/edit?fbclid=IwAR2nSrvA-5TY8BWIN6NJFvcbVzqsZ8ghErmJqpa1GdJgD_wCfuQqicpny88#
The module index is a handy spreadsheet made by Empress: https://docs.google.com/spreadsheets/d/1a9q2OCo_Sd_IbWsH99wlFvjcTIN20e7wb5Qgn5fLxms/edit#gid=729380617
The Zoia Anti-GAS Archive is an awesome spreadsheet of patches recreating other pedals: https://docs.google.com/spreadsheets/d/1FTfsDsuA6uuKtwJckeCjBI04kclfDOy1tfLSxfD4Se4/edit#gid=565828644
Instead of me just saying “put it in auxiliary mode”, I hope these resources help you to get even more out of this sweet box o’ tricks!