Summer Games Done Quick 2017 Viewing Guide

My summer vacation has started, which usually means it’s almost time for Summer Games Done Quick. GDQ is a twice-annual speedrunning marathon, and each one lasts for a week. The summer one tends to be my favorite; the runs can be a bit more laid back and the charity is preferable to the one they use for the winter marathon.

You can find the channel for GDQ on Twitch any time you want to watch. The full event schedule is posted here, and there are some things you should know about it:

  • The schedule can and will change throughout the event, so if there is a game you are really interested in watching, you should check the schedule the same day of that game and also a bit before it’s supposed to come on the air. Runs are unpredictable, so there’s natural fluidity to the time slots.
  • For different types of games, there are different run categories. Pay attention to things like:
    • 100% or any%, the two most frequent run completion types – one involves collecting or doing everything a game has to offer; the other is just getting to the end of the game as fast as possible.
    • Restrictions like glitchless, 2 players 1 controller, co-op, and the like. This will give you more information regarding the general atmosphere of the run.
  • Runs have an estimated time to completion, which will give you the approximate time you’ll need to watch the run.

Keep in mind when watching these speedruns that many of them will involve the players going through the game in ways you haven’t in the past. If a run doesn’t call for glitchless or other restrictions, you’re likely to see things done to intentionally break the game and skip large amounts of the actual intended gameplay. This takes some getting used to and can look really weird the first time you watch a run for a favorite game.

That said, if you just relax and watch some people play games while using quite frankly amazing execution, muscle memory, and crazy amounts of practice, you can have a pretty good time. I suggest you find games you have played and liked on the schedule and trying to watch those to get started.

If you aren’t sure, here are some runs I think are likely to be great this week:

  • Sunday
    • Luigi’s Mansion any%, no OOB (out-of-bounds). The restriction means the runner can’t break the constraints of the levels to get places the game didn’t intend, so this requires going through a decent amount of the game, and is estimated at around an hour.
    • Metroid Prime 100%. Some people really find these runs interesting because there is good execution necessary, but I frankly find them boring because large amounts of the run take place out-of-bounds. If you want to see a game get broken, watch this.
    • Castlevania: Symphony of the Night, any% glitchless. One of the all-time great games, played to full extent, in 36 minutes. Should be fantastic.
  • Monday
    • Super Monkey Ball Deluxe, Ultimate. Watch people wreck this game with what is essentially playing angles very carefully. Looks reckless, is actually super-controlled.
    • Mirror’s Edge, any% glitchless. A game that was designed with multiple paths in mind. Speedrunners have no doubt found all the super-fast ones, and the execution necessary for this should be impressive.
  • Tuesday
    • I Am Bread, any%. I say this because I tried playing this game and found it inscrutable and impossible, and this runner is going to beat it in 15 minutes and make me feel really old in the process.
    • Pokemon Puzzle League, 1P Stadium, Super Hard. Puzzle game execution at this high a level is always impressive.
    • FPS Block of games, starting with Half-Life. Every game here should show super-impressive play, even with glitches.
  • Wednesday
    • Ninja Gaiden 3, any%. Watch this and then remember how hard these games are and hate yourself immediately.
    • Marble Madness, any%. See above.
    • Castlevania: Rondo of Blood, Richter any%. The finest 2D Castlevania pre-Symphony, done in 25 minutes. It’s likely you aren’t familiar with this entry in the series (it was on Turbo CD), so you should give it a peek.
    • Mega Man X2, any% race. Four runners play side-by-side, trying to finish first in a live situation. X2 has a super-optimized run that is really impressive to watch and easy to grasp.
  • Thursday
    • Shadow of the Colossus, NTA. I personally don’t think this game is as awesome as a lot of people do, but the run should be impressive.
    • Portal, inbounds. Should be one of the more amazing-looking runs of the whole event.
    • Chrono Trigger, any%, no wrong warp. Puwexil is one of the best RPG runners to watch. His commentary during the run (and the “couch commentary” helping him along) will be great and will explain exactly what’s going on as he does the run. CT is also a great run.
    • Tetris: The Grand Master block. You should watch this because I won’t; once you have seen these runs once, you have seen them all, but this is Tetris at a level that’s more instinct than reaction. TGM is way harder than any Tetris you have played (they will play on arcade hardware).
    • The Legend of Zelda: A Link to the Past, all dungeons, swordless. I don’t even know how you would do this, so I’m going to be watching this one with fascination.
  • Friday
    • Super Mario Series Warpless Relay Race. Great games, done head-to-head, and with relay handoffs to boot.
    • Metroid Block. Always one of the highlights of any GDQ. Usually tight races, high execution, sequence breaking in a lot of cases.
  • Saturday
    • Dark Souls 3, All Bosses. Watch someone rip through this game with way less health than you would ever try to play with and weird items you didn’t think about using.
    • Super Mario 64, 120 star. Every star. Every level. A game that requires crazy-cool execution and looks rad when people pull it off.
    • Earthbound any%, glitchless. An RPG to send the marathon into the sunset, and a run that even today is still being rerouted and changing to be more efficient.

