Skateboarding Meets Software


Adam Gordon Bell

April 2nd

Skateboarding Meets Software

Welcome to April and a new CoRecursive episode:

How do you build one of the most successful video games? The one that tops the charts, leads to a franchise and becomes a cultural phenomenon?

Today, Mick West shares the story behind his incredible career and behind creating The Tony Hawk Pro Skater game.

Find it in your podcast player or on the website.

Repetition And Fluency

I was at a friend's place, Josh, working on a university assignment. He rented a house with a bunch of other roommates and had his computer in his room.

I sat at at it, writing code into NetBeans, his IDE of choice, that I didn't love. I wrote a while true loop that grabbed some user's input and exited if the user typed exit. It was a standard thing I'd done five times by then for various little school assignments. It was just the command line bones that you could attach any given solution to.

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
String input;
while (!"exit".equals(input = scanner.nextLine())) {
System.out.println("You entered: " + input);
}
}
System.out.println("Exiting...");
}
}

Josh was impressed because I wrote it out fairly fast and it worked first time, but there was no great skill in writing this; the five previous times of writing it are what made it easy.

Little things repeated become ingrained and then become fluid.

For whatever reason, I have built a very small object-relational mapper about three times before. Even though that last time was probably a decade ago, I still remember some of the patterns: Using reflection to match the data table columns to the object properties that are read with reflection. Caching that reflection for speed. And so on.

Today's podcast episode is about game programming and building games, and Mick West's story has a lot of this getting good at via repetition. Building a game a year, year after year, can be a repetitive thing but also an amazing way to build up a skill set. Previous games that look nothing like a skating game to me have their fingerprints or even their code all over Tony Hawk Pro Skater. So, to really hear the story of one game, you need to hear the story of the one before and the one before that.

I hope you enjoy the story.

Other Writing

Thanks,

Adam

@adamgordonbell

Unsubscribe · Preferences

Hi! I'm Adam Gordon Bell

Get a monthly update on my podcast, writing and whatever else I'm up to.

Read more from Hi! I'm Adam Gordon Bell
From Everest to startups

Adam Gordon Bell Oct 2nd Hey! It's October, and new podcast episode is out: https://corecursive.com/from-everest-to-startups-with-yoshio-goto/ This episode is about your life. It's about accepting that life is short and using that to structure how you live. Yoshio Goto shares his story of finding what matters by throwing himself at challenges like climbing Everest and joining early-stage start-ups in Silicon Valley. Then, where he finds meaning is totally somewhere else. It feels like I’m...

Adam Gordon Bell July 4th Hey! It's July, and happy July 4th to my American readers. A new podcast episode is out: https://corecursive.com/building-powershell-with-jeffrey-snover/ It's a detailed peek into the internals of Microsoft and the development of Powershell. My guest is Jeffrey Snover and he has a story to share. It's about one man's vision for a better way to manage Windows Servers and the battles that were fought to bring that vision to completion. Overcoming Microsoft's GUI bias —...

Adam Gordon Bell June 4th Hey, It's June now, and I have a new episode out here: Hedy https://corecursive.com/hedy-with-felienne-hermans/ I've been telling friends and colleagues about this episode for several weeks. Whenever someone asks me how the podcast is going, I jump into it: Ok, Imagine this: A burned-out academic seeks renewal by teaching underprivileged 12-year-olds to program. In doing so, she risks her career and builds a programming language that spreads around the world and...