Behind the Scenes: Stack Design, Build and Test Process, Cold Hard Cash and the Day of

This is part 8 of a 10-part series.

Before I talk about the finale and make the video highlight reel, I want to tell a few stories about the planning, building, testing, and deploying of the stack. I wish I could tell you about all of the little experiences I had while doing so, but that would make an already long post even longer, so I’ll try to tell the most relevant pieces.

Stack Design

The stack design all began on the night before a fake stack sometime second term. We were out getting some delicious late night LA food after having finished our fake, and on the way there we confirmed that the three of us were working together. I proposed that our stack theme should be an original content time travel stack, and I think we all pretty much agreed at that point, since nobody had a strong opinion on something else they wanted. I had actually discussed how cool it would be to have a time travel-based stack with Matt a few years beforehand, so I was glad that the idea was getting implemented.

Then, we discussed how we wanted our stack to be flavored. Time travel could imply visiting historical events, or it could be a science fiction stack like ours. We chose the latter because we felt it would be more compelling to our target audience, as well as because it’d be kind of annoying to have to research historical events in addition to coming up with a good plot. Once we decided on a more sci-fi flavor, one of us (probably Matt) came up with the idea that it should be set at Caltech in the future. It seems like it might be a cheap cop-out, but I think it served to help the immersion without losing much.

Our remaining design challenges fell into two categories: plot and stack elements, the former being somewhat uncharted territory for us and people we knew. We spent months making regular trips to my room to have a “nice refreshing soda” (after our on-campus convenience store runs), where we sat in front of a Google doc that went from being a bullet-pointed list of things we needed to do to just a disorganized mind dump of stuff. Somehow this never really became a problem; I guess ctrl+f is a powerful thing.

I don’t remember much about how the plot developed. I think it sort of organically grew as the three of us contributed ideas. Matt is a pretty gifted story-maker, so his contribution was definitely quite valuable. Much of our time was spent debating details of our story and whether they were internally consistent.

For the stack elements, we had already developed some ideas for our bigger mainstays while we were underclassmen (definitely we came into the design process of the stack already having the preliminary ideas for what later became the mirror maze and the Space Alert puzzle). For the rest, we wanted to balance puzzles with activities (and, where possible, combine the two), as well as including at least one brute force element just for tradition’s sake. That’s how the minor puzzles came about: we just ran with some of our one-off ideas to balance out the stack and fill out the day. We did actually wind up having to cut one of the puzzles that we developed, which would have involved something to do with pinballs rolling around in multi-layered mazes that you controlled by tilting the entire structure.

The horrible mess of cables that threatened to take over my room entirely during the build process.

The horrible mess of cables that threatened to take over my room entirely during the build process.

When we actually got around to writing the detailed parts of our stack, including timings, we had to follow the advice given to everyone, which is that frosh are kind of dumb. A more charitable way to put that might be that it is difficult to gauge the difficulty of puzzles, even with play-testing by alums, when they’re developed in secret. The stack that I went on my frosh year created a slight workaround for this problem (I don’t know if they got it from anywhere). They made their puzzles a little bit on the hard side and included several envelopes with each puzzle with notes that said “open if still working at [time],” each of which offered successively more explicit hints, the last of which offered the answer to the puzzle. The reason they were made to be harder is that having a stack go too fast is pretty poor as well, as they need to be stalled with other puzzles (sometimes “best-of” puzzles from other stacks that are resettable) to fill out their day. We used this idea, albeit digitally, and it seemed to work out pretty well: our stack was actually almost exactly on time for at least half of the day.

Build and Test

A large part of building our stack was making sure that other people would be able to actually solve any of the puzzles, even if we did tweak the difficulty up. After all, much of engineering is about coming up with an idea and then iterating. Our progression was mostly to try it ourselves, then test it with each other, as much as possible, and finally test it with a group of alums. Sometimes a lot of changes happened during testing: the mirror maze got a few tweaks to difficulty and correctness with alum play-testing (I had a bug where holding down a button would cause the input to freeze for a while as the buffer cleared, so I put out instructions not to hold down buttons), the Skype puzzle developed from Matt’s original form to its final form over the course of a run-through or two with Jeff and me and later some other seniors, and the wire puzzle was completely redesigned when alum play-testing showed that its original form was kind of crap. It’s interesting to think back to this process, because it almost feels like we were doing UX design (certainly not something I’m good at), as we were testing how people would interface with our puzzles, and what was confusing or unsatisfying about the experience.

