Programmers have a long history of being huge advocates of video games, and it’s not simply a coincidence that these two things overlap.
Looking at the way games came to be and the crowd behind them, it comes as no shock that these two fields are so intertwined. Video games are essentially the realization of programmer’s passions for tabletop games.
To really grasp just how influential video games have been to programmers, it’s almost impossible to not mention the history of role-playing games (RPGs).
Dungeons and Dragons
Dungeons and Dragons is one of those things that has reached its influence everywhere. From popular media portraying the nerdy kid as an avid dungeon master, to one of the greatest podcasts, “The Adventure Zone.”
There’s a good chance that someone reading this has either played or knows someone who has. And with the stigma of being a player dwindling, more and more people are just now coming to the famous tabletop.
But in the beginning, there were few. Since 1974, Gary Gygax has been pioneering the undoubtedly largest and most successful tabletop roleplaying game.
Small crowds flocked in to escape their reality and make alternate personalities. The kid who got picked on at school could be a paladin slaying skeletons. It was a truly escapist form of art.
For anyone involved, they knew the intricacies of the game. It was more than just escapism, it was stat heavy. Percentages everywhere. Roll chances. Min/maxing for those looking to be powerful.
Dungeons and Dragons was something people could connect to on a math level. People could stare at character sheets all day and build characters over and over making choices that not only make sense, but also optimize the build.
It’s also a very structured game despite the storytelling. Each roll is a small if then statement that determines outcomes. Status effects are while statements that cripple the player. Leveling up was simply a function to increase the player’s stats.
As time passed on and the crowd grew larger, computing also began to grow. With household computing becoming more accessible and more popular, it was only a matter of time until people tried porting their favorite pastime to a computer environment.
Akalabeth, Ultima, & Wizardry
It was in the late 70's and early 80's that computing really started becoming more accessible. One of the earliest attempts at a homebrew campaign on the PC was Akalabeth: World of Doom.
Created by Richard Garriott in high school with the language Applesoft BASIC, Akalabeth was a true D&D experience that didn’t require a party of four.
Since games were just becoming a thing at this time, Akalabeth was far ahead of its time. It was one of (if not the) first dungeon crawler, and sparked a widespread gaming phenomenon among the college crowd.
Since there was no Steam at the time, Garriott wrote all of the code and saved copies of it to floppy drives which were sold in local stores in ziploc bags.
Akalabeth was the perfect transition from D&D to computer rpg as it established a foundation for what a computer rpg could be.
Eventually, this game sparked two entire series that spawned multiple entries by the names of Ultima and Wizardry. Both series took on different philosophies but shared the same familiar roleplaying elements.
All of these games translated the numerous character sheets, classes, races, and campaigns into raw data that could be interacted with the player. The collections of rules that Dungeons and Dragons has makes it easy to create a set of data that follows these rules.
How this Influenced Programming
As these series grew in popularity, people began to understand what was possible on a computer. Bigger and better games were being made every year and it was only natural that people would want to try to make on themselves.
The only gateway to having their own adventure: to learn programming.
Younger crowds were using their parents’ computers to write simple programs and games which made them better programmers. Young kids around the world started picking up BASIC with the typical:
//10 PRINT “HELLO WORLD”
//20 GOTO 10
It was the start of how programming changed into something more. It was no longer just a thing for people in corporate environments.
Programming was fun.
People could create detailed graphics and make entertainment from seemingly nothing.
The world of gaming since the beginning has lured people in to creating their own adventures. People of all ages and backgrounds that had access to games and wanted to make them, so it’s only natural that they would have to pick up programming.
Even now people have to do some level of code to make games. While things like Game Maker Studio do exist with drag and drop functions, anything that’s slightly complex is going to require some amount of code.
I myself had the same start with programming. I grew up playing game like Final Fantasy and always wanted to create my own equal. I started off with Game Maker at the time but quickly realized I had to dive into their own programming language.
Game Maker soon became a dive into other more powerful languages like Java or Python. Those languages led me to other game making engines like libGDX and Unity which are very code heavy.
Once I got into the code, though, I realized there was so much more possible than games.
Computer programs, mobile apps, websites, the entire tech industry opened up as a playground, and it all stems from that inherent desire to tinker with things.
Anyone who has some experience with programming also can see each of the functions taking control when they’re playing a game. Each button press becomes a function that starts an animation and calculates some sort of output. It’s essentially a very visual way of understanding how programming works.
Why Gaming is Important to Programming
Not only did the two fields grow together, but gaming has made itself into a great gateway to learn how to code. It’s something extremely accessible, and making something as seemingly simple as Super Mario takes time, dedication, and a great knowledge of the many facets of coding.
Getting into game development also helps expand your skillset. It’s more than just the most basic GUI made with JavaFX and some simple code to print hello world. Game dev includes a wide array of topics such as animation, sound, input/output, serialization (for saving games), making key presses do things, and so on.
It’s an endless rabbit hole covering a multitude of aspects of programming that most fields might not even touch.
As someone getting into android development, sound is a very minimal part of the picture and animations aren’t nearly as intense as they are in gaming. It’s just a small portion of the skills needed to get into game dev.
It’s the reason kids who get that drive to make their own game go on to launch such successful careers. They learn how to do many things at such a small age that growing into a different field becomes specializing in just a few areas.
Programming has been around for ages, and it likely wouldn’t be as popular as it is now without the likes of gaming and the natural need to tinker. Kids want to make games, they get into programming, and then they go on to lead successful lives.
So if you’re looking to get into programming and need some sort of push or motivation, just make something you like. Maybe you don’t want to make games, but maybe you want to make an app you need. Perhaps there’s a website you have a great idea for.
Gaming has simply been the entry point for generations of programmers and has boomed the industry to where it is now. So next time you’re sitting back playing a video game, just remember how we got here: a bunch of kids writing in BASIC to make their adventures a reality.