From Super Mario to Super Developers

Today, in honor of Nintendo’s 121st birthday, and as an homage to their 8-bit NES console that shaped the gaming industry, Michael Bleigh has designed and released a commemorative 8-bit version of our website. Many of our developers at Intridea grew up playing video games in the 80’s and 90’s and recall the hundreds of hours they spent playing Nintendo games with great fondness.

In 1985, Nintendo released the Nintendo Entertainment System, known simply as the NES, and breathed life back into the recently dismantled video game industry in North America. The video game “crash” of 1983, in which the world discovered the mediocrity of the console game development industry, both soured and ripened the soil, ensuring Nintendo’s fated success.

Although the big players (like Atari) in the console gaming market were sinking, Nintendo did encounter several challenges in entering the American market with the NES; as a result of the market crash, U.S. retailers had declared console gaming to be a fad that had run its course, and they didn’t want to give shelf space to video games. In addition, gamers were disenchanted with console games after suffering through a montage of really bad titles from Atari, ColecoVision, Magnavox Odyssey and others. Nintendo would have to earn back the interest and the trust of gamers by delivering unquestionably addictive games. The biggest challenge Nintendo met was rising competition with the computer gaming industry, since the prices on Commodore computers had dropped significantly in 1982.

Despite the challenges that Nintendo faced in releasing their new console in the American market, the NES went on to be the best selling console of the 1980’s, totaling 61.91 million sales, more than double the number of Atari 2600’s that were sold. Nintendo continued making consoles, games, and handhelds, shaping Japan as the mecca of the world-wide gaming industry. Today, when we think of Nintendo, many of us are nostalgically pulled back into the eternally magical worlds of Mario, Zelda, Duck Hunt, and Donkey Kong. The Nintendo characters of these worlds are cross-cultural and cross-generational. But few people know that Nintendo was created 121 years ago by Fusajiro Yamauchi, as a producer of intricate and beautiful playing cards, called Hanafuda cards. The company was passed on through the Yamauchi family, and grew in different directions over the generations; it once dabbled in the instant rice business, and even had a chain of “Love Hotels”, before Hiroshi Yamauchi met a maintenance man who inspired him to steer Nintendo into making toys. Later, he met an artist and designer, Shigeru Miyamoto, who would later create Super Mario Bros, one of the most popular video games in the industry.

It’s common to hear developers talk about the video games they grew up playing as children. Through my research and personal experience, I’m finding that a side effect of the gaming surge of the 80’s and 90’s is that many bright, young kids were able to connect with technology in a meaningful and fun way. What resulted for many of them, was a desire to learn more about the hardware and software that fueled their entertainment. The gaming industry has given us many exceptional developers. A lot of programmers that I talk to tell me that their first encounters with programming were during their younger years, and say that it was gaming that initially got them interested in programming. Our Director of Mobile Development, Brendan Lim, says that gaming as a kid resulted in him becoming a programmer later in life.

Brendan Lim

As a kid, I played video games non-stop. Video games were also my incentive for doing well in school. I remember a deal I made with my mother in elementary school. If I got into the “gifted and talented” program, she would get me Super Mario Brothers 3. Needless to say, I got my copy of Super Mario Bros 3.

Around the time the Nintendo 64 came out, I would always read N64.com to check out video game news, game previews, and reviews. It was one of the first popular video game websites, and the first game network that ended up being part of IGN (Imagine Gaming Network). After my brother introduced me to basic HTML, I decided to try and create my own website called n64Xtreme. I provided a fairly constant stream of Nintendo 64 news. Once I realized that the public relation companies of video game publishers would offer review units to popular websites, I started reaching out to them and started getting new games to review all the time. Since I didn’t know about making dynamic web pages yet, I decided to create a Visual Basic application to make the process of creating the HTML for these game reviews much quicker.

I later expanded onto multiple consoles with a new site I started, VGamers.com, which led to me learning more about HTML, CSS, and JavaScript. After a few months of doing VGamers.com, I was contacted by Gamers.com in 1999 to help with their site. I was 15 at the time and this was my first job where I earned decent money (especially for a kid). After Gamers.com, I spent a little time helping out with a game cheat codes site, GameSages, which has now been absorbed by IGN.

The more I worked for these sites, the more I had a chance to get hands on experience with web development. I even dabbled a bit with mod creation with Unreal Tournament and other PC games later in my childhood. All of this led to my interest in computer science and helped me get to where I am today.

Adam Bair, our Director of Development, was also led to the path of programming by spending much of his youth gaming. In his Insider interview back in June, he talked about how gaming sparked and drove his love for technology.

Adam Bair

I started gaming with text adventure games on BBS’s (known as MUDs) and became obsessed with PC gaming when games like Wolfenstein and Doom were introduced. Back then, there was much leg-work to be done in order to support a hardcore gaming hobby. For example, I had to learn how my modem worked so I could play Doom with a friend by dialing into his modem directly over a phone line. I even replaced the telephone lines running to my house; I had to make sure I had the fastest, cleanest connection. The lines get fragile over time from exposure to the elements, and that can affect the speed and quality of the connection.

Today, someone can be a ‘gamer’ and not necessarily (or even likely) be a geek. But back then, you had to be a geek in order to be a gamer. Those were the ‘good old days’. I would stay up all through the night, playing around with old Linux distros, reading about electronics, reading 2600 magazines, connecting to BBS’s and gaming. I had to learn how to piece together multi-zip files, and how to run games in DOS. I remember spending hours playing Doom 1, Asteroids, Missile Command, and Mario Bros. When my Mom woke up at 5 in the morning for work, we’d have coffee together before I went to bed. It was all that gaming that turned me into a geek, and put me on the path to being a programmer.

