Global Game Jam 2021 Hackathon Retrospective – Ash the Pirate

A retrospective look at the creation process of Ash the Pirate during the Global Game Jame 2021 hackathon.

Complete a hackathon every year. It’s a great excuse to leave your everyday problems behind for a day or two and force yourself to overcome new challenges.

Cover Image for Ash The Pirate

Last weekend, I built a game for Global Game Jam 2021. I brought my 4 year old son into the process. He’s great at videogames for his age (thanks pandemic). I wanted to show him that he could be a creator of those experiences, not just a consumer. It was a great opportunity to let him feel a part of a larger tribe of creative humans. You can download and try Ash the Pirate.

The theme for Global Game Jam was “Lost and Found”. During the brainstorming session that Buffalo Game Space ran for the event. My son piped up and offered this idea:

“How about you’re a pirate, that’s lost his parrot. You have a boat and there’s holes in the boat where sharks try and bite you. You have to press ‘A’ to jump over them.”

“Ash” Age 4

Scope Tightly

It sounded like a well scoped hackathon project. It had a theme, a win condition, and a game mechanic. Now it was time to make it Testable, Usable, Loveable.

Ash The Pirate - In-game screenshot.
Ash sizing up his zombie nemesis who is guarding his captured parrot.

Invest in the experience

You need art, music, and sound effect to make a game immersive. Stephen Petoniak composed an awesome Sea Shanty for the game. But it still needed sprite sheets, tiles, and sound effects. Investing $30-40 in those assets from artists on Envato Elements and Graphic River was worth it. The really made the Game look much higher quality and allowed me to focus my energy on learning Game Maker 2 and writing code.

Ash the Pirate - in-game screenshot of ash freeing his parrot from the treasure chest.
Ash frees his parrot after jumping over the pirate zombie!

Play Test Repeatedly

The best part of the experience was watching my kids Play Test the game. Every few hours, I would take a break and explain the work I was doing and let them test it out. If you want your software to be bug-free, only use it yourself. If you want to make rock solid software, have other people test it. Your assumptions about how your software should work are rarely congruent with theirs.

Ash The Pirate - Global Game Jam 2021

Collisions Happen Every Frame

My biggest takeaway as a newly minted Game Developer, was that collision detection happens once a frame. I repeatedly created bugs in my code by not realizing that a statement would be executed more than the first time it happened. I hacked around the issue of triggering things multiple times using if-statements and Booleans. I’m not sure if that’s a design pattern or an anti-pattern, but in the context of a hackathon – it doesn’t matter.

Ash the Pirate, in-game screenshot of Ash preparing to join the zombie hoard after being bitten.
Ash preparing to join the zombie hoard after uttering his haunting last words “It’s the pirates life for me.”

Ask for Help at Hackathons

As a Hackathon organizer, I’m always disappointed by how participants underutilized mentors. People volunteer their time to help novice developers, but they rarely get asked to supply their expertise. Instead of asking for support, folks spend 4 hours on a bug or an error that a Senior Developer will crush in 5 minutes. As an experienced developer, I didn’t make that mistake. I pinged the mentors and they debugged my code incredibly fast (thanks John, Kendall, Matt, & Jared). This rule about asking for help applies to all domains of expertise. Find mentors, ask questions, you’ll be more successful in life.

TODOs:

  • Design some levels using graph paper with my children
  • Replace the sound effects with recordings of the kids (so they can be in the game)

Conclusion:

Ash The Pirate was playable after 48 hours. My kids learned a little bit about how games are built. I’m pretty happy with the results. This happened because my son tightly scoped the project. I invested in assets to speed up and improve the quality of production. My children play tested the game repeatedly while in development. I didn’t let perfect get in the way of good enough. I asked for help.

If you read this far, you should sign up for my newsletter:

Premature Optimization is the Root of All Evil

"We should forget about small efficienceis, say about 97% of the time: premature optimization is the root of all evil" - Donald Knuth
H/T: @lpolovets

Donald Knuth was specifically talking about algorithms in computer software, but the lesson applies broadly to product development, startups, and self-improvement.

Perfection is the Enemy of Progress

Wikipedias worth of man-hours have been spent building features that the customer never requested and rarely use. Companies have spent millions on inventory to achieve economies of scale on products that crater in the market. They should have shipped first and asked questions later.

