Sponsored By

A Gamer's Guide to Gaming: Book Excerpt - The Sorcerers of Game Development (Programmers)

In this excerpt from my book, A Gamer's Guide to Gaming, I introduce readers to just one of the many disciplines that contribute to the making of a game, the mystical Programmer!

Oliver Snyders, Blogger

August 27, 2015

10 Min Read

In this excerpt from my book, A Gamer's Guide to Gaming, I introduce readers to just one of the many disciplines that contribute to the making of a game: The Mystical Programmer!

This excerpt appears in the first seventh of the book, in a chapter that aims to explain the people who make videogames, and how they're made, before lurching into more in-depth topics about the current trends and future developments of the industry, the culture surrounding games, what games are and what they can be, and more detailed topics like:

- What Makes a Game Fun?

- What Makes a Game Great?

- What Makes a Game Addictive?

- What Makes a Game Successful?

- Virtual Reality's Tough Battle Ahead

You can find another except from the book at the official website, taken from the first part of a chapter discussing What Makes a Game Fun: www.agamersguidetogaming.com

But for now, please enjoy this excerpt:

 

Chapter One: Videogame Developers Part 1

Videogame Programmers

 

If the videogame industry was set in a fantasy realm of demons, dragons, and magic, then videogame Programmers would be the sorcerers of this world; powerful wizards who can tap into arcane arts to conjure light from shadow, summon fire from the heavens, and raise living creatures from dust and dirt. In this fantasy scenario, programmers would be highly respected for their mysterious knowledge, and greatly feared for their ability to turn you into a newt.

In the real world, however, Programmers possess skills that could be considered just as impenetrable as the magicians spoken of in fable and fantasy, with an innate talent for ‘speaking’ to computers by typing in one of the many languages and dialects that our advanced technological allies (and one day, our overlords) can understand.

To the untrained eye looking at a computer monitor filled with lines of code, these programming languages - from C and C++ (C Plus Plus), to C# (C Sharp) and the Lua scripting language – would appear as though someone had randomly smashed their hands on a keyboard for a few minutes, coincidentally hitting certain keys more often than others, like the ‘enter’ key to change lines, as well as a few symbols like ‘;’ and ‘{’ and ‘[’ and others.

In reality, every ‘word’ and symbol placement has a purpose, used to communicate to the computer what the Programmer would like it to do, and when. If even one symbol is out of place or one ‘word’ is used incorrectly, the computer won’t understand what to do and will either refuse to carry out a task until the mistake is corrected, or drag its feet trying to complete it. Garbage in, after all, is garbage out, although I’m beginning to think computers are just obsessive compulsive, and passive aggressive on top of that.

What exactly do Programmers talk about when they’re typing up conversations with computers? Do they ponder deep existential philosophies, debate political idealism, or perhaps catch up on celebrity gossip? Not quite, but Programmers do stick to a few standby topics of discussion, and depending on the size of the team certain programmers have become very specialised in the topics that they tackle when chatting with a computer to encourage it to talk back and successfully complete a given task.

 

“Is This a Game... Or Is It Real?”

 

It’s debatable, but I would say that the topic of videogame ‘graphics’ is the most important conversation a game Programmer can have with a computer. While Graphics Programmers aren’t necessarily responsible for everything you see in a game, they are responsible for how and why you see it. If you look at a videogame on a screen and you see swaying trees, rustling grass, a dozen soldiers marching across a field, and a burning sun setting behind rolling hills, it’s the Graphics Programmer who has coaxed the computer into displaying, or rendering, those visions onto that screen, taking art created by a specialised artist and translating it into something a computer can understand.

I’m beginning to think that computers are philistines, too.

It’s the same for other visual elements, like animation to determine how and when things can move in a game, and User Interface, or UI, which are the graphical elements that you see when navigating a menu, or displayed over the game to show things like your current health, ammunition level, map, and objectives in an action game. Other people created the UI art and animations that you see, but specialised UI Programmers and Animation Programmers ensure that they show up correctly.

Other specialised software engineers (hoity-toity programmers like that term) include Gameplay Programmers, who give players the ability to run, jump, shoot, click, and generally interact with the game; Networking Programmers, necessary for online and local multiplayer games; Physics Programmers, who can imbue objects in a virtual world with weight and gravity; Audio Programmers, who make sure sound effects and music play correctly; Tools Programmers, to provide the rest of the development team with custom software to make the game; Script Programmers, who make it possible for events to take place in a game; and Artificial Intelligence, or AI Programmers, who give in-game enemies, allies, opponents, and other characters a mind of their own so they can decide how to react to player actions, where in the world they want to move, and what action to take once they get there.

Videogame Programming is a tricky discipline, made all the more complicated by the fact that all of the different specialised code for Graphics, Networking, Animation, Audio, AI, Gameplay, and more all have to work together in sync without causing problems for one another, because if they don’t they’ll cause errors and result in broken games that stop working without notice, or games that don’t work as intended.

