|« Previous Article||Home||Next Article »|
After escaping the rising flood when I visited KG, I finally touch back down in the frozen tundra of Wisconsin. I get back to my frozen little hovel and get nice and snuggled under my blanket, only to get another call on Skype from the mysterious voice.
"You're needed in Minnesota. You'll be taking the bus tomorrow."
"But.. but I just got back."
"We're doing monthly editions now, tough luck."
Tough luck indeed. I get my ticket for the bus and arrive in the snow-frosted Twin Cities. As I scour the city, I arrive at a peculiar manor with an unusual amount of electrical wires running in and out of it. I take a look at the address and realize this is where I'm supposed to be. I press the ringer only to be met with an electrical surge.
"Ahhhh, what the f-"
"Sorry about that, stranger. I have a thing for practical jokes."
The voice from the other end lets me in the giant oak front doors and I'm met with an amazing sight. All through the foyer are electrical wires running to and fro, and weird distortion mirrors run along each wall. I'm politely greeted by a butler who takes me to a large room that looks like a theater and takes me up onto the stage. I'm introduced to the man in a cloak and a wizard hat in the middle of the stage, who offers me a chair. I take it and begin the interview.
Let's begin the interview with who you are, where do you live, what do you do, what do you aspire to be?
I am Zarel. My real name is Guangcong Luo, which I really don't keep secret, but every once in a while someone VMs me and is like "HELLO GUANGCONG TEEHEEHEEHEE." Hence my current forum signature.
lol, so what made you pick the name Zarel?
The name Zarel is actually a word from my conlang; it means "shadow" and it comes from that period of my life when I was a teenager and thought that dark was cool. I've used it all over the place, so I keep it because people recognize that name. It's too short, though. Services like Gmail are always like "Zarel is taken" or "Zarel is too short."
As I look around the stage and at my interviewee, the name really makes sense. I can barely see his face under the hat, and the theater is unusually dark for how much electricity is being pumped into the house.
I live in Minneapolis, Minnesota, currently attending the University of Minnesota Twin Cities.
So, what are you studying at U of M?
I'm doing math and computer science, as a double major.
As for what I do, I do magic. That's how I like to think about programming. Doing magic.
Ahhhh, now it all comes together. It also explains the creature trying to crawl its way out from underneath Zarel's hat...
Hahaha, that's awesome!
As he says this, Marty appears out of thin air and offers me a glass of wine. I decline the offer out of sheer surprise, and he presses the button on his cuff and vanishes just as quickly as he appeared.
In real life I'm sorta boring, but in a computer it really does feel like I have magical powers, and I rather like it that way.
Is a programmer what you aspire to be one day?
I aspire to be... well, I clearly aspire to be a wizard. But more practically, I aspire to be an awesome developer making awesome things and making people happy using my software.
Ah, a good aspiration. ^.^
Suddenly an alarm sounds and a giant screen drops down from the ceiling. Zarel whips out a staff and waves it at the screen. Just as suddenly the alarm turns off and the screen ascends back up to the ceiling.
I remember the day that you posted the PO Replay Player on the forums. Tell me, what was your thought process behind creating it, and why did you come to Smogon?
I'd known about Smogon as the center place of the competitive Pokémon community for a long time. I used to love reading the analyses even though I was too afraid to actually play Pokémon.
I'd spent the early years of college being involved with an open-source project called Warzone 2100. It was a lot of fun, but in the end I was kicked out for philosophical disagreements with the other developers. In particular, I made a big deal about user experience regressions, and some of the other developers didn't like that. I was an admin and one day, a developer demoted me to moderator without warning, and I took it as my cue to leave. So suddenly, I had a lot of free time and a desire to work on a new programming project, and hopefully show those other guys.
A huge dart flies across the stage and stabs a photo of a couple of nerdy looking guys as he says this.
I had played PO a bit, and my biggest frustration with it was that it didn't have replays. After the battle was over, you couldn't watch a battle—you had to read a log. Which isn't that big of a deal, but it's a lot harder to show other people. You say "I just had an AWESOME BATTLE" and you want to say "COME WATCH IT" instead of "COME READ THIS WALL OF TEXT THAT DESCRIBES EVERYTHING THAT HAPPENED ONE LINE AT A TIME". I also have this thing, whenever I use software, to think "I could do better." So I already had a vision in my head of exactly what I wanted the PO battle window to look like, and how to make it look like that.
So, yeah. When I use software, I'm constantly thinking about what I would do differently and how I would do it. And at a certain point, I just realized I'd already planned out how to make an entire replay player, start-to-finish, and it would take around two weeks. At that point, it was just like, why not?
It was near the end of summer vacation, and I was pretty sure I could get it mostly working before school started, so I started. The replay player did take around two weeks, actually. My initial estimate wasn't wrong at all.
It is here that I also notice a peculiar calendar that seems to have predicted events of the future lined up on the dates ahead. One of the dates says something about the "actual Mayan end of the universe" but it disappears before I can make out which date exactly.
I posted to Smogon and the PO forums about a week in. I had all the basics done and I needed more users, and more replays, so I could see what was still left to do.
The community reaction was about what I was expecting, to be honest. Call me a narcissist, but I was totally expecting something along the lines of "OH MY GOD THIS IS AMAZING", because after using PO and wishing it had a replay player, I would have that exact reaction if someone else made one.
A memory of me screaming the exact same words enters my mind...
When you're a programmer, sometimes it's difficult to know what to make. Projects flop (and get no users) far more often than they're successful. So, I was really lucky to find a situation where I knew before I started writing something that users would like it and appreciate it.
So yeah, what made me come to Smogon? It's the largest competitive Pokémon community. There was nowhere else I could go with my replay player. The replay player thread on the PO forums was a lot less active. Someone submitted it to Reddit and there wasn't much interest at all.
Not that I don't love you guys. You guys are awesome. :3
A special shout-out to macle, Seven Deadly Sins, and jumpluff, all of whom said "I want you to have my babies!" as a result of my replay player.
A flash of an image of macle and SDS pregnant enters my mind, and I just can't help thinking how messed up those poor babies would be.
When did you decide that you wanted to create an online simulator? What did you want to do differently than PO?
A sim was the logical next step. As usual, I had already done a ton of planning for what I would do if I were to make my own version of PO, but I knew that would be a lot more work than a replay player. I mean, I did have plans from the beginning; I plan a lot of stuff whether or not I actually go ahead and code something, but I never really seriously considered it.
A lot of it was community reaction. I got invited to Smogon's Inside Scoop, and a lot of people there talked about things they didn't like about PO, and I kept on thinking, "I could do that." I also had my own experiences with PO. It's not anywhere near as moddable. It didn't let you rejoin disconnected battles. It force-closed the battle window on you if the other player closed it. Its battles weren't animated, and I already had an excellent battle animation engine in the replay viewer.
I knew that if I started on a sim, it would no longer be a two week project to make something a lot of people would appreciate. It would put me in for the long haul. But at the same time, it would be fun, it would be a great learning experience (I hadn't done anything that big from scratch before), and it was obvious from everyone I talked to that people wanted it. And it was great having Smogon along for the ride.
It has been a fun one.
I mean, I cannot emphasize this enough. I wrote a little "battle against your rival" mini-game with my replay viewer. It was just your Charmander against Blue's Squirtle. And everyone in the IS thread was talking about how amazing it was. It's really encouraging to have an entire community excited about what you're doing, and celebrating minor victories with you.
Around a week into writing PS, I had random battles mostly set up. Damaging moves were the only things that worked. There were no items, there were no statuses or boosting moves or draining moves, but I showed people and they loved it. It was really nice to go to "aesoft's sim" (it didn't have a name yet) and most of the time there were people playing on it. That really encouraged me to go on.
I can say I was there a lot myself.
And every few days I would be like "Hey, I got boosting moves working!" and everyone would be like "AWESOME" and a few days later I'd be like "Explosion now actually KOes yourself!" and everyone would be like "Aww no more Explosion sweepi- I mean AWESOME!" It actually only took a month or two to get PS mostly done. Everything since then has been bugfixing, improving things, adding features... And scaling it up. Oh, god, scaling it up was the hardest part.
Making a program is one thing. Especially with so much community involvement. Every step of the way you make something new and everyone's like "yay!" But with scaling a program, that's just "We have too many users! Stuff is breaking!" and suddenly it's not "make new stuff, it'll make people happy", it's "we're getting too much traffic, stuff is breaking, I have to optimize a bunch of code or else people will stop being able to play like they used to." It's a lot of negative pressure instead of positive pressure, I guess.
Fortunately, that's mostly over with for now, so it's back to working on features. I'm working on doubles nowadays, and it feels like old times. "I got to turn 1 without crashing" and everyone celebrates. A few days later, "I got to turn 2 without crashing" and everyone celebrates. Anyway, yeah, that's the where we are now, pretty much.
OK, switching topics a bit. What is your favorite aspect of the PS community?
Man, that's a difficult question. Back when PS had around 200 users, I was involved with the community a lot more. These days, lobby chat is overwhelming, and while every once in a while it's still really fun to talk on it, it doesn't feel nearly so close-knit. I still pride myself on acting approachable, and being at least a bit wacky. Like, an old tradition was, right before a server restart, I would promote the user Aquaaa to admin, and let him do whatever he wanted since it would all get reset after the server restart anyway. We called it "Aquaaaocracy" and it was hilarious. He would set modchat to weird levels and promote and demote like crazy.
More recently, we had POKEMON SHOWDOWN THEATRE. On IRC, Birkal and Hugendugen were joking about how they would get married if Hugendugen got promoted to admin. So, on PS, I turned on modchat, promoted Hugendugen, and let them talk to each other like they were on a soap opera. There's a screenshot of the ending, here.
Somehow, I wouldn't be surprised if the marriage happened for real.
My sense of humor sorta permeates PS. When PS is down, the error message is "PS is down. Bear with us as we freak out." I think that sort of thing can help put the community at ease; help them realize that we admins do stupid stuff, too. :P
Speaking of wacky, explain your relationship with user bmelts.
A faint "help!" is heard somewhere in the distance, but I figure it's probably just something else in Zarel's crazy manor.
bmelts is the other PS programmer. He joined in midway through the development process, and has been a big help, especially with doing things I'm too lazy to do. A ton of people have been helpful during the PS development process, contributing many things. TheImmortal and Marty D wrote a lot of item/move/ability mechanics, in particular. And Rising_Dusk and Showdown Jasmine were instrumental in providing community leadership so I could focus on the programming aspect. But bmelts was the only other programmer who really got involved in the project, and learned the entire thing inside-out nearly as well as I did.
In particular, he helped figure out some optimizations to make sure PS didn't crash when usership spiked from the usual 80 users to 1000 users in one day because we were featured on Reddit. And he helps tremendously with some other boring backend things like setting up servers. Lately, he's been working on upgrading PS to use the exact same RNG used on cartridge.
We're also really compatible as friends. While brainstorming for April Fools' 2012, we discovered we had the exact same taste in jokes, which really helped. If I had to pick one person to work together with on a programming project, there's honestly no one else I'd rather work with than him.
I let out a vocal d'awwwww here; thankfully Zarel doesn't seem to notice.
So yeah, that's bmelts. These days, he doesn't have much time for PS, since he has a job and all that. :( I miss him a bit.
OK, I actually think we covered nearly everything, so we'll end this with: what's your favorite Pokémon?
Well, the generic answer here is Meloetta. She's PS's mascot and its theme is pretty obviously Meloetta. But, in all seriousness, I'd have a hard time deciding. Competitively, it's Ludicolo, who has won me quite a few games in DPP OU as a rain sweeper. I've always been an indecisive person. Back in RBY, I would still have been like "Articuno! No, Lapras! No, Butterfree! No, Charizard!"
I can remember being the same way, though Onix was somehow always inexplicably at the top of my list even as a little kid...
But Meloetta is pretty representative of PS. She has a Pirouette forme, which is Fighting, which represents PS's battle aspect, and an Aria forme, which is sometimes called Voice forme, which represents PS's social aspect. That's how I decided on Meloetta as PS's mascot, because of how well that fit. Also, I like how she looks, and the concept of switching back and forth between formes with a move is pretty interesting.
Sounds good, and a cute mon. :3 Thanks for your time, Zarel; it was a pleasure.
Zarel again breaks out his staff and I find myself back in my apartment. Almost like magic the heat kicks on FOR ONCE, and I'm finally able to get cozy under my blanket and go to bed.
|« Previous Article||Home||Next Article »|