How webmail was almost a game

Written by mankins | Published 2017/01/19
Tech Story Tags: gaming | this-happened-to-me | history | web-development | game-development

TLDRvia the TL;DR App

I owe my profession (“I do stuff with computers”) to an early obsession with video games.

After elementary school the neighborhood kids would emerge and begin our ritual bike chase to mark the start of play time. Eventually we would realize we’re goldfish in a cul-de-sac shaped bowl and someone would suggest we ‘go over to Charlie’s house’ where we’d play Wizardry on his Apple II until dinner time or maybe two minutes past.

Wizardry transported us into the opposite of suburbia and after a few months would permeate all aspects of playtime. Hide-and-seek would involve gold. Bike rides had a maze element. I’m sure there were spells and health points, although I must admit only the basic shapes of the time and its early, craggy graphics are currently retrievable by this former neighborhood kid.

Fuzzbomb and a bug solidify the future

My first all-nighter — or at least the first time I remember staying up after 1am — was at my friend Pat’s house where we devoured a new game that we called Agent Fuzzbomb. After this experience I just wanted a computer of my own.

After who knows how much time begging my parents, one day my mom brought home a Commodore 128, and my life’s path became more directed.

Funny thing though: as we turned on that first computer it made a funny noise — something I’d later recognize as electronics melting — and after a flicker, my dream refused to turn on. After hours of futzing we discovered a funny looking bug that had crawled into the enclosure and we can only guess fried himself and my new C=128.

The world may have been asking: “Are you sure you want to spend your time staring at screens? Think about it, ok?”

My eleven-year-old self didn’t get the message. Luckily I’m ok with that.

As games grew up, so did we?

I’d spend the next few years typing in games from the backs of magazines like RUN. I learned to program accidentally by modifying those games to do something else. I learned how to debug by finding the inevitable typo that caused unexpected behavior. (I’m sure that my affection for RUN would later fuel my desire to be part of a magazine.)

By the time I hit puberty I’d decided that computers were too dweeby (POKE 53280,0 anyone?) and hid the pastime from my friends who had mostly moved onto games played in consoles where the only option was to play the game and not hack it up after the fact.

The games and graphics got better. I got a job mowing lawns and no longer had to rely on typing in games a line at a time, but could instead go to the Mall and be social before slipping into the game store to look for new arrivals. Epic’s Summer Games seemed so realistic, at least until my brother got a Nintendo, which should get credit for a fair amount of our brotherly bonding over failed attempts of saving that unlucky princess.

The Devil’s Triangle was mine

Then I got a modem. I started a BBS called The Devil’s Triangle and became Mr.Me (that’s “Mister-dot-Me” and explains things) in those hours that used to occupy circuitous bike rides and RPG-laced games of hide-and-seek. I began talking with people online…who called into my bedroom via the modem. It was weird, but natural at the same time.

At the time a BBS was really just a bunch of text-games (Empire, Stock Market), a chat function where you could write the SysOp (system operator, that would be me in this case), and maybe a place where you could exchange files (games).

The way the exchange worked is you had to upload something first to have the credits to download. Needless to say I began to amass a large collection of games. Which meant that I needed more disk space. Everything was on floppies at the time, so I would just switch out the floppies every few days.

Eventually I maxed out the storage capabilities of the C=128, adding memory and drives so that my room looked like the space shuttle control room. Or so I thought. I began an email exchange network that would have my computer call others on the network and transmit forum posts in the middle of the night when long distance rates were at their lowest. This extra space and early inter-networking made my BBS one of the larger ones in my small town.

While I had all the games I could ever want, there was little time to play them because if I turned my computer off the BBS would go down. Maybe this obsession with uptime helped wean me off of games and would eventually harden me with a system administrator’s rigor.

Enter the Rocket Scientist and Demented Dave

Games would eventually turn to conversations as my teen years began. On a modem, no one knows you’re 12. I was able to convince a retired NASA administrator who lived nearby to be my Co-SysOp. IRL I met Bob only a few times. He used to be in a high position at Goddard Space Flight until he got struck by lightning while playing golf. We’d nevertheless chat for hours about whatever.

I’m not sure what my parents thought of it all. As we’re now aware, not everyone you speak to online is a rocket scientist. Near the end of the BBS era I befriended a Disney employee whose handle was “Demented Dave”. He offered to bring me to Disney MGM Studios for employee preview day, before the park was open to the general public. Living in the shadow of Disney, I squealed with excitement to get to go to the park before all my friends. I’m not sure it was a good idea. Nothing “bad” happened, although I remember a) understanding why his handle included the word demented and b) a heavy chain smoking in a small car that I thought had no business doing 55 mph.

Around the peak of The Devil’s Triangle’s popularity I hooked up the ELIZA chatbot to the system chat feature. This drove people crazy (“are you saying no just to be negative?”) but hinted at what the world could be with AI. Maybe we’re just now coming back to that moment where you first discover the person you’re talking to isn’t a person after all?