I felt like lord of the monitors when I still had the mirror maze controlling computer in my room.

I felt like lord of the monitors when I still had the mirror maze controlling computer in my room.

Of course, sometimes testing it had to sort of wait until the last moment. The only people around on campus who can test your puzzles are other seniors, and they’re often busy with their own stacks. The alums are very useful for this, but they only show up for the week before. That’s why much of the week before our stack was spent testing (thankfully we had the puzzles built in time). I would definitely advise any seniors reading this to build their stacks in time for alums to be able to run through it at least once. In addition to lack of QA manpower, many of our stack components were built in our rooms and couldn’t be moved on-site until the night before (since we didn’t have access to the spaces until then). Thus, we were forced to do some creative limited testing in our rooms. At least we were seniors, so we had the bigger rooms!

$$$$$

Ditch Day stacks are almost entirely self-funded, and ours was not cheap. Looking at our budget, it looks like we spent about $1900 total on the stack. The biggest expenditures were the $600-800 on the mirror maze (we spent $370 on mylar and about $185 for arcade buttons and controllers, though some of both were also used on the Space Alert Puzzle) and the ~$400 we spent on our shirts from CustomInk (for a total of 18 shirts: 12 for the stackers, 3 for us, and 3 for alums who helped a lot). As I’ve mentioned before, the tablet was only $55, which was awesome.

Some entries in our budget include “Ilya likes scotch” (Scotch Tape), “My(b|l)ar Part 2” (our second purchase of mylar — I think this was a reference to the Electric Six song “Gay bar Part Two” somehow), and “2800 feet of 32 gauge mag wire” (that one’s exactly what it sounds like). While dealing with the mylar, we often called it the “mylarium invectus domine”, mostly because we were sleep deprived and thought it sounded funny. The fact that the final code to the mirror maze was “MID715” was a callback to this that only we understood.

Fortunately for us, we managed to get a little bit of help with the money side of things. First of all, Blacker Hovse subsidized some of the cost of Ditch Day stacks, depending on how many spots were on the stack. The amount of the subsidy that my stack received was about $400. Furthermore, at the end of the year, the seniors hold a “garage sale”, in which they try to pawn their (sometimes useless) Ditch Day leftovers on the underclassmen. My stack managed to sell off about $420 worth of stuff this way. Thus, at the end of the day, we wound up spending about $1500 on the stack, which was “only” about $500 per person building the stack.

Overall, it is very much the case that more money does not make for a better stack and vice versa. We spent a lot of money because we were ambitious about the scale of our construction and at least partially because we were kind of lazy about shirts (which we’d still probably have to spend ~$150-200 on if we screened our own). However, other stacks in Blacker barely spent any money at all and received positive reviews. It really depends on your vision for the stack and what kind of flavor you want it to have. I’m grateful that my fellow stackers and I were willing and able to spend so much money!

Stories from the Day of

The day of Ditch Day started off pretty poorly for me, despite an awesome prior week. As I discussed before in part 3, a dumb issue with the Javascript for the app caused me to pull my first true all-nighter at Caltech, when earlier in the week we were speculating that we could actually get quite a bit of sleep that night (and if I remember correctly, my fellow stackers did get four hours or so). In fact, while I had gotten to bang on people’s doors to wake them up for every fake ditch day for which I was a senior, I had to miss doing so on the real day of for this reason.

Fortunately, I managed to get the issue solved before the seniors officially began Ditch Day by leaving for their undisclosed off-campus location (our off-campus alley, Munth), as being a senior on-campus during Ditch Day is fairly perilous. At Munth, I was running on adrenaline (and maybe a little caffeine) for the first while and helicoptering on the inputs that the people on our stack were giving us, as well as updates from alums who were watching our stack. However, after a little bit of time, I started crashing and wanted to take a nap. This was not very much in the cards for me, though, since I was apparently the only person on my stack who actually had alums’ phone numbers 😦

