The Good, the Bad, and the Licensed

The following is an essay I wrote for a university course in 2017. I just re-discovered it while going through some old files and thought I’d post it for kicks and giggles. I know the MLA format is weird in a blog post–I’ll probably reformat and properly edit it at some point.

Since video game systems became capable of crudely representing characters on screen, companies have been putting their products and characters into them. It seemed like a logical extension of product placement in television—a practice almost as old as the medium itself. Some games based on characters from movies have been wildly successful, and indeed, Goldeneye 64 proved that first person shooters could be seriously successful on home video game consoles. For every successful adaptation of a licensed property however, there are a multitude of failures. In general, the games are shoddy, rushed jobs, that virtually no care was put into.

In general, equally as little attention is put into their release as is put into development. These titles slip away into obscurity, but they are worth digging up (sometimes literally) because there are lessons to be learned from the idiotic mistakes of the past. A licensed property won’t necessarily be bad because it is licensed, but they are often characterized by low budgets and low effort, and there is a limit to how tolerant a customer will be, even if the property is well known and well loved. Which they aren’t even always.

Though many licensed games largely slip under the radar (see every Shrek game ever made), there a few that have reached the status of legend in the gaming community. Games like Superman 64, frequently called one of the worst titles for the Nintendo 64, and occasionally the worst of all time (Totilo). Superman 64 is so poor in quality and so hard to play that the Attract Screen features a demo video of someone—no doubt someone who worked on the creation of the game—trying and failing to complete the first level. This game has been talked about enough though. So too has E.T., a game for the Atari 2600 which Atari so regretted making that they dug a hole in a desert in New Mexico, and buried all remaining copies in existence (Schreier).

What will be discussed in this investigation are games which have fallen into obscurity, and a few which are well known, but have more history behind them than a glance would reveal.

Continue reading “The Good, the Bad, and the Licensed”

Some People Hate it Oldschool

If you follow me on twitter, you saw that I launched a telnet version of Underground Dungeon. UGD is written in JS, so a port to Node + telnet module was pretty simple. My expectations were, as they are for most of my games, that my mom would play it, and that would be about all the attention it would get. In this case I was incorrect, and a large amount of bots seemed to have joined my mother in my fan club. Continue reading “Some People Hate it Oldschool”

The Quest for Non-Icy Frozen Yogurt – Part 1

My girlfriend, Isabel, and I are big fans of frozen yogurt, in part because of the great experience of serving yourself and all the fun toppings, and in part because of the delicious tangy stuff itself. Because of the quarantine (and because there’s only one frozen yogurt place in Boston), we’ve been trying to make our own frozen yogurt–with mixed, but mostly positive results.
Continue reading “The Quest for Non-Icy Frozen Yogurt – Part 1”

Snippet of the Day 2020-03-27

I want to get in the habit of posting little bits of code that have been useful in my day to day. Here’s a little snippet for material design labels. This creates the little rising effect using pure CSS. I built this to play nice with bootstrap.


<div class = 'mat-group'>	 
    <input type = 'text' class = 'form-control' placeholder = 'anything, but must be something.'>
    <label>The placeholder text.</label>
</div>

<style>
    .mat-group label { position:absolute;margin-top:-1.25rem; pointer-events:none; transition: all .3s ease; color: rgba(0,0,0,.26);}
    .mat-group input:focus + label,.mat-group input:not(:placeholder-shown) + label { position:absolute; margin-top:-2.7rem; font-size: .75rem; color:#009688; }
    input::placeholder {color:transparent !important;}
</style>

In action:

I Wish The Troll Farm Was Bigger

I wish the fake news making farm of trolls in whatever eastern European nation was bigger than it is. And I wish it was huge. I wish there was a small state where people reported to the factory, sat at a desk, and wrote mean comments all day. I hope this because it beats the alternative of a real (real large) body of people who are just that horrible to one another.

Continue reading “I Wish The Troll Farm Was Bigger”

Oh Settings, Where Art Thou

The removal of the headphone jack was a failure. We all know it. There is no one in the world who says “I’m so glad we got rid of the headphone jack so this phone could be .1mm thinner.” There are a lot of people who say, “I don’t want to spend $100+ on headphones that will be unrepairable in a few years,” or “I can’t charge my phone and listen to music at the same time.” Apologists say, “just buy a $x adapter, you can leave it in all the time,” but I’d rather not pay extra money to make a new phone have the basic functionality that my previous phone had.

To the same note: It’s been 7 years since Windows 8 released. We’re still dealing with the UI decisions and the fragmentation it caused in the Windows user experience. We know it was bad, and we continue to suffer with it.

Rewind to 2012. Exciting things are happening. Computers are getting touch screens, we’re looking at Intel processors in phones. It’s seriously looking like there might be a complete convergence of technologies—a momentary dream: run the same software across all ecosystems. Oh how naive we were.

Continue reading “Oh Settings, Where Art Thou”

Self Destructing Wolves (My Favorite Bug Ever)

I said I’d talk about the most difficult bug I’ve ever encountered, but I want to talk about my favorite bug instead. The most difficult issues I’ve faced in programming have been working with bad legacy code, but those stories are just me bashing my head against the keyboard because someone used !important on every other line of a stylesheet.

Instead I want to talk about my favorite bug ever, which took about 30 seconds to fix, but which I’m still thinking about five years later. Here’s the story of the self destructing wolves.

Continue reading “Self Destructing Wolves (My Favorite Bug Ever)”

Fun In Horrible API Land

There’s plenty of API horror stories out there, I figured I’d share mine. This is a story of a certain API of a certain piece of software and the trials and tribulations I went through to avoid making users upload a CSV file.

Background: There’s not a lot of software in the space of the company I was working for at the time. The quality ranges from poor to less poor and my company opted for one of the less flexible more stable bad options–I will call it Athletic. This was customer facing software that had a very decent user experience if you were a customer and a very bad experience if you were actually paying for it.

So I’m building a web app to be used internally at my company which needs data from the software in Athletic. The options are: 1. Download an excel spreadsheet that you can export from Athletic, convert it into a CSV, and upload it. This works, but is a painful process for users and this will need to be repeated weekly, sometimes more often. Option 2 is to use Athletic’s API. I opt for option two. So the odyssey begins.

Continue reading “Fun In Horrible API Land”