And then, it was gone

Around the time of the MGM trip, an older friend’s BBS had gotten shut down by the FBI. Or so the rumor went. Piracy, they say. With that nudge, I got out of BBS operating, stopped my obsession with gaming and instead picked up conversations via PC Pursuit, a network we’d recognize today as being Internet-like.

Games were always there, making computers fun

I’m sure I played a few games in high school, but my use of the computer would take on its mostly practical form that largely exists today. In the place of first person shooters would be the new worlds of Desktop Publishing run on the high school’s “portable” Mac SE.

During college, where I stumbled into a role as the “web guy”, we would play networked Doom in the Architecture computer lab after hours. As the system admin there I had access to the best graphics cards on campus…which meant the best place to play games on campus.

This social environment playing games in the middle of the night at the lab brought out the coder in me once more. Admittedly many people were up late slaving over AutoCAD to meet their class requirements, but the backdrop of gaming kept the environment fun and fresh, a place you wanted to hang out. And in my case when I got bored of Doom I’d turn to programming.

It’s undoubtedly during one of these late night sessions when the first webmail came together.

DotShop Cybermall, Inc.

As the “web” happened, so did my first company, dotShop. With barely a dream of a new future, I was able to assemble an awesome team of coders and get them to focus their efforts making web applications with funny bird names using computers all named after video games. In retrospect I think most of that group of programmer’s hearts were in games instead of the web. I should have known when one of our coders made a Quake level skinned with our product images.

The dotShop crew would go on to do amazing things: Jah joined id, where he made Quake Live amongst others; Bob is now CEO of Uber Entertainment and VicX formed the game studio Digitalo. I often wonder what we could have done if we wanted to make web games instead of webmail.

That Color Game

Maybe my gaming days are over, but really, who doesn’t like to have fun? Shortly after moving to New York (2009ish?) I got the idea to build an iPhone game where you’d be presented with random images and have to use your phone to take pictures around you to try and match the colors as closely as you could. I got together a prototype fairly quickly and passed it around the office where it was well received.

Around that time the real-world intervened and gave me another job and then another, and so the Color Game never got released in the App Store. As anyone who’s worked on a project knows getting that last 5% to “done” is often the hardest part the the trek.

“Finish Color Game” has stayed on my To-do List since then. I’m happy to say I’ve crossed it off with a new incarnation called “Rainbow Rooster”.

Rainbow Rooster: an AI-graded color game you play with your camera. What?

I don’t know how you are, but when I’m between projects I need to do something different to freshen the mind. As one project wound down this November I needed something fun to lift my spirits and cleanse the “palette” (see what I did there?) so to speak. My To-do List was filled with serious, hard things. I needed something fun. A game to lighten the post-project depression. And so the “Color Game” was revived.

React Native > Objective-C

I dusted off the old “Color Match” code base. It didn’t open in Xcode it was so old. After all the upgrades it wouldn’t compile. Ah well, the back end was in Perl, might as well do a new version anyway.

I’d been wanting an excuse to dig into React Native, after hearing good things about it from the Vogue team. In React Native you can write an app in JavaScript and with just a minor amount of futzing have it running on Android and iOS. While writing Objective-C is fun, I also remember it being a slow development process, filled with compilation pauses. I had gotten too used to instant compilation and reload that is common in web development these days. So React Native it was.

Welcome to 2017, AI

Of course I had to make it interesting. This time around I wanted the game to not only match colors, but also give you points when you matched the content. So all images are now run through an image recognition AI to determine what objects are in the images. Besides points for matching the colors (“rainbow points”) you get bonus points for matching the objects (“roosters” in the game’s vernacular). Double the fun.

Gameplay

In Rainbow Rooster, you’re presented with 3 random images. Your job is to use your camera to take a photo from your surroundings to match those pictures as closely as you can. Once you submit your images the system will upload them and grade them based on how well your color matches as well as how many similar objects were detected in your photo.

At the moment the AI is used to detect the objects in the photos. In the future I’d like to expand it to other aspects of grading, because the current algorithms to answer “how well does this color match” are largely focused on “very close” differences between two colors. It doesn’t do as good of a job to answer questions like “How close is blue to green?”. Rainbow Rooster has its own version of an answer, but I suspect that we can use ML to tease out the more subjective realities of how humans actually would answer such a question.

That’s my story in games. Please give Rainbow Rooster a try?

Rainbow Rooster is now available on the Apple App Store.

Rainbow Rooster - AI Color Game on the App Store_Read reviews, compare customer ratings, see screenshots, and learn more about Rainbow Rooster - AI Color Game. Download…_itunes.apple.com

Won’t you give it a try and let me know what you think?

Read more about the game in our announcement post.


Published by HackerNoon on 2017/01/19