There’s plenty more I could have put in here, but these are the things I’d suggest to anyone who asked me about GDQ and what they should peek in on.

I hope you watch and have some fun doing so. Please consider donating to the event!

New Laptop Time!

I’m fortunate to work at a great company that refreshes our laptops with new tech every couple of years, and today was MacBook Christmas for me: my new Touch Bar MacBook Pro showed up.

Whenever I do a laptop refresh, I choose to install everything new instead of using a system transfer, specifically so I can reevaluate what apps I use, whether there are other options available, and find new things in those apps’ settings that I might not have seen before.

As part of this process, I’m going to do a series of blog posts showcasing the apps I use on a regular basis and explaining why I choose to use them and how they fit into my personal workflows.

Once I have them going, I’ll post a link to the archives here, but if you’d like to know when I post them, feel free to follow my blog. :)

“How Do I Get a Job at Automattic?”

I get about a half-dozen emails a year via my contact form asking me this question or asking related questions, like how to craft a resume, or what it’s like to work at Automattic. I thought I’d jot something down so I can just send a link the next time this happens, as my advice hasn’t changed much over time. :)

I’ve been here for seven years as of this writing, so I thought I’d share what I tell people who ask me this question (in a slightly expanded format). I’m not involved in hiring. This is not “official” advice of any kind. It’s just what I say to people, made public and repeatable.

First things first:

I love working at Automattic. You might not.

I will extol the virtues of my job whenever you ask me about it. It’s the best place I’ve worked, and I have found it to be very rewarding.

Not everyone will feel this way. The amount of freedom we have to get or not get our jobs done is unlike anything else out there. It can be very isolating and lonely to not see your team in person more than two to three times per year. I think even those of us who have embraced what we do struggle with this from time to time, and for some it can be significant.

But if you are willing to engage without having to be asked to do so, love working with people who are intelligent and come from all walks of life, and are down with being challenged often, you’ll probably fit in well.

So, how to get a job here? Let’s talk.

Read through our open positions and see if something is right for you.

You can find Automattic’s open positions here. Take a look and see if you spot something you’d enjoy doing and think you can do well. Read the job description and requirements to make sure you understand them and know how you would theoretically fit in the role.

Now, take a strong, focused look at the part of the job listing that talks about how to apply. This is going to be very important. :)

Follow the instructions regarding how to apply. Read them twice.

There are some things you will see in every job listing regarding how to apply. Take note of them and follow them. They are not there at random. Basically:

  • Make a resume/CV/whatever you want to call it. Prioritize and emphasize experience and skills that would directly impact the job role, but don’t ignore even side things that make you unique.
  • Attach it to an email sent to the address provided in the job description. The email is your cover letter. Introduce yourself. Be concise. This is your first impression, and it’s text-only. (As we are largely a text-communication-driven company, you should get used to this idea.) Make sure you include anything that’s specifically requested in the job description call for applications.
  • Double-check your spelling and grammar. Fix anything you need to fix.
  • Check it again.
  • Once more.
  • Send and wait. :)

You might get a trial; you might not. But putting yourself out there is the first step.

(Oh, and if you don’t know about how our hiring works with the trial process, where you perform contract work to see how that goes, you should probably read about that.)

I’m not lying when I say that’s pretty much it. When you boil down the process of applying for a job here, it’s pretty simple. That said:

Here are some focuses/traits I believe in based on my time at Automattic.

Again, let me stress this is my opinion and not in any way “official.” Nothing I say here is even remotely a guarantee, and I don’t have anything to do with hiring (really, I don’t), but these are things I will usually recommend to someone when they ask me personally what they can focus on.

These are mostly things I really like to see or admire in people I work with. :)

Be open to criticism.

It’s totally possible you’ll be rejected for the job, either before or during the trial process. When this happens, you may receive some reasons why you were turned down. Or you’ll receive some constructive feedback during your trial. Be open to it. Embrace the idea that you don’t know everything, because believe me—as a full-time employee for many years now, I still realize this often.

Be dogged in adapting to and implementing that criticism.

I applied to Automattic three separate times over a year-and-a-half before I received a trial. I had to change focus mid-trial before I was hired based on feedback. Some of the best colleagues I have at Automattic went through a trial, received feedback and a rejection, and then trialed again later with success. If and when you receive feedback, take it to heart and then apply it. Or apply again. Or both. :)

Be willing to say up-front when you don’t know something and be open to learning.

I would rather work a million times over with someone who is willing to admit when they don’t know something or are stuck on something and ask for help than someone who tries to fake it. Admitting you need help is not a weakness. It is literally impossible for everyone to be an expert at everything.

Be willing to help others.

I’m big on leading by example. Everyone has gifts and strengths, and everyone is at a different level. Just as you should be willing to let others help you, be willing to share your knowledge and experience with others. Be kind and instructive. Don’t always offer to just take charge of things—though on occasion, that’s necessary—but aim to level up your (potential) team.

Be yourself.