Characters’ faces turning inside out, characters ‘falling through’ the game world, erratic enemy behaviour, and games ‘freezing’ or ‘crashing’ are just a few examples of what happens when code isn’t written properly by Programmers, or when different parts of the code clash. These errors are all referred to as ‘bugs’ that need to be fixed ideally before the game’s release, but sometimes [READ: All the time] bugs of varying severity will slip through into the final product, which then need to be addressed after release with fixes contained in a downloadable patch.

(Excerpt From My Upcoming Memoir: “When I first started following games, and for the longest time, when people talked about ‘bugs’ in a game I thought they were talking about actual little virtual bugs that attacked you, forcing you to defend yourself and kill them.

It was only when my friend [Redacted] spoke about there being too many bugs in a new game s/he was playing, [Redacted], when I realised what videogame bugs really meant. This makes it all the more confusing when you’re talking about a game that has actual virtual bugs in it, as opposed to the error kind. You may as well be living in a sitcom there are so many misunderstandings! Oh videogames, you’re so weird!”)

 

John ‘The Wizard’ Carmack

 

I would wager a good deal of money (Note: This is not a challenge) that the most respected and influential videogame Programmer of all time is John Carmack, previously of id Software (DOOM, Quake) and now serving as Chief Technology Officer at virtual reality hardware developer, Oculus. Carmack’s contributions to videogame graphics Programming are many, and his influence on the videogame industry as a whole is incalculable.

Dozens of current game developers would cite id Software’s early games like Wolfenstein, DOOM, and Quake as inspirations for getting into the industry in the first place, helped along by Carmack’s desire to share his code with others, which in turn spurred many an amateur developers’ growth into professionals by allowing them to make new games based off of things Carmack had worked on.

When you take into consideration that many popular games over the years - from Half-Life to Call of Duty - have directly used Carmack’s innovations or followed in his footsteps, it’s impossible to estimate how much the videogame industry owes to him. He’s only one of a few game developers I would ever venture to call a true legend, and his work at Oculus may very well change the course of the industry yet again. A remarkable fellow.

Carmack isn’t the only recognisable name in the Programming game, of course. We had a brief chat about Tim Sweeney a little while ago, who is usually mentioned in the same breath as John Carmack as far as brilliant graphics programmers are concerned, while Corrinne Yu at Naughty Dog (Uncharted, The Last of Us) has quietly been going about her own works of brilliance by lending her programming talents to games like Halo 4 at 343 Industries and Borderlands at Gearbox Software, while contributing to graphics technologies developed by Microsoft and tech company, Nvidia. Oh, and in her spare time Yu enjoys taking part in award winning nuclear physics research, and programming systems for space shuttles. Ain’t nuthin’ but a thang.

While I don’t really think of him as a programmer, Sid Meier at Firaxis (Civilization, Alpha Centauri) definitely fits the bill having worked on beloved strategy games and flight simulators for over thirty years. At over sixty years young, Meier is still involved in the Programming and designing of the games he works on, while managing and mentoring other projects that bear his name. Above all, Sid Meier remains highly respected not only by the people who play his games, but his peers and employees, too – by all accounts, a real swell guy, and another legend to add to the list.

One more programmer I would direct your attention towards is Anna Kipnis, a Senior Gameplay Programmer at Double Fine Productions (Psychonauts, Broken Age) who has not only been in the industry for over a decade working on a collection of terrific games, but regularly shares her game development knowledge during public talks as well. Kipnis has also co-organised the worldwide ‘MolyJam’ videogame prototyping events which (virtually) bring together hundreds of developers who create small experimental games in under forty-eight hours.

… OK, last one: Adriel Wallick is a Programmer who rose to prominence in 2013/14 for her continued ‘Game a Week’ project, and like Anna Kipnis, organises a social videogame prototype event of her own, except hers takes place on a train, aptly called ‘TrainJam.’ Did I mention the train is moving during the event’s 52-hour running time, travelling across the United States countryside from Chicago to San Francisco? And like Corrinne Yu, Wallick has also programmed systems that have been launched into space, in her case, satellites.

Well, I never, these Programmers are very clever indeed!

 

 

Thanks for reading!

You can find another except from the book at the official website, taken from the first part of a chapter discussing what makes a game fun: www.agamersguidetogaming.com

You can also catch me on Twitter if you are so inclined: https://twitter.com/OliverSnyders

Read more about:

Blogs

About the Author(s)

Oliver Snyders

Blogger

Oliver Snyders can be found working on games with his brother over at KO Entertainment Software (http://www.kosoftgo.com), participating in South African game development communities SAGameDev (http://www.sagamedev.com) and Game.Dev (http://www.gamedotdev.co.za), and contributing content to videogame news blog El33tonline (http://www.el33tonline.com). He spells "videogame" that way because it's correct.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like