Stop futzing around and ship it! Premature optimization is often procrastination in disguise. If you’re “making it better” before someone has used it, you’re letting fear of judgement keep you from learning.

Don’t worry about scaling, don’t worry about “nice to have”, just start! Start going to the gym, spearhead a new process at work, ask someone to buy your barely functional prototype. Even if you fail, you’ll be at the same place as if you were still planning; the only difference is, you’ll have a data point from the real world. Now you can adjust, incrementally better, then ship it again.

Questions of the Day

What aspect of your life should you be shipping instead of optimizing? Is there a feature in your product or startup that’s a good idea but you haven’t had a customer ask for it yet? Tell me about the time you sunk days of oyur life into solving a problem that didn’t exist.

Why you should build wireframes in Powerpoint.

Wireframe for ClarkDever.com in Powerpoint

There are dozens of tools for building user interfaces, some of them are web-based, some require specialized skills and software (looking at you Adobe). They all have their place, but I routinely recommend people user Powerpoint for their wireframing needs.

Here’s why you should use Powerpoint for wiring framing:

  • You build them faster
  • It forces you to focus on Information Architecture, not details
  • Everyone knows how to use Powerpoint
  • You can fake interactions and test process flows
  • It allows you to quickly get feedback from real humans before a single line of code is written.
For clarity: I'm going to say Powerpoint for the remainder of this post – but Powerpoint, Keynote, LibreOffice, Google Slides are all acceptable alternatives. 

Increase your Velocity

I train my teams to use the simplest/fastest prototype or tool that gets them the feedback they need to advance the product down the development pipeline. The best tools are the ones that reduce friction and allow you to increase your development velocity.

If you have to learn a new UI in order to implement a test, you’re reducing your speed to market. That amount of friction may seem small, but it adds up. Experienced product managers will tell you that more deadlines are missed as the results of hundreds of small inefficiencies than one-off catastrophic events.

Right Level of Fidelity

More powerful tools have more features, more feature means more complexity and time wasted on irrelevant details. You shouldn’t be concerned about anything but information architecture and block level elements when wireframing.

As a simple guideline: When you’re building a wireframe, it should be no more complicated then what you can personally draw on a whiteboard. So in practice, you should be creating the digital version of your crappy illustration.

This is important, because design should be left to designers. The purpose of a wireframe is to identify the functional units on a page (and maybe their relative priority/weight). Primarily, you should be concerned with content at the “block” level. Instead of worrying about design, you should be asking yourself if all of the objectives of the page/view are being met.

It sounds trivial, but I can’t tell you how many e-commerce wireframes I’ve reviewed that didn’t have contact information in the headers or navigation, and/or didn’t provide a direct link to the cart page. Every page should have one job, make sure that you have the content blocks that support the page’s goal.

Non-technical people know Powerpoint

You friends, family, business analysts, content marketers, and pilot customers, all know Powerpoint well enough to wireframe. They are the Subject Matter Experts on their needs, not your designers. You wouldn’t ask your Plumber to architect your home, so why would you ask a Web Developer to determine your information architecture?

Getting the right team members engaged with the wireframing process will improve the quality of the output. Wireframes are the foundation that your product’s usability is based on.

This part of the design phase is also the cheapest, and fastest place to make changes based on user feedback. No one has spent hours in photoshop, no one has written a line of code, there are no dependencies – enjoy this agility while it lasts and try wireframing different variations of your screens.

Interactions and Navigation

You can emulate interactions with your product by building different slides to represent different states. By having clickable areas load specific slides, the wireframes can show a user the result of their actions.

This functionality allows you to test different funnels and begin to understand how novice users interact with your product. The biggest benefit of this entire process is that, you can perform interactive user testing without engaging a designer or software developer.

Universally Accessible

Powerpoint is ubiquitous, you can share files and get quick revisions from several stakeholders remotely and asynchronously. Additionally, you can export the final product as a PDF for easy user testing.

Load that PDF on your mobile device and ask random people at a coffee shop to accomplish a task on your site, BOOM!, observable user testing for the cost of a cup of coffee.

Questions of the Day

What other tools have you used to quickly build prototypes? What were the benefits and drawbacks?