Automattic contains the most diverse and interesting group of people alongside whom I have ever worked. It is an amazing collection of individuals from whom I have learned much and with whom I have enjoyed spending time during meetups. Embrace this and be willing to commit yourself to it as well. (BTW, if the real you is introverted, that’s totally OK. There are lots of us here. If you have to take a break, we understand.)

Have at least a passing familiarity with the Automattic suite of products.

How much of this depends greatly on the job for which you are applying. Some positions might not require a lot of PHP or familiarity with WordPress. Others will be based almost entirely around this. I think it’s a good rule of thumb to at least know the core business of Automattic and what we do before wanting to work here. :)

Embrace open source.

An open source ethos drives Automattic and is core to our identity. Know what that means. Past and ongoing contributions to open source projects, whether it’s code, testing, design, documentation, or whatever, will give you valuable experience in what it’s like to work with those types of projects and is a bonus.

(Again, this will somewhat depend on your desired job role.)

Get comfortable with text-only communication. And in learning how your writing tone can be interpreted.

To be honest, I still have trouble with this sometimes. Text communication is hard. Without vocal inflections, facial expressions, and other body language, it’s easy to read something and get the wrong impression.

It’s a skill to craft your text communication in a way that others will understand your tone and intention. Dedicate yourself to learning that skill. (Yes; sometimes this means using emoji. They are very, very helpful for establishing tone.)

This space reserved.

I’m sure there are things I’m not thinking of, but I have been writing this blog post for three days and I should probably just publish it. If you are a fellow Automattician and reading this, and I forgot something obvious, ping me and let me know. If you are a reader and you have additional questions, feel free to contact me. I’ll edit some things in to this post later if needed.

I will never stop learning. I won’t just work on things that are assigned to me. I know there’s no such thing as a status quo. I will build our business sustainably through passionate and loyal customers. I will never pass up an opportunity to help out a colleague, and I’ll remember the days before I knew everything. I am more motivated by impact than money, and I know that Open Source is one of the most powerful ideas of our generation. I will communicate as much as possible, because it’s the oxygen of a distributed company. I am in a marathon, not a sprint, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. Given time, there is no problem that’s insurmountable.

One-Second Galaxy Fight

I’ve actually never played this game before, but this tournament(?) of matches for an (I’m assuming relatively) obscure Neo-Geo title with the timer set to only one second is beautifully insane:

A port of the title to PS4 was released last week, and you can buy that here for $7.99.

It’s been confirmed the one-second round timer is possible in the port:

If anyone knows any of the other rules that were used in the Japanese tournament video, let me know; it looks like it’s at least set to Level 1. I’m not sure there are any other settings that matter. :)

Reference Images for FGC Broadcast Graphics

I was messing around with doing some (very early) work with NodeCG tonight.

(It’s not going well so far, but that’s because I’m generally clueless.)

While doing this, I considered the idea of fighting game overlays that could be used with a “toggle” for whatever game is being played (or even key off an external API like Challonge). I then realized that it is really useful to have static reference images for various games to make sure you are not putting overlay images in bad places.

This has a lot of utility even for setting up OBS or Xsplit, because you can add the image as a background and then maneuver your layout stuff as you need to make sure you are not obscuring any screen items, especially meters.

I’ll put this behind a more link just so casual visitors to my site don’t get hit with OMG WALL OF IMAGES. If there is a game that is not represented here that you would like to see, or I have made a mistake, please drop me a note and let me know which one. I’ll see if I have it and can whip up some images for you.

All HUD elements are in default locations.

Click on any image to view as full-size.

You can also download a ZIP archive of all current screens. If you stream large events with regularity, please contact me and I can give you access to a Dropbox share of these images. If you want to know when I update the screens, you should follow me on Twitter.

Use the images to do cool things with your streams. :) If you find them helpful or useful, please consider dropping me a tip or just following my Twitch channel where I play games poorly.

Continue reading

Extra Life 2016: Another Good Year

This year’s Extra Life marathon was another great time. I spent some time playing games with my kids, had a great co-op session with my best friend, and generally enjoyed the 25 hours of video games (with some breaks!) while fundraising for St. Louis-area children’s hospitals.

To date, you have helped me raise just over $700 for this cause.

For that, I thank you all. Your support every year when I do this crazy thing means a ton to me and it’s good to know you are interested in helping with this cause.

And know that it’s not too late! You can still donate to this year’s campaign by going to this page and giving what you are able or moved to do:

http://www.extra-life.org/index.cfm?fuseaction=donordrive.participant&participantID=196644

I fell short of my goal, but that’s OK. It’s the effort and your assistance that counts. :)

I’ll be working on some additional stream stuff and a different kind of donation goal starting later this month. I’ll be posting about that soon. :)

WordCamp US Presentation: Code Review

Howdy! I just finished giving this presentation at WordCamp US 2016 about code review: about why and how you should do code review on your projects.

The Presentation

Here’s a SlideShare embed of the presentation deck:

And you can download the source Keynote presentation file here.

References

I referenced a bunch of things in my talk and mentioned that you could find those sources in this post, so here’s the list in the order you’ll run across it in the presentation:

Have any questions?

If you have any questions, comments, corrections, or whatever, please contact me. I’ll be happy to hear from you.