Our stack was quite perfectly timed in the morning. If I remember correctly, they were solving and arriving at puzzles within minutes of our schedule. This was, of course, helped a lot by our ‘clue envelopes’ and the fact that the people on the stack diligently used them when needed (which I don’t think was that often). At lunch, we were quite optimistic about our stack actually working out. There was one exception, which was the fact that our stack thought the mirror maze was broken for some reason when it wasn’t. I think it had to do with their accidentally muting one of the speakers. After lunch, Jeff and I cloak-and-daggered on-campus in the hopes that we could fix it so that our stack could do it at the end of the day (we found nothing broken, by the way). On the way back from that, we almost got duct taped to a tree by some underclassmen, but Jeff’s and my sprinting in flip-flops skills and the underclassmen’s apathy skills won the day.

The afternoon was a completely different story. It started off pretty uneventful, but we were soon getting reports that our stack was skipping elements (maybe the tying up of Kurt, maybe the wire puzzle sabotage, maybe something else?). I tried sending some messages over the tablet app to not skip things but it didn’t seem to be reaching them. More reports seemed to come in to confirm this news. A combination of confusion and sleep deprivation resulted in my getting very angry and frustrated, as I was worried that they were ignoring the plot, which was a pretty major component of the stack. I worried that this meant they would have hated the experience because of that. Other alums and seniors were trying to calm me down while I tried to take some deep breaths and see where the frosh wound up. It was overall a very stressful hour or so — it isn’t a fun feeling worrying that months of effort had gotten wasted.

In the end, it turned out that the frosh had just decided to split up to do the sabotage portion of the stack and completed it quite a bit sooner than expected, which was the cause of our faulty intelligence. Thus, it wasn’t the case that they missed fairly significant chunks of the plot. I calmed down quite a bit after hearing the corrected news, although apparently the news that I was very unhappy filtered through to the frosh when they decided to prank our rooms after getting done, so they skipped mine. I feel sort of bad for that.

When Ditch Day was over, we got to see the people who went on our stack and talk to them. That is when I found out that they had mostly positive things to say about the stack, which made me quite happy. I even had a junior tell me that it was the best stack he had been on. Thankfully, I got to end the day feeling that my stackmates and I had done a very good job, and we had a few days before our required clean-up to run our biggest puzzles for more people in the house!

Other Misc Stuff: Non-Newtonian Fluid, Kidnappings, T-Shirts and Time Machines

This is part 7 of a 10-part series.

This time, I’ll cover a couple more minor things that I couldn’t find a place to put.

Non-Newtonian Fluid Puzzle

The frosh were sent to Blacker Beach, where the AI informed them that it found 20 acrylic chips containing the next code in the mysterious goo they saw there. The acrylic chips were small circular pieces of acrylic that had a letter and a number laser cut into them (I think it was Brad who did the laser cutting).

The goo was a mix of corn starch and water (by the way, carrying several 50lb bags of corn starch is pretty fun). In case you didn’t know, the result of this mixture is an awesome fluid, called a Non-Newtonian fluid, whose viscosity is dependent on how quickly you try to move through it (technically “shear rate”). You can get up to some pretty crazy shenanigans with it. This property made it ideal for making the frosh search for small objects inside it (it’s especially fun for people who haven’t gotten a chance to play around with this sort of thing).

Since this was obviously a very messy process, we had to do the mixing the night before. We laid down a simple support structure, four 4x4s in a square with some plastic on top, and added a bunch of our two ingredients. Then we began stirring and added more of either substance until the overall compound was well-mixed and the consistency was what we wanted.

Late night mixing

Late night mixing. Also my wonderful Ditch Day beard.

It was as much fun to do the mixing as it is to play with it, since the mixing basically just involved playing with it. We also asked some alums to come by during the day and mix it a little bit, since the goo would have settled during the day.

Once the frosh found the code, the AI opened with, “Well shit, I suppose I should have expected it was going to be here. Who would have thought that a collaboration between Vector and the Caltech physics department would have labs in a physics building?” It then instructs them that they must go ahead and complete all the sabotages that happened to them, including kidnapping Kurt, before they move on to the Physics building to complete their final mission.

Kidnappings

