from/prod
← All companies

THE COMPANY INDEX TRACKED BLOG

Robin Ward

Ideas, decisions, and lessons from the team.

eviltrout.com (opens on the source site)
25Posts tracked
2 months agoLatest publication
0.3Posts / month over the last 12 months

Latest writing

20 of 25 posts

Tips for Saving Game Data in Godot (opens on the source site)

Saving game data is easy. Making your save code survive every kind of hardware failure is not. A lot of these issues will never show up during testing, but if your game reaches a wide audience with many different kinds of hard drives in different states of degradation, you will start to get bug reports about save games not working. I decided to write up my approach, learned over the course of shipping two Godot games, that has reduced our corrupted save game bug reports to virtually nothing.

Read at the source

Building Galley House (opens on the source site)

Evil Trout’s second game, The Incident at Galley House, is out now on Steam! Last year, after The Roottrees are Dead shipped, I wrote a technical blog post about its development, which was well received, so I decided to do the same thing for this game. Note: The images in this post have minor spoilers for the beginning of the game. If you want to be 100% spoiler free, now’s your chance to run away.

Read at the source

Evil Trout + DEG (opens on the source site)

During the last Steam Next Fest, I played a demo of a puzzle game called DEG that was getting a lot of buzz. The game is made for people who like grid puzzles like Sudoku, or Nurikabe, with many additional unique concepts and puzzle ideas that are tutorialized silently to the player. Needless to say, I was hooked. I reached out to Doseo, its creator, and inquired about investing in the game. We discussed how he would use additional money to improve and market the game, and a deal was struck.

Read at the source

Anatomy of a Room (opens on the source site)

Background Our next game, The Incident at Galley House, is an adaptation of a text-based game called Type Help. It takes place at Galley House, a dwelling in the English countryside, during a dinner party where things go sideways. Galley House is divided into many rooms, and the core gameplay involves following characters from room to room, listening in on their conversations, learning their motives, and eventually piecing together a mysterious incident.

Read at the source

Building The Roottrees are Dead (opens on the source site)

The Roottrees are Dead was released on January 15, 2025 and it did much better than I ever expected. The reception has been amazing. In just over a week, the game hit the magic mark of 500 reviews on Steam, and triggered the “Overwhelmingly Positive” status. On BlueSky, Bloomberg writer Jason Schreier blew me away when he posted: “Seven days into 2025 and I’ve already played what I suspect will be one of my favorite games of the year: The Roottrees Are Dead.” Wow!

Read at the source

The Roottrees are (still) Dead (opens on the source site)

Last year I broke my elbow. This meant that I had to take a break from programming for about six weeks, and The Secrets of Skellig, my indie game, was put on hold. After a couple of weeks, I recovered enough to do some basic keyboard and mouse movements, and I stumbled on a free game called The Roottrees are Dead by Jeremy Johnston. It was exactly my kind of thing: a thinky game where you have to use your brain to fill in a family tree, based on results from a search engine. It was Her Story meets Return of the Obra Dinn meets The Case of the Golden Idol, and it consumed my free time for…

Read at the source

The Secrets of Skellig (opens on the source site)

Note: The Secrets of Skellig is on indefinite hold now while I work on other things. I’ve wanted to dip my feet back into game development for a while, and last year I decided to put my money where my mouth is. I resigned from my full time job at Discourse and pulled up a bunch of YouTube tutorials on Blender and Godot. It’s been a ridiculous amount of fun, and I’ve learned so much about how modern 3D games are made. I’m finally ready to announce what I’ve been working on. It’s a puzzle game, inspired by crosswords, called “The Secrets of Skellig.”

Read at the source

My Retro PC Gaming Nostalgia Kick (opens on the source site)

Over the last couple of months, I’ve been posting a series of videos about early PC gaming and programming on my YouTube Channel. It’s been quite a fun journey and I thought I might write a few words about it. I have a lot of nostalgia for early games, which makes sense since it was how I spent most of my free time in the 80’s and 90’s. Times were boring before the Internet :)

Read at the source

Home streaming my games in 4K (opens on the source site)

