Dev Diaries #18 - A Tale of East Meets PAX West
September 15th 2022 2:16pm — Fred Toms, Symbiosis Games Inc - President, Co-Founder, Programmer, etc. - @Tommy2Doors
SPECTRE’s PAX West 2022 Experience:
Shortly after Symbiosis Games received an investment from Mike Knoop and subsequently had SPECTRE’s development funded, Jordan and I decided to set ourselves a hard deadline – the kind of deadline that we definitely couldn’t ignore. We did this very much on purpose. You see, we’ve previously attempted to assign ourselves internal deadlines in order to get things done but without any outside force cracking a whip and hurling expletives at us, it has always been far too easy to let such things pass by. It’s difficult to muster the discipline to police yourself - we’ve since learned. I recently had a conversation with a very successful high level executive who’s company does large events with its employees regularly to force deadlines to be met - otherwise a whole lot less would get done! So we must be onto something.
With a renewed sense of purpose, and a strong urge to impress our investor, we decided that we would be showcasing SPECTRE at PAX West 2022 – a mere two months after receiving our investment. This decision was, ultimately, the correct decision but it wasn’t without significant costs - all of which I’ll happily detail for you here. I’ll forewarn you – this was not a smooth journey, but it ended up being the best experience Symbiosis Games has had to date.
I’ll rewind back to the day before we flew to PAX:
I spent the entire day bug crushing, adding small features to SPECTRE. I ensured that our gadgets complied with our bad ass lore, I smoothed out various smaller issues – nothing too crazy, right? The vast majority of the day was spent in visual studio typing like a madman.
I felt good, confident.
I revised the functionality behind our game-timer-clock that would check in with the server every 5 seconds to ensure that all connected clients were operating with an accurate, server-authenticated clock. I felt it was an important aspect to include in our PAX build. Afterall, what was the point of a 2v2 match that lasted, potentially, forever? There would be no urgency! Dammit, SPECTRE needs urgency! Prior to this point, the clock was simply cosmetic. The client times didn’t all match up. It was a hot mess. Sure, the clocks would count down, but none of that countdown actually meant anything. The clock also ran independently on each client, never checking in with the server to ensure it was keeping accurate time. So, it was useless.
A tinge of personal excitement was clearly present – I was armed with the knowledge that Jordan was heading to my house via train so that we could both fly out to Seattle together. However, by the time he was knocking at my door, I had identified a crippling bug: when the timer-clock ran out, the game would hard crash. Every. Single. Time. No matter what – and I didn’t know why. Not only that, but if I disconnected the clock, when people switched teams, the game would also crash. Every. Single. Time.
It was working yesterday, but not today! What the heck?
"No worries," I thought, "we could just revert back to an older version if the worst case scenario were to happen."
The worst case scenario I would describe as the following: it’s time to go to PAX and the bug isn’t fixed yet. That would be a bad time.
We spent the evening doing some play-testing while I investigated the bug. Before I knew it, it was 5am and the bug had not yet been fixed. It was now time to fly out to Seattle, and the build simply was not ready to be experienced. We were approaching the worst case scenario I described above. Stubbornly, I wasn’t ready to show a game that didn’t have a working time clock. The switch-teams crashing bug? Also a huge, huge issue (obviously).
We had a broken game and PAX was breathing down our necks. Not only that, but we had rented our computer equipment and shipped it to Seattle - I wouldn’t be taking any computer in my possession capable of programming or completing any development.
Oh crap indeed.
Thoughts of a sad, empty SPECTRE booth swirled around in my head. What would the community think? What would Mike think? I felt like I was going to throw up.
We arrived at Toronto Pearson airport with only maybe an hour-or-so of sleep. We were exhausted to say the least, but our spirits were high (foolishly?) as we attempted to check in for our flight.
The first problem of many reared its ugly head: Jordan’s plane ticket was scheduled for the next day - not the day we had arrived. My ticket was accurate, somehow. I booked the tickets at the same time with the same information so how this could have happened is beyond me. I confirmed our tickets with Expedia (the site where we booked) and triple checked all the other paperwork in my possession. Somewhere, somebody had screwed up and it wasn’t us. Nearly an hour spent at the check-in booth, they squeezed Jordan onto our flight so that he wouldn’t have to fly solo twenty four hours later. Selfishly, I felt a lot better knowing I’d have him by my side as we entered the belly of the beast.
We were relieved to board our flight bound for Seattle-Tacoma. Just as the aircraft was taking off, exhaustion took over and I passed out for almost two hours before waking up and realizing that we hadn’t taken off yet. Our hot and stuffy plane, packed to the gills, was delayed for reasons unknown on the tarmac for nearly two hours. People onboard were not happy. I was thankful I had slept through what seemed to be the worst of it. I passed out again and when I awoke we were mid-air and halfway through the five-hour flight.
I was woken to a man screaming at the top of his lungs, for a couple seconds every few minutes. It mostly sounded like intoxicated gibberish. Then this same person, a male in his early 40’s, began swearing at people – except now his pronunciation was crystal clear. He replaced nonsensical gibberish with aggressive random expletives directed at anybody and everybody on board. I peered behind me and saw him - he looked disheveled, sweating profusely, was writhing in his seat, laying on his back, wide-eyed and kicking his legs in the air like a maniac. The people who were sitting beside him had taken refuge in the aisle and were desperately trying to alert a flight attendant. Then he lit a cigarette. Unless you’re from times well bygone, smoking on a plane is a huge no-no. If people do it, they’re usually bold enough to attempt it in the privacy of an onboard washroom.
Not this guy.
He was lighting up what we would eventually label an “air dart” right out in the open and hauling on it like we were in the 1950’s. It sent people into a panic, and the flight attendants responded by subduing him with white plastic flexi-cuffs, best described as temporary plastic handcuffs. I would’ve imagined an Air Marshal jumping into action here, waving a gun around and announcing his presence in some loud and bad ass fashion, but that didn’t happen. During this process, the intoxicated guy started punching people, kicking the interior of the plane, punching at the glass. People got really scared and upset. I was more annoyed by the fact that this guy’s behaviour would likely cause us to have to emergency land at an airport enroute, curtailing our ability to get to Seattle and figure out what the heck we were going to do about our broken game.
We didn’t have to emergency land – very surprisingly, and the handcuffed man continued yelling at people, demanding to know why he was in handcuffs (assault, smoking on a plane, choose one sir). He appeared more ‘sober’ but certainly a lot more annoyed. Like a caged, mad dog. After landing, we waited for Seattle police to attend and arrest the dude before we could finally get off our flight. Only about three hours late!
We caught an Uber to our hotel (Motif) and were immediately blown away by the Seattle skyline. It was beautiful and it was so different from home. It was too dark and cloudy for me to see any mountains (a personal priority for this trip!), but we really enjoyed how Seattle looked on the way in.
On the way in.
As we proceeded to the downtown area, our perception shifted sharply. Arriving in Seattle from the airport allowed for some amazing views, but the views downtown included large groups of, what appeared to be, people openly using intravenous drugs, people experiencing extreme homelessness and an air of general disorder and lawlessness. The streets were strewn with garbage, human bodies laid out on the sidewalk asleep, and random trash on the ground that often included used needles. It was a stark contrast to what we saw as we arrived, and was certainly a huge change from what we have grown accustomed to seeing in Toronto. Different from home, for sure.
Staff at the hotel advised that the situation in Seattle was grim: there were no open pubs nearby (it was 12am midnight by this point and we were hungry / thirsty), and that it would be quite dangerous for us to roam the streets at this hour of the night. Despite all wisdom, fast forward to five minutes later and Jordan and I are roaming the streets. We did our best to cross the street to avoid the larger groups of people that looked like they might get a little handsy. We got called out a couple of times but we didn’t make eye contact and didn’t stop for even a moment.
“We are Ubering back”, Jordan exclaimed.
We eventually found a bar that remained squarely open until 2 am (Blarney Stone Pub). A huge man, with an equally huge cigar, was sitting outside of the bar with a microphone in hand deftly rapping at a very high volume to nobody in particular. It was enchanting in really weird way. We went inside and found a very cool pub, full of friendly people. After a couple drinks, it was time to retire back to our hotel and we decided to foot it back. The consumed drinks provided us the liquid courage we needed to avoid Ubering back to our hotel like sensible people.
We made it back without any hitches and woke up to work on our disastrous build of SPECTRE. The following two days we worked on our broken game, pausing only for food and to make arrangements for our PAX appearance. We scarfed down some amazing lobster rolls that we both misread the menu and thought we were paying around twenty dollars for, but it ended up being close to eighty. Whoops.
Another problem made itself known the day before PAX: we had rented 5 computers to demo SPECTRE with (4 for 2v2, and an extra computer just in case, and also to play some music and/or our trailers on repeat). We had received three laptops, but two had been delayed in shipping. It was unknown when they’d be arriving, but one thing was for sure - it wouldn’t be until after PAX started. Our plans for hosting a 2v2 experience for SPECTRE was looking impossible. We jumped into action however and moments before the local BestBuy closed, an Uber dropped us off and we managed to snatch up their one-and-only high-end gaming laptop. Fortunately, we had the budget to shoulder the multi-thousand dollar expense, and at least we’d be able to show off our game the way it was meant to be played. We managed to connect to my home-office computer remotely using some nifty software; it allowed me to work as if I was at home, able to build/package the game and make it available online. Work on the game continued until approximately 5am the day of PAX.
Yes, the Friday, the day of PAX, five hours before the event started – that is when we finally had a workable (mostly) version of SPECTRE ready to exhibit. We got a couple hours of sleep before heading out a little early in order to set up our booth.
Our booth was 10’ by 10’, complete with two SPECTRE retractable banners, a carpet, a desk and 4 laptops. It was the cheapest booth money could buy. We exhibited the game the best way we knew how – we had a TON of fun showing people the fruits of our labour and I would describe that the vast majority of the feedback we received was very favourable. We experienced a few hard crashes that we had never seen before – likely the result of several late changes applied in a maddening hurry to prepare for PAX – but largely the exhibition of SPECTRE went very well! People had FUN. Mike Knoop paid us a visit on the second day of show and helped us run the booth – which was a huge help, as we barely had time for bathroom breaks because the show was so busy. Explaining the basic mechanics and controls time and time again was challenging, but Jordan and I eventually hit our stride and we were able to consistently show SPECTRE in its best light routinely to PAX show goers.
Perhaps the biggest source of pride from the show were people who stopped by our booth multiple times to play more SPECTRE – ‘just one more round!’. It felt awesome that a game that WE had made was being enjoyed by total strangers. And the best part? Some of these people are no longer strangers – they’re actually active members of this Discord now and have positioned themselves well to participate in the beta!
FUNNY / ANNOYING BUGS DISCOVERED DURING PAX:
When the Reaper gets shocked, his camera shakes/vibrates during the shock. A bug was discovered where the player’s camera would never stop shaking until he either got shocked again or respanwed. Any time this bug appeared, we’d try to convince Spectres to head back and give the Reaper a mercy shock to stop the gut wrenching camera shake from persisting. This bug is now fixed.
People demonstrated considerable difficulty using the elevator. People would stop at the threshold of the doors and be gobbled when they closed on a very regular basis. Sometimes people got stuck in the elevator and the doors would never re-open. Both of these issues are now corrected.
If you died while you had the Controls Menu open? It would lock you out of controlling your character until the software restarted. That’s fun! A complicated game like SPECTRE had people checking the controls on a regular basis and causing this bug to happen routinely. We are obviously to blame, but – we know the controls, so we never had reason to open the controls menu and subsequently discover this bug! Bug is now fixed.
The Spectre’s cloak audio would play for everybody, no matter how far away they were. Whoops. Bug is fixed.
Sometimes the Spectre would remain in the neck-grab animation and would slide around the map without moving his feet. We’re still investigating the cause and I think I know what the issue is. It’ll be a dead bug before Steam, I’m sure.
Reapers would get stuck and be forced to re-spawn if they fell between the crashed air liner and a ladder that provided a bridge into the destroyed plane. Whoops. Bug is fixed.
Reapers couldn’t find their way out of the room they spawn in despite a door and an elevator being present. I don’t think we did enough to highlight these things and this has now been corrected.
Several issues relating to hard-crashes have been resolved.
By the time we were on the plane getting back home, we were absolutely exhausted. Our bodies and minds were beyond tired; despite all of that, I’ll never forget the incredible views from the plane on the way home. Never before had I seen a mountain, and there I was peering over the seemingly endless rows of Rocky Mountains. It was absolutely incredible and was an amazing way to end our journey. To this day, about a week later, I still haven’t recovered from our PAX experience. I’m still exhausted and run down. But I wouldn’t trade it for the world.
We’ll see you during the Steam Next Fest!