This is the personal website of John Watson: father, software developer, artist, guitar player. Follow me on Mastodon or Twitter or Twitch or itch.io or GitHub.

Game dev: Finding the fun

Sprite test

One of the best things about working for yourself is the ability to change your job description at will. I’ve always been interested in games and programming. Some of my earliest memories of programming are of creating simple games. So on January 1st I decided that I was going to be a Video Game Developer.

So, for the next little while this blog will be the diary of a neophyte game developer. And I’ve given myself a deadline. I intend to publish for sale my first game by April 1st.

I’m betting on Android. I love the possibilities of touchscreen mobile devices with internet access. I’ve already published one app that’s selling 20-30 copies per day @ $1.99 with no marketing or advertising at all. It’s a great time be a programmer. App stores, even more than the internet, have leveled the field with respect to publishing. It’s amazing that I can spend a few weeks building a high quality app and then upload it to an app store and then thousands of people will pay me for it. I’m optimistic.

So. Game development. Turns out it’s harder than I thought. But it’s still awesome fun. For example, I get to play games for research and not feel too guilty about it (unless I’m shirking something else like working on my own game).

I’ve always believed that the best way to learn anything is by doing it. So I started out by creating a game engine from scratch. My initial idea was to create a sort of 2D platform game. I had a prototype running in a about a week but I quickly ran into a harsh realization: creating the engine is only half the battle (or maybe 30% of the battle). Art, sound, and levels were going to require a lot of work if they weren’t procedurally generated. What’s a platform game without clever level design and a princess to rescue?

Related to that, my prototype wasn’t any fun. And after playing it and thinking about it and playing it some more I realized I didn’t have a clear vision of what I wanted.

But that’s what prototypes are for right? I scrapped it, focused the design, and quickly moved onto prototype 2. Because I didn’t need to recode the engine, I had prototype 2 running in about 2 days.

I’ve been playing it for a few days and it’s definitely better than prototype 1. But I still wouldn’t call it fun yet. This one has a glimmer of fun. I am getting closer. But that was harsh realization #2: it’s going to take me a while to find the fun. I had the (obviously naive) idea that I could think of something fun and then code it and it would be fun. Maybe other designers can do that, but not me—not yet. With practice, I’m hopeful I can be more critical about what I think is fun so that it will be fun actually.

So, right now I’m 0 for 2 and going onto prototype 3. But this time I’m keeping more of the game and just swapping out the gameplay bits I don’t like. I’m ignoring graphics and sound as much as possible. It’s tempting to want to create art for the game but I realize it would be a huge waste of time given how radically the game can change at this exploratory stage.

Fortunately, finding the fun is fun. The ability to have fun creating one failed prototype after another is probably a required personality trait for any game developer.