I have two 4K TVs at home, one in the bedroom and one in my living room. Both have consoles attached. One has a PS4 Pro and one has a Nintendo Switch and both are great. However, I also have a gaming PC in my office, which is quite powerful compared to any home console Mine is equipped with a RTX 2080 TI GPU, and a 9900K processor, so it can play pretty much any new game at 4K with a solid 60 fps on high settings.

Read at the source

Building a Home Media Server with Docker Compose (opens on the source site)

I recently moved into a bigger condo which had a wall mount pre-installed in the bedroom for a TV, so I decided to take advantage of it and bought a second TV. Previously, I was using an Intel NUC attached to my TV and running LibreElec. If you’ve not heard of LibreElec, it’s a very cool minimal Linux OS that sets itself up to run Kodi. It is remarkably easy to set up, and even found and setup my obscure USB remote control automatically.

Read at the source

Candles, Programming and Archetypes (opens on the source site)

Once in a while, I daydream about being thrown back in time. I’d have no Wikipedia, no books, or any access to information except what’s already in my head. If I were thrown into Victorian London, what could I do? What could I teach them? Well, the first thing I would do is tell them to wash their hands. With soap. Frequently. That would probably be the most significant contribution I could make.

Read at the source

The value of a thousand little features (opens on the source site)

It’s been over a year since I wrote a blog entry! And while of course the universal excuse of “I’ve been busy” applies, I think we reached a point in Discourse’s development where we just were able to focus on the product without a lot of stuff getting in our way. I’ve now been working on Discourse full time for 5 years. In the beginning we had a lot more uncertainty about technical decisions. Some of the things we debated interally include:

Read at the source

We finally did something about Android Performance (opens on the source site)

Back in September, Codinghorror wrote a popular post on the state of android Javascript performance on Discourse’s Meta forum. It drew a lot of attention, and led to some fascinating discussions on our forum and behind the scenes with browser engineers. The poor performance of Discourse on Android was already old news to us at that point: we started paying attention several years ago, and have spent some time contributing to the Ember.js community tools to help profile application performance, in particular the “Render Performance” tab on the Ember Inspector, and the ember performance suite.

Read at the source

TIS-100: My emulator for a CPU that doesn't exist (opens on the source site)

Recently I became infatuated with TIS-100, a game which aptly describes itself as “the assembly language programming game you never asked for!” The point of the game is to program the (imaginary) TIS-100 CPU to solve problems. For example, you might need to take input from two ports and swap them, then write the outputs to two other ports. The game flies in the face of all modern game design: The first thing you need to do is sit and read a 14 page PDF that outlines the TIS-100 instruction set. And when I say “read”, I mean “learn”, because a quick skim is not going to cut it! There are no…

Read at the source

Watch: Ember at 10 feet (opens on the source site)

Previously I posted notes and links for my talk about “Ember at 10 feet” from the Embergarten Saturday Symposium. Today my awesome friends at Unspace posted a video of the talk, which you can watch below: Source Code | Online Demo

Read at the source

ember-tv: Creating a 10 foot interface in Ember.js (opens on the source site)

Over the weekend I spoke at the Embergarten Saturday Symposium, which was an awesome mini conference on Ember in Toronto. My topic was “Ember at 10ft”, and it was about how to build a TV friendly interface in Ember.js. The talk was recorded but not yet posted, however I’ve already posted the source code on github. The github repo contains my slides from the talk as well as speaking notes. I’ve also put up an online demo. Check it out!

Read at the source

Screencast: Debugging an Ember.js Application (opens on the source site)

I’ve found that a lot of people don’t know how powerful the Chrome Developer Tools are, especially when paired with the Ember Inspector. I recorded this short screencast to show a handful of tricks you can use when debugging Ember.js applications: The source code to the Bug Tracker project is on github.

Read at the source

Creating an Integration test in Ember.js (Screencast) (opens on the source site)

Once upon a time it used to be difficult to create integration tests in Ember.js. Fortunately, the framework has come a long way and it’s now really easy to get integration testing working in your application. This screencast shows how to set it up with ember-cli: There is some boilerplate code required that you’ll need at the top of your integration test files if you want to do it yourself. Here it is:

Read at the source

Privacy choices

Reading never requires analytics. These choices last 90 days on this browser.

Essential sign-in and security storage always stays on. Read the privacy notice.