Quantcast
Channel: GameDev Academy
Viewing all articles
Browse latest Browse all 1620

How to Code a Game – A Fun Guide for Your First Video Game

$
0
0

If you’ve ever wanted to create a game, you might know that some form of coding is required (beyond the actual video game design that is). Coding is, after all, what essentially makes the magic of games happen behind the scenes. So, becoming a game developer, whether as a professional or as a hobbyist, does require you to learn how to code.

Throughout this article, we’ll be looking at some core questions of how to learn to code for games, including what programming languages are best for games as well as what game engines are best.

So if you’re ready to learn how to make games, let’s get started!

How to Code a Game

What is Code and Coding?

To begin, we need to understand the concept of code. Basically, code is a large list of instructions that we give to the computer to execute. There are a few steps along the way for this to happen. First, we have the programmer which is a person who writes code. They write the code inside of an integrated development environment (IDE), which is basically a specialized text editor. Once the code has been written, we can’t just give it to the computer to run since it has no idea of what it’s looking at. Computers at their core calculate and store information physically with 1’s and 0’s (or on and off values).

So although a set of code may be legible for us as humans, a computer is none the wiser. In order for the computer to understand our code, we need to compile it. Compiling basically means converting the written text, to 1’s and 0’s (machine code). Once at that basic level, the computer can understand and execute the code.

Below is a sample of pseudocode – coding game logic that doesn’t necessarily refer to any specific language. This sample executes when a hypothetical player takes damage from an enemy.

subtract damage from health

if health less than or equals to 0
    game over

First thing to know, is that code is read from the top down. A computer reads code one line at a time. First, we subtract the damage from the player’s health. Then we check to see if the player’s health is less than or equals to 0, and if so – game over.

Unity coding example

CTA Small Image

FREE COURSES AT ZENVA

LEARN GAME DEVELOPMENT, PYTHON AND MORE

AVAILABLE FOR A LIMITED TIME ONLY

Coding Languages

In the real world, we have many different types of languages and the same goes for coding. When starting out, you’ll need to choose a language. Something to note, is that once you learn one coding language, others are either already understandable or easy to learn. This is because pretty much all languages share the same core concepts, just with different syntax (coding grammar). Now let’s go over some of the most popular programming languages, which can then be used to create games.

void myGame ()
{
    int number = 5;
    
    cout << "How to Code a Game";
}
void myGame ()
{
    int number = 5;

    Console.WriteLine("How to Code a Game");
}
  • Python
    • Python is considered the easiest language to learn, since the syntax is simple and very readable.
    • Pros: very readable, dynamically typed and has many learning resources.
    • Cons: has disadvantages in speed, mobile and memory.
    • Learning Resource: Python 101 – Introduction to Programming
def myGame:

    number = 5

    print("How to Code a Game")
  • JavaScript
    • JavaScript is behind pretty much every website and is the go-to for web based games.
    • Pros: most used programming language, many learning resources and easy to learn.
    • Cons: not used in a lot of game engines.
    • Learning Resource: JavaScript 101 – First Programming Steps
function myGame ()
{
    var number = 5;

    console.log("How to Code a Game");
}

You may not be able to understand the code examples, but you should be able to notice that they are all relatively similar in structure. C++ and C# look very similar and a programmer who already knows one of those languages can probably understand the other – with only a bit of learning required to begin coding with it.

Toads and Fireflies style of game example

Game Engines

When making a video game, there are two routes. First, you can create your own game engine from scratch. This gives you finer control over the end product but takes quite a lot of time and requires in-depth knowledge about the language you’re using. If you’re beginning your coding journey by having an interest in creating games, then I highly recommend using a game engine.

This is a piece of software or coding framework that gives you the tools to create games. It handles the rendering, physics, and overall management of a video game. You’ll often hear people asking: what is the best game engine? Well, there’s no such thing really as the best game engine. Each has its advantages and disadvantages, so let’s have a look at a few:

Shader Graph demo example from Unity Engine

Game demo as seen in Unreal Engine 4 Editor

  • Godot
    • Godot is an open-source game engine with a heavy community focus. It’s similar to Unity in what you can create and is constantly growing.
    • Coding Languages: GDScript (similar to Python), C#, C++
    • Pros: open-source, lightweight, versatile, excels at 2D.
    • Cons: less feature rich compared to other engines, not a large amount of learning resources.
    • Learning Resource: Godot 101 – Game Engine Foundations

Godot game example in Godot Editor

Phaser screenshot of group of dragons

  • GameMaker
    • GameMaker has been around for quite some time and is great for creating 2D games.
    • Coding Languages: GML, C++
    • Pros: great 2D, large amount of learning resources.
    • Cons: uses its own custom language.
    • Learning Resource: GameMaker Documentation

gamemaker-studio · GitHub Topics · GitHub

  • Pygame
    • Pygame is a framework for games made with Python.
    • Coding Language: Python
    • Pros: lightweight Python framework.
    • Cons: Python is not generally used for game development.
    • Learning Resource: Python 101 – Introduction to Programming

Pygame logo

So there’s a list of various game engines. I’d recommend you do some research on them, try them out and just see what you like. At the end of the day, what you’re most comfortable with is generally the best option.

But if you want a good all-rounder engine that’s beginner-friendly and has an active community, go with Unity.

FREE COURSES

Python Blog Image

FINAL DAYS: Unlock coding courses in Unity, Unreal, Python, Godot and more.

Begin Your Coding Journey

Now it’s time for you to begin your journey in programming games by expanding your programming knowledge all around. When learning to code/program, the best way to learn… is by coding. Watch videos, read books, and do your research to gain knowledge. Don’t forget to learn about other parts of games we haven’t even talked about, such as mobile games.

Yet in order to gain an understanding of code, you’ll need to jump in and give it a go. Start small with your games and programs. I’d recommend starting with a simple retro game like Pong or Breakout before moving into anything too complex.  However, with a go-getter attitude, everyone can learn to code games and create the game of their dreams!

Below is a list of various resources where you can begin your coding journey.

Zenva Courses

Free Courses

YouTube Playlists

Additional Articles


Viewing all articles
Browse latest Browse all 1620

Trending Articles