From Halo 3 to Candy Crush, World of Warcraft to Mario Party—video games of all sizes and forms infuse their way into modern culture. Some are built to engage all the senses, others are meant to pass the time between meetings, and others are part of a growing $1.1 billion dollar competitive industry (eSports).
Video games are one major outlet of computer programming, and different games are built with different types of coding languages. So what coding language do most games use?
Different Categories of Games Worth Considering
The truth is, there’s not one coding language to rule them all.
To understand why, consider the sheer number of different types of games and the different types of systems that run those games. Let’s take a look at a few common examples you’ve probably heard of (and played with!), to see the categories of game design.
AA and AAA Games
World of Warcraft and Fortnite are both massive computer games that use cartoon animated graphics to bring fantastical worlds to life. FIFA and Call of Duty are massive console games that use more realistic graphics to bring gamers further into reality. Though they differ widely on looks, they’re both classified the same.
These games are known as AA or AAA games—they’re the most expensive games to make, but generally have the largest profit, following, and sequel count.
For these, you need:
- Low-level, complex programming languages
- Large teams of coders and developers
- High levels of coding expertise
If you don’t need the frills of a massive, high-budget game, and instead love video games for the stories they can tell, you might be more inclined to indie games. As an indie-game fanatic, you might know all about Super Meat Boy, Fez, and Braid, which were developed by small teams (including teams of just one person). These games utilize simple player mechanics to spotlight the real beauty behind the game: the narrative, the story, the fantasy.
To create these gems, you need:
- Mix of high-level and low-level programming languages
- Individual coders or small teams
- Moderate to high levels of coding expertise
Basic Mobile Games
Then there are games like Candy Crush and Angry Birds, which you might already have downloaded on your phone or tablet right now. These games provide an incredible way to pass the time waiting to pick up a to-go food order or in a doctor’s waiting room.
These mobile games can be created with:
- High-level programming languages
- Small teams of coders and developers (though can be individual)
- Varying levels of coding expertise
Web-Based Browser Games (“Flash Games”)
Flash games are short (typically 2-dimensional) games you can play on your web browser. These may look similar to basic mobile games—as many are created for both platforms to increase the user base—but actually require less coding experience to create. Additionally, web-based browser games use some of the easiest coding languages for new coders.
In short? Web-based browser games are typically where game developers hone their craft and begin their journey.
This is because flash games can be created with:
- Simple-to-learn high level programming languages
- Individual game developers (though can be small teams)
- Beginner levels of coding experience
If you’re in the beginning of your game designing career and want to practice, these are the perfect place to begin. With a rudimentary understanding, you can easily make action games, racing games, concentration games, puzzle games, and more.
So, now that we’ve separated out the game design landscape, let’s dive into what languages each game uses most.
Languages Used in Each Type of Game
You probably noticed that these games went from big-budgets, large teams, and complex projects all the way down to small-budget (or no budget), small teams (or a single coder), and simple projects.
The beauty of games is that these can be enjoyed by players equally—it’s all a matter of individual taste.
It also means that beginner coders can enter the game world without much knowledge of programming and build their way up to learn more about games and coding in tandem.
In that spirit, let’s build our way up.
Here are the languages most commonly used for:
- Web-based browser games
- Basic mobile games
- Indie games
- AA and AAA games
Languages Used in Web-Based Browser Games
- HTML5 is the latest version of the standard HTML (or Hypertext Markup Language) which is used for building everything web-based. Websites, web pages, and web-based applications (e.g., web browser games) are all outlined, structured, and designed through HTML5.
- CSS3, similarly, is the latest version of the standard CSS (or Cascading Style Sheets) which builds on top of HTML (or HTML5) to stylize the content. CSS (and CSS3) can be used to alter text, images, and blocks to change the font, color, shape, size, and more.
To understand how all of these different languages fit together like a puzzle, an analogy can help. If these languages were used to build a boat…
- HTML would be the wood and fiberglass structure of the boat. HTML is what makes the vessel a boat and not a raft or life vest (to extend the metaphor)
- CSS would be the wood finishes and paint job. CSS is what turns the boat’s skeleton into an actual boating experience.
These same three languages constitute the pillars of web development.
With Disney Codeillusion’s innovative educational (and entertainment) experience—you can practice building action games, racing games, concentration games, puzzle games, and more, all while participating in a fun, magical RPG.
Here’s how it works:
- Each lesson takes place in one of 14 Disney worlds, including a few familiar places and spaces from Wreck-It Ralph, Frozen, Aladdin, Tangled, Lilo & Stitch, and more.
- Students of all ages and coding experience will practice with a “no-stuck” experience, meaning help and guidance is always available when needed
Thanks to more than 10 years of coding education experience, Disney Codeillusion boasts a completion rate well-above the average.
Languages Used in Basic Mobile Games
Objective-C and Java are heavily used in basic mobile game development.
- Objective-C is an older language that came into popularity in the ‘80s. Still today, it is widely used for mobile games to be compatible with iOS systems, and due it its flexible and user-friendly syntax.
- Java is another older language, originating in the early ‘90s. It’s usage in basic mobile games is thanks to its (almost) universal application and compatibility.
Basic Mobile Games vs Premium Mobile Games
The reason “basic” mobile games need to be separated into their own category is because of the industry at large. The market share for mobile games, including mobile, tablet and smartphone has grown tremendously in the past ten years. This is a direct reflection of the computing and processing powers the smartphones of today have, versus the smartphones of 2010.
The market share of mobile games has swallowed a large chunk of the market share from PC and boxed games, as examined in a 2018 report:
- Mobile games (mobile, tablet, smartphone) – 51% of industry market share
- PC games (PC, browser PC games) – 24%
- Boxed games (PC boxed, PC downloadable, console) – 25%
Because of the tremendous rise in mobile games, it’s not uncommon to see sizable teams (some are even comparable to AA and AAA games) working on mobile games.
Fortnite, League of Legends, and Hearthstone are big-box games originally made for the PC. However, the game developers tried to capitalize on the mobile game market by translating their game to mobile.
It’s been met with mixed reviews, but the objective reality stands—mobile games dominate the market.
Languages Used in Indie Games
Languages Used in AA and AAA Games
C++ and C# are the standard go-tos within the big-box game developer community.
- C++ is the gold standard when it comes to game development. While it’s more low-level than easier, beginning languages like HTML and CSS, professionals love its functionality, diversity, and advanced capabilities. Because it’s closer to machine language, it doesn’t require as much memory for the operating device.
- C# runs slower than C++, which means the big-box games can’t be as memory-intensive. That said, it’s a higher-level language than C++, offering newer coders access to some of the benefits of it’s lower-level cousin.
Some games made with C++ include World of Warcraft and Borderlands. Those made with C# include Pokemon Go and Assassin's Creed.
If you want to make games as an individual, you have certain limitations. It would take a lifetime to create a game like Call of Duty by yourself, and by then, the graphics and systems would be so outdated that it probably wouldn’t run on the futuristic Playstation 20 or XBOX 8000.
However, the more limitations, the more creative you can be.
NewZoo. Newzoo Global Esports Market Report 2020 | Light Version. https://newzoo.com/insights/trend-reports/newzoo-global-esports-market-report-2020-light-version/
NewZoo. Mobile Revenues Account for More Than 50% of the Global Games Market as It Reaches $137.9 Billion in 2018. https://newzoo.com/insights/articles/global-games-market-reaches-137-9-billion-in-2018-mobile-games-take-half/