For the consistency of the timeline, and “so that Kurt will reveal important exposition to past you,” as the AI put it, the frosh needed to go to an early part of the day: before they first found Kurt tied up, but after they gave the flash drive to him in the SAC. Once they found Kurt, they needed to make sure to steal the drive from Kurt as well as tying him up in the back room where they found him. As we said in our announcements, “there is no paradox, only self-consistency.” For this, Kurt needed to be standing around in Karman, acting unsuspecting. One hard part was that only a little bit later (in about half an hour), Kurt needed to be by the physics buildings to help the group do the final puzzle.

Enter enlisting more alum help (in this case, Aria). She had to come in right after the frosh kidnapped him to rescue him, in addition to being the one to first tie him up earlier, but hopefully not be seen by the frosh. We also made sure to warn both Aria and the frosh not to cut off Kurt’s circulation in their earnestness. Aria’s tasks with this fit into a larger master schedule that was in a Google Doc that we had and wound up generating a lot of e-mails and supporting documents sent to alum helpers.

From Kurt’s perspective, this was also potentially quite challenging. At 1:15pm (lab time), Kurt was acting surprised that the group was untying them since they had just tied him up. At about 2:45pm, he was standing around in a hallway and surprised that he was being kidnapped and tied up. At 3:30pm, he was again on their side and had to be helping them destroy the quantum super-computing core. We engineered it this way because we thought the stark contrast would stand out to the frosh and make the experience feel more authentic.

T-Shirts

I’m particularly proud of our T-Shirt design. Somewhere in the middle of putting together the stack, we began to think about our T-Shirts and our posters, so we began searching for cool illustrations of wormholes. We found two that we really enjoyed, and couldn’t decide which one we liked better, so we made one the T-Shirt design and one the poster design (with thanks to Darcy for designing the poster).

newshirtdesign

The t-Shirt front design

I actually spent a few hours learning how to use the pen tool in Photoshop so that I could draw that curve. Matt and Jeff watched me draw it and we all made sure that we were getting it just right. The idea was to visually depict the concept of traveling through a wormhole, as well as to depict a vector, since that was our stack’s and fictional company’s name.

We also spent a while trying to come up with the font to use, checking pretty much every font that I had on my system. We wanted something that was a good mix of professional and sci-fi-like. We wound up settling on the Starcraft font, whose name I don’t know: all of the fonts I can find online merely refer to it as the “Starcraft font”. It was a bit hard for us to make the choice, since it sounds very silly to use the Starcraft font, but we decided that it looked very good and most people wouldn’t notice the association.

Most people at Caltech use the on-campus silk-screening house to make their T-Shirts. Having done it once for one of my fake stacks, I decided “never again.” It’s pretty fun, but quite time-consuming and difficult to make look good. Furthermore, the design we picked wasn’t exactly the easiest to print, as you can probably tell if you’ve ever done silk screening before. Fortunately, we found Customink, which I can whole-heartedly recommend. They have designers who will re-draw your design so that it’ll actually work as a silk-screen (which usually involves mixing it down to 2 or 3 colors and making sure there aren’t any very small lines that’ll get ruined in the process). The only downside is that the shirts wind up being fairly pricy unless you get a very large number of them (I think we ordered about 20 and it was about $25 a shirt), but it was totally worth it.

The t-shirt back design

The t-shirt back design

Time Machines

I honestly don’t remember what I originally had in mind for this section when I was naming this post, so I’ll instead share a few vaguely related stories about planning the stack, ahead of the next post. Our original plan for making the group time travel was to have a location (or several) that they could go to that we could designate a “time machine”. Unfortunately, this proved unfeasible for a few reasons. First of all, it would create a lot of extra work. We envisioned something like a room that would be filled by a smoke generator, with strobe lights flashing, and a bunch of clocks on the walls that would suddenly start rotating quickly (or at least something equally sci-fi-like). We wound up settling on making a webpage that fulfilled the clock portion somewhat and putting it up on all the computers in UGCS. Second of all, the idea of making the group walk all the way back to the same or same few locations seemed somewhat tedious and un-fun. Finally, we already felt like we were running short on time with our stack, so we decided that we would just have the tablet “jump” them for certain events without their moving much, and have a “current time” and “lab time” display there. Perhaps it was a little bit less immersive, but definitely more doable!

