Bret Hudson's avatar
Hi! I'm
Bret Hudson
The kid who wanted to do everything. I'm a Seattle-based software/web developer who makes indie games in his free time. Check out my works!
All Posts
Bret Hudson's icon next to the Recurse Center logo, along with the text

Recurse Center: Week 1

Posted 25 May, 2025 at 12:00 PM PDT

From the Recurse Center website:

Invest six or 12 weeks programming at the edge of your abilities alongside motivated peers. Do a programming retreat in NYC, hybrid, or remotely.

I was accepted into Recurse Center earlier this year and started my batch this past week, on May 19th, 2025.

While I'm currently attending remotely from Seattle, I'm putting plans in motion to make it out to NYC, to spend as much of my 12-week batch as I can at the hub in Brooklyn.

What I'm Doing At Recurse

After working on Canvas Lord and WriteGames.com on-and-off for the past 4 years, I'm ready to put my head down and get them published!

WriteGames.com banner image

WriteGames.com is an upcoming educational game development website that uses Canvas Lord to power its interactive tutorials. Many of its individual components are built, but they need to be stitched together and made more robust.

Beyond that, I'd like to learn how to maintain open-source projects, get comfortable contributing to other open-source projects, and remember what it was like being a fresh to game development. There's so much knowledge I take for granted, and being able to see things through the lens of folks figuring it all out is an opportunity I can't let pass by.

And, of course, I'll be doing a lot of pair programming! There's a few projects others have going on that I'm looking forward to contributing to.

What I Did This Week

I wish I had taken better notes! So much happened this week.

There were interest groups for game development, TypeScript, and language/linguistics that I attended. Beyond that, I ended up meeting a handful of my batchmates, chatting about every topic under the sun: indie games, languages, Lego, food, math, CSS, graphics programming, game development, puzzles... the list could go for quite some time.

One of my batchmates, Cyrene, was working on a watercolor shader for their site. We worked on it during the pairing workshop, and almost got it working! It was my first time playing around with Three.js, which I was shocked to understand after having studied shaders last year. Just a couple years ago, it would have all been gibberish to me.

Watercolor shader

Wednesday's creative coding workshop had me teamed up with Raunak. Together, we extended a pong project of his using C & Raylib, adding "fake springs" to collide with. Raunak's codebase is super clean, and Raylib seems pretty straight-forward. I might give it a go again at some point.

On Thursday, I decided to sign up for presentations. One of the hard parts of being remote is having everyone at the hub remember you're there, so I figured it'd be good to make myself as visible as possible.

I gave a 5-minute presentation titled "Making Games with the DOM". During the talk, I briefly touched on the history of interactive experiences in web browsers, and how you don't have to use any technologies beyond HTML, JS, and CSS to make games - not even the canvas! I showed off Yksi, Regretris (by WITS), and RADICAL SCRABBLE, all of which use this DOM-based strategy.

This Week's Daily Sketches

One of the things I want to get out of Recurse is to work my educational muscles. I've done tutoring and led programming classes in the past, and want to combine coding & education. WriteGames.com.

I've also been posting vertical versions of each sketch to YouTube and Instagram each day. Follow me to watch my progress as I make more complicated animations.

Here's the first five sketches!

More Posts, Maybe?

We'll see how good I am with posting these - I waited until pretty late on Sunday to get this out. There are writing groups at Recurse, so ideally I'll be able to leverage those to help me stay accountable.

A gradient based off of PANTONE's 2024 color of the year, Peach Fuzz

2024: Patterns in the New Year

Posted 1 January, 2024 at 12:00 PM PST

What a Beautiful Number!

2024 makes my pattern matching brain light up. There are soooo many patterns to be found in this sequence of numbers, especially when you split it into two chunks ("20" and "24"). 20 and 24 have a 5:6 ratio, which will show up again and again throughout this post.

20=2 x 104 x 520d
24=2 x 124 x 620z*
* Represents duodecimal, which you can learn about from Numberphile and jan Misali.

2024 in Other Number Bases

The highlighted lines are the ones which really tickle my brain.

Read More

Samsung S9 displaying

Fixing Live Wallpapers Crashing on Samsung Devices

Posted 3 January, 2021 at 12:00 PM PST

With 2021 rolling around, many people are finding themselves creating New Year's resolutions. As someone who doesn't participate in aligning my self-improvement schedule with the changing of the calendar year, I was surprised to hear Pixelscapes Wallpaper screaming "New Year, New Me" as the clock struck midnight. Honestly, a terrifying way to begin 2021.

Unlike us mere mortals, Pixelscapes is an app and doesn't have the ability for self-change. So, I had to do some work to help it out. Let's take a little history trip back to everyone's favorite year for some much needed context.

Read More

Dell XPS 13 with reflections

It's Been a While

Posted 28 March, 2020 at 12:00 PM PDT

Hello there! It's been a while, friends. This post is contains politics, and my anger, frustrations, and growing hopelessness with the current state of the world (I'm talking coronavirus). Please turn away if you do not wish to read that kind of thing. I personally am getting to a point where it all is becoming a bit much.

