Metroidvania Part 1: The Mummy Demastered

I’m currently in the middle of a ~week long break from work. Since I travel semi-regularly for my job, I decided to make this a staycation. Spending some time at home getting caught up on languishing personal projects, dealing with a few long-put off tasks, and just relaxing seemed like exactly what I needed.

Lately, I’ve been trying to put more time and energy into my creativity-driven side projects, namely: game development. During this break I’ve spent a fair amount of time working on a personal project (Tanki) that was originally developed over a weekend for the Global Game Jam. In Tanki, the player controls a cute cartoonish tank by drawing instructions on a command screen, and then pressing a transmission button. Tanki then executes your commands and (hopefully) avoids any life-threatening obstacles, hitting a flag pole at the end of each level. The game is puzzle-oriented and many of the levels can be solved via repeated bouts of trial and error.

While I’m excited about the progress being made on this game, it isn’t the kind of game I’m ultimately interested in making. In addition to doing work on Tanki, I wanted to spend sometime researching and analyzing games that are more closely aligned with my development aspirations. This is also a great excuse to spend my time off grinding through some awesome games I’ve had my eye on, or even had in my Steam/console library but haven’t gotten around to playing yet. Continue…

Oculus Rift: I’m having so much fun that I might puke

I picked up and have been playing around with an Oculus Rift VR headset. Here’s my reaction after ~2 days of having it setup/a few hours of playing.

Playing games in the Rift is.. mesmerizing. The initial demo experience, First Contact, is a tiny trailer-like workshop full of 80s-inspired electronics and a beepbooping robot friend. Super charming and immersive. The little robot friend guides you to insert game-style cartridges into a device, which turns out to be a Star Trek-inspired 3D printer. Each cartridge produces a different object, and each object has a different behavior/ability. Continue…

Udacity Machine Learning Nanodegree – First Impressions

I recently signed up for the Udacity Machine Learning Nanodegree (MLND.) I’ve also decided to make occasional blog posts for myself to keep track of what I’ve learned/worked on, and for anyone that might be considering signing up for the class to help figure out if it’s a good fit for them.

First Assignment

The first big assignment for the class is analyzing a set of data regarding the passengers aboard the Titanic. In short, you go through the process of creating a classifier to predict whether someone would have survived the ship sinking or not. The simplest version of this is “men died, women survived.” The next layer is “men died, women and children survived.” You continue to iterate and train your classifier, and then test it against known outcomes until you are able to predict outcomes with >80% accuracy. To reach this metric, I ended up having to apply a few convoluted filters relating to passenger cabin class, sex, and number of siblings/family members on board. Continue…

TPS Report Simulator

In November 2016, GitHub ran a game jam (called “GitHub Game Off 2016”) with a broad theme of hacking/modding/augmenting. My friend Eric has wanted to build a game for basically his entire life, and lately I’ve been meaning to carve out time for a coding project but never seemed to get around to it. We decided to team up for the Game Off so we could both make some progress towards our respective goals (plus it was an excuse to hangout and play video games.) Our game, TPS Report Simulator (play / source), is a retro-inspired pixel art “shooter” in which the player fends off managers, hacks computer terminals, and tries to escape cubicle hell. We ended up learning a lot, building a fun game, and having our game featured in the Github write-up.

Our GitHub Gameoff 2016 submission: TPS Report Simulator


Melancholy Automatic Photo Montages

I’m a few months into single life after being in a serious relationship for a few years. Mostly, I’ve handled the breakup well and it has been a relief, but I do occasionally catch myself feeling down. On these occasions, usually lonely evenings, I’ll try to do something around the house to perk myself up. The projects are usually simple things like frame and hang a poster, a little bit of painting, or maybe even just cook myself dinner.

When I do this kind of thing, I’ll usually take some pictures. Inevitably, I end up with a chipper montage of sad-lonely-single-man-night-at-home, generated by Facebook’s eager-to-please machine learning algorithms, and honestly, they almost always make me crack up. They’re like subtly depressing silent films. I could let them push me into an existential panic, but instead I have fun trying to select the montage theme with the jauntiest music or the most over emphatic, neon typeface. These make for the perfect pairing with a series of photos of my cat laying on the table next to some grilled chicken and vegetables I cooked.

Dusting off my dancing shoes

It’s been awhile since I’ve written any real code. I’m not a software engineer, nor do I even play one on TV. I’ve dipped my toe into the pool of python, ruby, and a few other popular languages. I took some classes in college. I’ve even gone for a proper swim in HTML, CSS, and JavaScript. But, actual coding skill has seemed to elude me. Until now.

I’ve decided to start chipping away at “doing something useful with Python.” Recently, I was turned onto /r/dailyprogrammer, a subreddit where programming challenges are posted regularly to be completed in a language of your choice. I dabbled in these, and also completed the Google Python Class.

This has inspired me to become active in this area again, and to perhaps go a bit deeper than I have before. So, my github account is active again for the first time in a long while. I intend to post brief updates on my progress and share samples of my work here. My first, and most substantial to date, accomplishment is a “scraper” of /r/dailyprogrammer, which looks for the specific challenge posts and makes a simple, HTML archive of them including a separate page for each challenge and an index file with links to each.

Currently, I’m working on a text-based program that simulates a probe trying to navigate a treacherous plane of 2d space.

Feel Trip Through Space

More to come soon

I’m also helping my girlfriend get reacquainted with web development, which is a great compliment to this scripting work and is helping me to check myself on what I actually know about HTML, CSS, and web application fundamentals. I’m sure there will soon be a day when her knowledge has surpassed mine and the best I can do is recommend reading materials or mentors.