Imagine you’re surrounded by Spartans and warthogs, leading them to a brutal war against an enemy that threatens an entire galaxy. You wander through dangerous canyons and death islands to thwart Prometheans from making Earth their next conquest. Thrilling, isn’t it? But do you know what’s more electrifying than having a combat night with your friends? Making your own Halo (or Mario – let’s not get too ambitious already!)
What is game development?
Before we discover what game development is, let’s clear a common confusion already – game design is different from game development; in fact, it is just a part (though an important one) of game development. Game design involves envisioning the overall design of a game – its characters, levels, rules, environment, etc. whereas game development is putting forth an awe-inspiring sketch and layouts and converting the ideas and visions into an actual game, i.e. developing a game from conception and design to coding and public release!
To join the force, you must speak the language of the clan! And Lara Croft herself has come to your rescue! She has enlisted some of the common terms used in her gaming castle!
- Assets – Models, sound effects, animations – anything that is created in an external software like Photoshop, 3D Max, etc. is an asset.
- Optimization – Optimization refers to the process of reducing memory usage of your assets.
- Middleware – Most of the console programming and game programming is done against third-party tools called middleware. It is a software that adds features and functionalities to make game development easier.
- HUD – The Heads Up Display is what is displayed on the screen when you’re playing a game. For instance, in Grand Theft Auto, you see a map and a radar, ammo, money, wanted level, weapon and player stats – all these elements constitute HUD.
- Viewport – Viewports are where you design and arrange gaming environments. These are your windows into the worlds you create in a game engine.
Wondering what this game engine is? Well, it’s the architecture that developers use to run their game. It enables them to add scripting, sound, physics engine, artificial intelligence, location support, graphics, etc. To put it simply, a game engine is a framework that facilitates different tasks required to write a game. These tasks include drawing menus and text on the screen, organising the sprites – images displayed on the screen, using elements of physics to show collision or gravitational pulls, etc.
Here are some of the most commonly used game development engines –
- Unreal – Powering some of the most stunning games like Gears of War and Batman: Arkham Asylum in existence, Unreal is extremely popular for developing high-end triple-A titles, which means that it is one of the best engines if you’re working on a large game and you need a strong 3D game engine.
- Unity – While Unreal is more popular with console and PC games, Unity has an edge in mobile games. With games like Pokemon GO, Super Mario Run, Angry Birds 2, and Ghost of a tale under its belt, it is at the forefront of the virtual reality market.
Do I need to be a coder to make games?
Yes and no! Game development requires much more than just coding. At the risk of sounding cheesy, I would say developing a game is nothing short of an art! More than just hogging a few programming languages, an artistic bent of mind is what the industry asks for. The title of a game developer is a broad term which includes various specializations in itself. These include game designers, engineers, game artists, game programmers, editors, and quality assurance testers. Game development is a strikingly competitive field and thus, to stay ahead of the game, you’ll need a sound knowledge of designing, programming, fine arts, software development, and framing.
Which programming languages should I learn?
With the emergence of Python as an open source software, leaving behind the snakeskin of long codes, the newbie charmers may believe that it’s the only language for designing games. However, to spill antivenom on your thoughts, here is a list of other languages that are also commonly used for game dev.
- C# – C# is widely used to create games using Unity. When we talk about game dev, it is of utmost importance to consider game response in real time, and C# provides much faster compilation than other languages. Owing to its XNA framework, C# is particularly suitable for games on Xbox and Windows.
- C++ – Fun fact: Grand Theft Auto, Dark Souls, and Snake Eater were designed using C++.
Are you also shocked? Well, C++ is still the preferred choice for game developers for a variety of reasons like its object-oriented nature and portability, that is you can roll out a game written in C++ on multiple platforms. C++ enables shorter development times with easy debugging and compiles to a binary executable file. It also allows more direct control over hardware and graphical processes.
- Java – Java supports multithreading and sockets which make it a good choice for game development. Multithreading allows less memory usage while sockets enable building multiplayer games. Java also runs on a virtual machine which makes it easier to distribute the game.
Oh, I forgot to ask, why should I go for game development anyway?
Well, why shouldn’t you? You spend half of your time playing Call of Duty and other half playing FIFA anyway. If you still need more incentives, it is one of the highest paying career opportunities. A Google – KPMG report states that the online gaming industry in India will grow from $360 Million to $1 Billion by 2021. You will have a variety of career prospects to choose from, viz. game developers, designers, artists, programmers, network programmer, game writers, sound engineers, game testers, and many more.
The career prospects can be better understood once you know the stages that are involved in game development. The stages are broadly categorised into four parts.
- Conceptualisation – The first step is to envision what the game is going to be – its UI, characters, levels, ammunition, etc.
- Art – The next step would be to put your vision into a picture – creating assets and user interface for a game is what game artists do.
- Coding – Let’s call it bringing the game to life. The tech folks write codes to determine how a player interacts with a game.
- Testing – This is where your QAs and beta testers test a creation to see what works and what doesn’t. They hunt the bugs and make recommendations based on the analyses.
- Distribution – Now that the game is ready to set the world on fire, we need to get it out to the gamers.
And once you become a game developer – you could always make the unique game no one has ever thought of building!
How to get started?
So you are in college and you wish to adapt to the unfamiliar Norse lands? Well, I am no Thor but I can strike out that lightning bolt and take you to the Asgard where gamers rule!
- A gamer forever – Don’t worry, you don’t need to be a pro at hundreds of games. All you need to do is play a lot of them! An exposure to various web, mobile, and console games would be your window to analyse different gaming environments and realise the improvements that can be made in a game.
- Exploring the isles – To quote Neil Gaiman, “Most of us find our own voices only after we have sounded like a lot of other people.” So, pick a game that’s easy and small like Flappy Bird and recreate it with the help of tutorials. Throughout this trajectory, you’ll discover new components of game dev, learn your way around a particular editor, and pick up a few coding skills too. Quick tip – try your hand at games made in different editors!
- Evolution of dark souls– Once you’ve developed a few simple games, you are all set to make one on your own (without any help from those tutorials). Pick a game of your choice and develop it – your console, your code!
- Assassins crave the hunt – Take up a job! Do a freelancing project or an internship. Destroy the obstacle called lack of skills with a range of hands-on experiences and real-time projects.
Courtesy: Sarvesh Agrawal is the Founder and CEO of Internshala, an internships and trainings platform (internshala.com)