Speaking of time planning, Matt did a lot of delicate planning for when each puzzle ought to start and end. Matt made the Google Doc with the master schedule I mentioned earlier, and it had all the puzzles and activities timed out to within 15-30 minutes, along with all the things that needed to happen at all of those times and what the “current time” was within the plot at each of those times. Our morning timings actually wound up being pretty spot on, although lunch would have provided a good sync point in case we weren’t. Our afternoon timings were a bit less correct (though fortunately not fatally), but I’ll talk about that in the next post. I’ll also discuss what we did to make sure the timings stayed more or less on, as well as some other planning and day of stories.

Misc Puzzles: Fan Puzzle, Skype Puzzle, and Wire Puzzle

This is part 6 of a 10-part series.

Last time, I covered the second of our two largest undertakings as far as puzzles on my stack. This time, I’ll cover three of our less complex puzzles.

But first, an update! I finally got a hold of a video of our dinner announcements from the night before Ditch Day, so I put that video up back on part 2. It contains my stack’s announcements plus a few more that I added just because I felt like they helped give a good example of what announcements are like in Blacker.

Fan Puzzle

The frosh learn that the access codes to various Vector time machines were changed without authorization and that Vector believes their stacking senior potentially left the codes in a puzzle that had to be abandoned. They proceeded to the North end of the old Y building and walked in to discover a well-lit area with three rooms, each of which contained a box fan. Each fan was numbered and had one side’s cover taken off. Otherwise, not much else was apparent about the fan.

But wait! One of the rooms had a strobe light in it and the lights off. Bringing the strobe light and the fan together allowed them to freeze the fan blades in place. They found that there were weird symbols on each of the fan blades. Somewhere else in the area (which contained about four rooms), there was a key which correlated color and shape to a letter, as well as a pictorial description of what order to read the blades in.

Best song to play when strobe lights are playing. Also, this blog post best read while listening to this song.

Since every good Ditch Day stack ought to have a brute force component, we hid two more strobe lights behind a closed and locked door and left a sledgehammer suggestively placed next to the door with a note that said “Note to self: Make sure to leave sledgehammers for brute force component” on the door. Since this was supposed to be part of the disappeared stacking Senior’s stack, this sort of fit into the theme of exploring the unfinished portions of a stack.

It was okay to destroy the door since the Old Y building was theoretically slated for demolition. There were two unfortunate realities of this part, though. First of all, they didn’t have to destroy the door because it just opened with a kick. Moreover, the additional strobe lights didn’t wind up being needed: we originally designed the puzzle with colored symbols on the fan blades and put colored filters on the strobe lights, hoping that only one color would be legible with each light. Sadly, all the symbols were visible with all the lights, so the puzzle wound up being a bit easier than expected.

One of the fans

One of the fans. Photo courtesy of Moya Chen.

The final password wound up being ‘941fjmbew3pgkd526isclzqyah7v8t’ . An advantage of using the tablet was that we could make the passwords random strings and prevent meta-gaming the answer (oh, we have “B_ckman”. The answer must be Beckman!) but the downside was that there wasn’t really any sort of error-checking built-in. During the course of the puzzle, the group read “iscl” as “i5cl” (partially because I hand-wrote the key, oops!) and we had to send them some real-time messages over the tablet to correct them. I think I had to actually make the messages make some noises in order to get them to notice.

I believe the idea for this puzzle was Jeff’s and I think we came up with it in the stage where we were trying to add some more minor puzzles to fill out both the plot and the number of activities. I would say this puzzle had one of the best effort-to-fun ratios on our stack. Here’s what the frosh captured:

Word of caution: Lots of strobe / flashy light footage. Don’t watch if that’ll make you sad.

Skype Puzzle

This one is one of my favorite parts of the stack. The frosh were sent to Beckman Institute to access confidential Vector files, which anyone in the Caltech community is allowed to view, but nobody is allowed to bring out of the building. Furthermore, the decryption process would take a while, so the two groups were ordered to split into two different rooms.

