[Beep! Beep! Beep!]
[Blowing on card]
[Beep! Beep! Beep! Beepbeepbeepbeep!]
[Beep!]
[Body Discovered musical sting from Among Us]
I'm Zack Freedman and I'm a freelance prototype developer.
I'm not really supposed to talk about my clients, but I got this job that's just too weird to
keep to myself.
I had my lawyer look at their NDA and he says it's probably not enforceable.
Either way, let's keep this... among us!
Eh? Ehhh? [cut off]
These clients are weird.
They won't show their faces, they'll only talk to me on Discord, and I'm pretty sure
one of them thinks they're an apple.
They want three projects in one week because they just let one of their colleagues go.
[Unlucky Crewmate] Goddammit
If you ask me, the whole thing is kinda sus.
They want me to build the most thoroughly-hated tasks on their spaceship, The Skeld - an upload/download
station, a reactor starter console, and a card swipe reader.
I only have one week to build three projects - it's going to take every dirty prototyping
trick I know.
Let's bum-rush straight into our first task: uploading and downloading.
To complete this task, the unfortunate crewmate uses the slowest tablet in the universe to
collect data from Comms, Weapons, or for some reason, the Cafeteria, and then upload it to HQ.
This is going to be a two-part project.
We need to build the tablet, as well as its wall-mounted access point.
The number one rule of prototyping... is to cheat.
Don't engineer something if you can fake it, and don't build something if you can just
rummage around in your storage room and find it, like this ancient Galaxy Note 3.
This thing is loaded with so much Samsung bloatware it's ALREADY slow as hell!
It's perfect.
My first thought was to download an off-the-shelf phone case and then build the tablet around
that, but Fusion 360 handled that about as well as hardcore gamers handled The Last of Us 2.
That means it completely failed, melted down, and perpetuated toxic stereotypes!
We gotta do this the hard way, so let's import the reference artwork and bust out the calipers.
Well, that was easier than I expected.
The model is pretty simple - it's just two pieces that bolt onto the phone and add cosmetic
elements like the ridge to make it look more like the in-game tablet.
I didn't see any buttons on the tablet... like, I'm not even sure the clients have arms
in the first place... so I just added this little pokey hole to access the power button.
These hex-head screws self-tap right into the plastic because heat-set inserts cost
money and these guys are paying me in exposure.
With that, the models are done, so let's get the printer printing while we design the access
point.
The in-game access point is just a little sprite on the wall and there isn't any high-res
artwork of it, so I took some artistic license to flesh out the details.
The light-gray areas and the red thingamadingus will be 3D-printed to give them some thiccness,
and I'm just going to paint the dark areas onto the panel.
By the power of vector art, we can reuse this one drawing to laser-cut the plate, etch the
guidelines, and generate our 3D-printed overlays.
I cut the main plate on the Fat Cat Fab Lab's laser, I painted it up, and then I got going
on the appliques and the frame.
Then, I accidentally left my screen recorder running for 41 consecutive hours and completely filled my hard drive.
[Juicy death noises] Whoopsie! I assembled the tablet...
Looks rad!
I let that thing charge while I... uh...
[Tinnitus whine of suppressed rage]
I ran off another tablet with a hole for the USB cable.
Heh heh heh...
By now, the paint was drying, so I glued the frame together with some Zap-a-Gap and I used
some contact cement to mount it, along with the wi-fi symbol and the red wangdoodle, to
that plate.
I then slipped in the secret ingredient: an NFC tag.
[REDACTED]
This little plastic disc has a self-powered transceiver embedded right into it and it
lets the phone recognize the access point without any battery, circuitry, or baloney.
The neat thing about NFC is that it's near-field communication - the phone needs to be nearly
touching the tag to power it up and get the data.
This will be important.
Real programmers write assembler with eight DIP switches and a clock button, but I'm on
a schedule, so I used Java.
The tablet just runs a simple app that constantly sniffs for the NFC tag and plays the appropriate
upload or download animation.
The clients insisted that the tablet can only work while the user holds it right up to the
access point, making sure their back is exposed and their vision is occupied.
That sounds downright aggravating, but the client specifically requested all of this
in 22-point bold underlined italic highlighted Helvetica, and that's the most serious font
of them all.
Let's give it a squizz!
Let's have the whiteboard stand in for the weapons room, let's mosey on up to the access
point, and initiate the download.
It always takes exactly 9.7 seconds, but feels like a sad, lonely, and wasted young adulthood.
It'll delete the data and start over unless I hold it in this exact position, so uh...
Let's upload this data at the other access point here in the cafeteria, and by 'other,'
I mean 'I moved it,' and by 'cafeteria,' I mean 'don't expect production value from a
channel that doesn't make a nickel.'
Note how it will delete all the data and start over if I so much fart during the transfer.
Hypothetically, this would leave you really exposed to some sort of sneak attack.
It's a little stuffy in here...
I hope the vent isn't clogged again.
[Ominous rumbling]
Oh, by the way, I don't build a lot of cosplay and props like this, so this is kind of new
territory for me.
Which in-game items would you like to see me build next?
Don't worry if it's physically impossible, because it won't be when I'm through with it!
Let's see how this... goddammit. [Cellular impact noises]
Next task: start the reactor.
This is the control panel to the nuclear fusion drive that generates the juice to fuel the
engines, maintain life support, and bathe the ship in carcinogenic gamma rays.
Maybe I should wear one of those suits too...
I'm not totally comfortable dealing with gigawatt nuclear equipment.
I'm kind of worried the client will put my project straight into production, which will
make the reactor dangerously easy to sabotage.
But then again, like, they signed a waiver.
The activation sequence is five random keys, and if the user messes one up, it starts over
with a new random sequence.
Yeah...
I gotta bite my tongue if I wanna get that exposure.
The easiest way to prototype this was to build two separate devices that talk to each other.
I made models off the concept art, and yes, I learned my lesson from the weekend projects
video, and this time I test-fit everything and it HELPED.
The left side is really just a case for a Raspberry Pi with a display, and the right
side is the cutest li'l mechanical keyboard.
This is a lot to print - it's two bottom pieces, two top pieces, ten LED lenses, and nine keycaps.
I printed the top parts first, and then while the printer chooched, let's move on to the
electronics.
The left side has a Raspberry Pi 3B+ and an Adafruit PiTFT display.
I am aware that the Raspberry Pi 4 exists and that my display is cracked, but this project
does not exactly demand top-shelf hardware.
I mean, it's just like a Bython script that displays squares and lights the LED's with
Pygame.
These aren't real LED's by the way; they're just cutouts and they get illuminated by the
display behind them.
Sneaky, huh?
The right side has more spicy electronics.
I popped in nine extra-clicky Kailh Box White mechanical keyswitches and five RGB LED's.
The microcontroller is a Teensy 3.2 - it's basically like a super-powerful, super-tiny
Arduino - and I added a buzzer for sound effects.
The keypad is a 3x3 button matrix, which means that the keys are connected in a grid.
See how each row and column is wired together?
In a way, we're using code to connect one group of buttons at a time, so we can read
more buttons with less wiring.
I soldered all those wires to a bit of stripboard and added the Teensy and all the resistors
and transistors we'll need.
The eagle-eyed smartasses among you will probably notice that my prototype doesn't light the
keys up the way the real thing does.
That is correct, and it actually used to be in the plan.
I made the keycaps translucent and I bought some blue LED's, but we were running a little
low on time at this point, so I cut the feature.
Finishing projects means making sacrifices, because a simple finished project beats an
ambitious pile of parts in a shoebox.
Final task: swipe the card.
This card reader will go in the ship's Admin Room and allow crewmates to swipe their ID badges.
[Beep beep] You see, the life support system is free-to-play, [Beep beep beep] and if a
crewmate doesn't buy a microtransaction every 30 minutes, the ship will disable the toilets.
[Beepbeepbeepbeep]
[Extremely compressed audio of a middle-aged gentleman pwning his CRT]
See, this is just a prototype, so the card doesn't actually need to store any data.
I just made myself into an Among Us dude with one of these dress-up websites.
I forged an ID on my photo printer, and I got to work tracing the game into Fusion 360.
A neat little aside: I made sure the project dimensions were correct by calibrating the
image.
This tells fusion 360 that the ID card in the reference art was 85 millimeters wide,
so it scaled the image to the correct real-world dimensions.
You'll notice I made my version a bit shorter than the real thing, because my display is
slightly smaller.
You'll learn why in a sec.
The model is in two main pieces.
We have a baseplate that holds all the electronics, and a faceplate that displays the results.
The faceplate is decorated with these two little LED lenses, an arrow decal, and a bottle-green
display filter with a brace glued to it to line the displays up.
The filter is laser-cut, but everything else you see is 3D-printed.
I added another Teensy for braining, a beeper for buzzing, and LED's for blinking.
In the game, status messages are displayed on a 20-something-digit 14 segment display;
ain't nobody got time to wire that [REDACTED] up.
I just threw a pair of OLED screens in there end-to-end and displayed the messages in a
font that LOOKS like a 14-segment display.
The hardware here is pretty simple - the card-swipe machine just has two optical interrupters
that detect the speed of the card as it swipes through.
Ignore this groove here because the card actually swipes sideways.
I dunno, man.
These clients are weird.
An optical interrupter is just an infrared LED pointed straight at a light sensor.
When the card passes through, it breaks the beam and notifies the microcontroller.
By starting a timer when the card enters the first interrupter, and ending the timer when
the card leaves the second interrupter, we can precisely calculate how quickly the user
was swiping, down to the microsecond.
If you've done this task before, you know exactly where this is going.
I programmed the card reader to pick a random amount of time and reject the card unless
you swipe within 40 milliseconds of it.
Of course, it will also reject the card if you don't swipe perfectly straight.
Even if you nail the swipe, I programmed it so it still rejects the card 20% of the time
because [REDACTED] YOU.
That is everything we need, so let's put our prototypes to the test by donning some protective
headgear and doing a real life speedrun of The Skeld!
[Surf rock]
[In-game footstep sound effects. Clang clang clang!]
[Beep boop, beep boop bop]
[Beep boop bop bip FAILURE NOISES]
[Boop bap bip beep bop]
[Boop bap bip... beep SUCCESS NOISES]
[Footsteps, clang clang clang clang]
[Whip crack!]
[ v a p o r w a v e r e m i x o f ] [ r u n n i n g i n t h e 9 0 ' s ]
[Surf rock!] [And footsteps, clang clang clang clang]
[Whip crack!]
[ m o r e v a p o r w a v e ]
[Samsung smashing noises] [SMACK!]
[Surf rock resumes] [Clang clang clang clang clang]
[Tire-screeching-to-a-halt sound effect]
[THUD!]
[Beep! Beep! Beep! Beep! Beep!]
[Ominous rumbling] [Beep! Beep! Beep! Beep! Beep! Beep!]
[Body Found musical sting]
[Blue,] Gentlemen, someone killed Orange in the cafeteria.
I didn't see anyone go in or out; they must've jumped in the vent.
[Red] It was definitely Zack.
[Zack] ...WHAT?!
[Red] I was in Admin swiping my card, and I saw Zack vent.
[Zack] ARE YOU SERIOUS?!
I was swiping MY card!
[Blue] Cafeteria vent goes straight to Admin...
Zack's looking miiighty sus.
[Green] Yeah dawg, hella sus!
[Zack] Whoa, guys, hang on.
How did Red even know about the swipe machine?
I just installed it, like, two and a half minutes ago!
[Purple] Zack's, like, got a point man.
What was Red even, like... doing there?
[Red] The real question is, Zack's not even a member of this crew.
Where did he get an ID to swipe in the first place?
[Purple] Whoa.
That's like... sus.
[Green] That's MAD sus, my dude.
[Blue] Sus City Sarsaparilla.
[Zack] Guys, I printed it myself.
Like, here, take a look.
It's it's not even real -
[Green] IT'S ORANGE!
SWEET BATMAN'S NIPPLES, IT'S FRICKIN' ORANGE!!
[Red] That's, like, Orange's ID card!
[Purple] Not cool, man.
[Blue] You sick sonuvabitch.
[Zack] Oh come on.
I made this portrait on a dress-up site!
It has my hair!
I even Photoshopped a little heads-up display on it!
[Blue] So killing orange just wasn't enough.
You dun rustled his wallet.
[Zack] I didn't rustle any wallets!
I have my own wallet... oh crap, I threw it over my shoulder in Admin.
[Red] Yeah right.
I've heard enough. I'm voting. [Voting chime]
[Green] Oh, it is ON! It's votin' time! [Voting chime]
[Purple] The plurality of relevant testimony, like, totally corroborates red's allegations.
[Voting chime]
[Another voting chime] [Blue] I'm with you, pardner.
[Zack] No, no, wait... Guys! I'm innocent! I was working for exposure!
[Voting-is-over chime] [Red] You're getting some exposure... to the cold vacuum of space.
[Blue] Got any last words, you backstabbin' squirtbag?
[Zack] Uh... thanks for watching, and I'll see you in the future!
AAAAAHHHHHhhhhhh