Thought Knots

The meandering musings of Joey Cato

Electronic Arts

Posted on March 10, 2014  in Career

Here’s a list of all the industry titles I’ve worked on directly as a software engineer contributing to The Sims team:










My 90’s TV!

Posted on January 12, 2014  in Projects

My 80’s TV! was a fun project and it received way more attention that I ever anticipated, so I naturally followed it up with a similar website that was equally nostalgic to me, My 90’s TV!

The biggest challenge and time sink came from the collection of all the clips. Even though I was able to automate much of the data collection, in the end I still manually curated each video to ensure it was correctly tagged with the appropriate year.  So it still remained a time-consuming process. After I was done, the database of clips was almost twice the size as the original My80sTV site! I haven’t decide what decade to pursue next, but it will likely be the 1960’s or 1970’s.



My 80’s TV!

Posted on September 15, 2013  in Projects

I’ve always been a huge 80’s nostalgia nut, so I decided honor the decade with my newest web project: My 80’s TV!

The basic goal of this project is to simulate the vintage experience of channel-surfing on a TV from the 80’s decade as much as possible. 

Each time you visit the site, the channels are randomized. In order to closely emulate the television watching experience, the starting times of the videos are randomized as well. In addition, elapsed time is tracked, so if you flip back and forth between channels, it should resume at the correct time.

Recently I added genre filters, and my next goal is to extend them to include dates (1980-1989), since everyone has a different interpretation of the 80’s and so may only care about a specific year. Future plans for this app include support of other decades as well.

On the tech side, I used this project as an opportunity to learn more about jQuery and CSS transitions.





Space Hex! (HTML5 Game)

Posted on January 21, 2013  in Games, Projects


Space Hex! is another web game I created while playing around with HTML5 Canvas.

This one is puzzle-based (no lightning-fast reflexes required 🙂 ) It should run on most platforms (Only sound was missing when I tested on iPad / Android )

To clear each level, Gorch must collect all of the Orbs. Movement is automatic ( as triggered by any valid A* path that opens up between Gorch and an Orb. ) To create such a path, you’ll need to rotate the hexagon rooms. The game is designed to start out easy but becomes progressively more difficult (please don’t hate me when you get to Level 10 🙂 ) Good luck!



Space Cavern (HTML5 Game)

Posted on December 20, 2012  in Games, Projects

I wrote Space Cavern back in December of 2012, while I was spending some of my vacation time learning all I could about HTML5. In the process I spent a lot of time playing around with the Canvas API. This game is a result of that educational pursuit.

The premise of the game is simple. Basically it’s a retro-style 2D platformer where you must guide your rocket ship (using WASD or arrow keys) through the cavern and negotiate the various obstacles until you reach the end. I was inspired by Super Meat Boy’s difficulty, so I aimed to make this game similarly challenging.



Super Logic Grid! (Win32 Game)

Posted on June 17, 2006  in Games, Projects


I’ve always been a fan of logic grid puzzles, but I never came across a video game that emulated it well. This was my attempt to do so, but my additional aim was to also make it more fun and intuitive. You can click on the grid with left or right mouse button to add O’s or X’s. Each time you select a tile, the status will update to reflect its logical translation. To make it more entertaining, each level was designed as a chapter in the story of Commander Gorch and his space adventures.


Gorch Trading Game Engine (Win32)

Posted on July 4, 2003  in Games, Projects


Back in 2003, I had an idea for a strategy-based space-themed card game. I wanted to playtest it originally with a paper prototype, but due to the fact that Ron, one of my strategy buff friends lived out of state I had to resort to an alternate plan. So I developed a network-based card game engine we could use to play the experimental game against each other. It worked out very well for us. Unfortunately, during the playtest process I learned that the game wasn’t as fun as I’d imagined it be (basically the concept is to collect planets and build fortified shields around them before your opponent tries to attack.) As we played, I discovered it felt very imbalanced.

Anyway, the upshot was that the program worked very well and I didn’t need to waste any printer ink/paper. Also, because I designed the engine to be game-agnostic, I could use it to explore other new cardgame ideas, simply by modifying a directory of image and XML files.


3D Donut Slicer (Win32 Simulation)

Posted on August 17, 2002  in Projects

This project all started innocently enough with the following brain teaser:

The goal is to find the maximum possible number of pieces resulting from slicing a torus with three arbitrary planes. The inherent problem with this puzzle is that it can be conceptually difficult to reach optimal solutions without relying on a visual aid, which is why I decided to create the app. I also thought of it as a good opportunity to improve my Direct3D experience. What began as a casual pursuit quickly escalated into a Sunday coding frenzy.

Using this tool allowed me to reach a better solution (12) than what I originally estimated (10.)  Can you find more?




Cube Slide Match (Win32 Demo)

Posted on July 10, 2001  in Games, Projects

This is just a small demo written as an experiment to see whether playing a 3D version of a sliding block puzzle would be fun.


G-Man (Win32 App)

Posted on April 1, 2001  in Projects

A tag-based note keeping utility  I wrote to facilitate fast and easy data entry/retrieval. This was originally written as a simple command-line utility (inspired by the UNIX man -k command)