In designing this activity, I started with the idea that I wanted a puzzle that forced the stack into two groups in separate rooms connected by a Skype call. I went through a few ideas, including having two rooms each with five computers and having each member of the stack doing something on each of the interacting terminals (would have been really cool), or having some sort of big electronic display in both rooms that the frosh would have to interact with. This is  one of the few ideas I had that I was forced to mentally scale back, since it was getting pretty unrealistic and we were already taking on two major projects. The tricky part was coming up with a puzzle where the groups would have asymmetric information but couldn’t just easily relay the entire puzzle to one room and have that room solve it. I’m not convinced we 100% hit that goal, but it still turned out pretty well.

The fundamental idea for how the puzzle turned out came from Matt. His inspiration was from some subfield of Physics (can’t remember which) and dual latices. One group was given a circle with three annuli cut into wedges that had binary values in some of them. The other group was given a grid with binary values in some of the squares. The number of wedges in each annulus of the circle was equal to the number of vertices in the corresponding ring (out from the vertices surrounding the center square) of the grid. The frosh needed to figure out this correspondence, figure out that the value in a grid space was equal to the Z2 sum of the vertices surrounding it, communicate the values across the call (we told them no video — sending video over a temporal link is expensive!), and find the vertices that are unambiguously determined to get the clue.

Matt’s original idea involved two dual grids, but at some point during play-testing we decided to change one of them to rings. I think it was in order to hint more strongly at the correspondence.

One of the groups at work. Forgive the crappy quality -- I had to take a screenshot of the video. The green is what was provided, the rest was what the group drew.

One of the groups at work. Forgive the crappy quality — I had to take a screenshot of the video. The green is what was provided, the rest was what the group drew.

The puzzle was presented on a whiteboard with acrylic glass attached to the front. The unchanging parts of the puzzle were on the whiteboard itself, and the glass prevented erasing of those parts. The glass allowed them to write guesses and other information on top without screwing with the puzzle itself. We decided to do it this way mostly because it looked nicer than just using a whiteboard and permanent markers and partly because we had the time to do so!

One of the nice parts of having the puzzle occur over Skype is that we got to listen in from our undisclosed off-campus location. It was pretty amusing (and frustrating!) to listen to them work through the puzzle. My favorite part was when they began just reading off portions of the puzzle and it sounded like some weird code, as they were just reading off 0s and 1s!

Afterwards, they got access to a flash drive and some string and told to get it out of the building. However, they couldn’t take it through the front door, as there were guards blocking the way to the front entrance (thanks Kevin and Isaac for doing an amazing job — even asking to check the group’s student IDs). Thus, they had to get to the roof and smuggle it down to the ground somehow.

Of course, the obligatory video:

It took them a while to solve it but the video was already getting long, so I cut out the boring middle part 😛

For this puzzle, I want to give a shout-out to the person in charge of allowing people to use rooms in BI. He gave us full access to the room starting the night before, including giving us keys to the room for no other reason than that we wanted it for a stack. Yet another example of the honor code at work!

Wire Puzzle

The frosh, having recently completed their hand-off of the valuable flash drive that they smuggled out of Beckman to a Vector agent (Kurt), are told that they must proceed to SAC 15 to make their next jump in time. However, when they enter the room, they find that the “high conductance nylon” (translation: string, because we were a bit too budget constrained to use real wire for this puzzle) wiring in the location has been sabotaged! They had to re-wire the room before they could make their next jump.

To be honest, this one puzzle is the reason I’ve been putting off this post for so long. I think the initial form of this puzzle was Jeff’s idea and was executed by him, and the final form of the puzzle was created by Suzanne (Jeff’s girlfriend / Blacker alum) after some play-testing. The general idea was to have a puzzle that was difficult to do because completing it involved creating obstacles for yourself around the room.

[ I’ve asked Jeff and/or Suzanne to help me out by writing out a short blurb on this puzzle, but they’re both pretty busy and I already feel bad for bugging them as much as I have, so I promise to update this post when they get back to me. Hopefully that should be by next week! ]

The video didn’t really demonstrate too much of the puzzle — I’ll leave it for the big compilation at the end!

Next Time

Next time, which should hopefully be sooner than five months from now (given my goal of completing this series before the next Ditch Day, which is Tomorrow of course), I’ll discuss some more of the smaller components of our stack, including starting into some of our logistical issues. I’ll also have some fun trying to decipher what I meant when I originally wrote the title for that post.