Read More

Pixelation Jam 2019 canvas

March 2019 Recap

Posted 3 April, 2019 at 11:00 AM PDT

Even without attending GDC, PAX, or any other games events, March still managed to be a wild one this year. I haven't been updating my blog at the frequency I intended to, so I decided to lump all of March's ongoings into a single post.

Tincan 2 Version 2.0 Released

At the beginning of the month, I re-released Tincan 2 and wrote about what I fixed in the game, to celebrate 11 years since I first started making games. It's still using Flash, since I mainly just wanted to update the existing game. An HTML5 port might happen someday if I can find the time and motivation! For now, I'm happy with this.

Client Work with Custom Game Engine

I've been working on a small set of mobiles games for a client. HTML5 is the technology I'm using since I have no prior iOS experience, and I decided to use the opportunity to write a custom 2D HTML5 game engine.

Read More

Tincan 2 with code overlay

Fixing Tincan 2

Posted 8 March, 2019 at 10:00 AM PST

This is part of the series "Revisiting Tincan 2"

  1. Part 1: Tincan 2 and the Seven Deadly Sins
  2. Part 2: Tincan 2 Version 2.0 Released
  3. Part 3: Fixing Tincan 2

In case you missed it, I re-released Tincan 2 on Wednesday, and before then, I spoke about the Seven Deadly Sins of platformers that I managed to commit with the original release of Tincan 2.

The final part of my deal is to speak about how I addressed the issues, so you, fellow developer, or curious player, can go forward armed with the knowledge to keep yourself safe from the Dark Lord.

The Seven Deadly Sins, Redeemed

1: Not listening to advice

A lot of the advice from version 1.0 back in 2012 focuses on the other parts of this article, such as the slippery physics, level curve, and WASD controls.

Over the past few weeks, Ian Jones gave me a lot of great feedback, which was paralleled with others I let test the new version of the game. Thanks to their input, I was able to address some issues I might not have worried about. Knowing that certain things annoyed players, or were a frustration, allowed me to take a step back and ask myself "how can I minimize that frustration with this element of the game?"

Read More

Tincan 2 world map banner

Tincan 2 Version 2.0 Released

Posted 6 March, 2019 at 8:30 PM PST

This is part of the series "Revisiting Tincan 2"

  1. Part 1: Tincan 2 and the Seven Deadly Sins
  2. Part 2: Tincan 2 Version 2.0 Released
  3. Part 3: Fixing Tincan 2

Yes, you read that right. A new version of Tincan 2 has hit the web. Sound the alarms.

If you've been eagerly awaiting the follow up to the cliffhanger from Monday's post, this is it. Part of the deal was to remake Tincan 2 to make it more accessible to players. The new version has multiple difficulties, redesigned levels, and some new music from Zack Harmon.

Today (March 6th, 2019) also marks 11 years since I first downloaded Game Maker 7. In those 11 years I've met some fantastic friends, contributed to some cool projects (you can see them here on this site!), and found a passion for programming that I can't imagine living without.

That's all I have to say for today, but stay tuned for Friday's update in which I talk about the changes I made to the game.

Tincan & the Seven Deadly Sins banner

Tincan 2 and the Seven Deadly Sins

Posted 4 March, 2019 at 10:00 AM PST

This is part of the series "Revisiting Tincan 2"

  1. Part 1: Tincan 2 and the Seven Deadly Sins
  2. Part 2: Tincan 2 Version 2.0 Released
  3. Part 3: Fixing Tincan 2

November 11th, 2012 marked the release of Tincan 2, a sequel that some would claim never needed to happen. After some distance from the project, I myself have fallen into that group. Lately I've felt like I've wanted to reflect and write about what it was that made the game such a mess. Plus, when making a deal with the devil to write about it is the only thing that guaranteed your return to the mortal plane, you kind of have to.

Let me explain.

Some Secrets Are Best Left Buried

Two weeks ago I wanted to show a friend the secret stage that lays hidden in Tincan 2 over Google Hangouts. As we chatted about life, I racked up hundreds of deaths, until eventually he decided to call it a night. I continued on, until I finally managed to unlock it.

I heard someone enter the Google Hangout. It wasn't my friend.

It was the Dark Lord.

That was the last thing I remember before spending an eternity in Hell, playing Tincan 2 on Lucifer's pristine 2003 Dell Dimension 4600 Home desktop.

Read More

New website screenshot

Website Redesign (2019)

Posted 27 February, 2019 at 10:00 AM PST

When something stops working, the solution is to fix it.

For four years, I continued to fix and enhance the old site to fit my needs as they evolved. It sufficed, but lately I felt I'd abandon the sloppily thrown together fixes and intermingled systems, and start anew. Plus, any chance to move away from PHP is one I happily welcome.

When fixing something stops working, then it's time to move onto the next step: remake the whole dang thing.

Read More