Adam learned Ruby in 2005, and has been teaching classes on Ruby and Ruby on Rails intermittently for the last couple of years. Recently, he taught a class at Lone Star Ruby Conference, in which he live-coded a complete OpenGl Asteroids clone using Gosu, the 2d gaming library. Of all the classes that he has taught, this was by far his favorite. “We weren’t writing another web application – we were building something fun, and the process was exciting. It was kind of like archaeology. We were digging into a classic arcade game to figure out how it worked, what math was involved, and how the graphics were done. It was interesting how something from my childhood could be so engaging on a different level as an adult. You can assume that most programmers today grew up playing classic arcade games, and Nintendo games. So in my class we weren’t just connecting as programmers, we were connecting as gamers. With a game, you’re trying to create “fun”, and that’s different to different people. By the end of the day, each student had their own twist on the game.”

I set out in the Twitterverse to investigate the almost predictable relationship between being a programmer and being an avid childhood gamer. I talked to Ben Hamill, an Austin-based Rubyist, working at OtherInbox.

Ben Hamill

I started playing video games with the NES (like Mega Man 2 and Super Mario Bros.) and old school Mac games. It wasn’t really until Jr. High and early high school that I started toying around with programming, but I feel like those early games instilled this idea that you could make a computer do what you wanted and that you could build systems that would behave by rules and it would be fun… or produce fun. I built an association between being bored and having a computer dispel the boredom. So I wrote the creatively named, “Guess The Number” on my TI-82 calculator when I was bored in Calculus. It kept a high scores list and everything. The language was a lot like what I’ve seen of BASIC. All GOTO and WHILE and such.

About that time, I got into MUSHing, which is basically text-based roleplaying over Telnet. The engine that the MUSH ran on included this Lispy scripting language. Lots of nested function calls(like(you, would), never(see(in, ruby))). I became intrigued with it because you could make commands on yourself for your own convenience and as I got better, I eventually got appointed as the coder guy. I ended up rewriting substantial portions of the most commonly used commands.

And THAT is the biggest tie, for me, between gaming and programming. There was a strong feedback loop between the two. I even started a few (never launched) MUSHes with other folks and wrote a mail/bulletin-board system that was fairly complex. It was, and I’m sure this isn’t rare, more fun than playing the game at times.

My brother, Jared Hodgkins, is studying Computer Science at a local college in Maine. He says that he was inspired to learn programming at the age of 13 because, “I wanted to be able to make my own games that would make up for the flaws in the games I was already playing.” There were times when he would pass out on the living room floor, NES controller still in his hand, after playing far too many hours of Mario when he was only 6 years old.

Sarah Frisk, a recent CS and English grad at Colby College, revealed, “Gaming actually did inspire me to become a programmer. It’s partly why I’m an English & CS major – I want to make RPGs someday.”

And Darcy Laycock, a web developer with the Frontier Group in Perth, Australia wrote to me about how his first encounters with programming were gaming related.

Darcy Laycock

My first introduction to programming was with Tim Sweeney’s (of Epic Games) amazing application, ZZT. ZZT was a great application that let users visually build games (the graphics being all ANSI-character based) and then use a simple programming language, ZZT-OOP to build out the game.

I took the plunge and over a weekend or so I taught myself a little bit of ZZT-OOP and wrote my first game – The affectionately titled, “Destructo Guy” – a game about an awesome guy who basically destroyed stuff like his enemies. Of course, the game turned out horribly, but this didn’t deter my young mind; I cracked down and wrote more and more and released better versions of the game.

Since then, I’ve learned a lot and have become a much better programmer. I’m currently in a university working on my degree in Computer Science, and working for a great company, whilst still being involved in lots and lots of open source stuff that can be found here and here. But the lessons I learned from ZZT got me hooked and have stuck with me ever since. It’s really only because of games that I eventually learned programming (and don’t even get me started on how Counter Strike Source got me started in web development!)

Of course, not every programmer was once a hard-core gamer. And not every gamer out there will become a programmer and level-up from their parent’s basement. But there is an undeniable connection between programmers and gamers. The people I interviewed hinted at the source of that connection briefly. What I think it comes down to is the awakening that happens within the gamer at the point when he/she realizes that the power to create these systems of sheer fun is within their own reach. This moment of awakening spawns a young developer that will work tirelessly to learn the very system that they have enjoy manipulating with a controller. And because programming is inherently joyous, (it is almost intoxicating when you first realize that you can essentially create anything your mind desires out of nothing), those who have the capacity to absorb and understand the work of the programmer, generally go on to become blissful developers.

The rapid growth of both console and computer gaming in the last two decades has defined a generation of geeks. It wasn’t long before the media caught on to the trend and our burgeoning geeks had access to tech channels like ZDTV, niche magazines, and a plethora of online resources to learn about anything related to technology. Although I am witnessing a growing obsession over intricate sandbox games like Dwarf Fortress and Minecraft amongst programmers, many developers I talked to are so absorbed in their work that they have difficulty finding time to play video games anymore. But developers like Brendan and Adam look back upon those gaming years with reverence; amidst their adolescent happiness, they found a way to learn a skill that would keep them both employable *and* happy.

So today, as Nintendo celebrates 121 years of awesomeness, we pay our respects to the gaming giant that pioneered the industry for our generation. We hum a little Mario tune, our thoughts turn all 8-bit for a moment, and we pay a moment of silent respect to our mums and dads for letting us play video games as kids.