This blog post will focus on discussing the correct way to make use of game development tutorials. I know this might sound bizarre but it can be easy, especially for new game developers to overuse them. Overusing tutorials can have a negative long term effect on our ability to become great game developers, which is why it’s important we use them correctly.
I don’t want to say game development tutorials are bad and put anyone of ever using them so I thought I would specify the difference between game development tutorials that can cause problems and those that cannot.
The real reason it’s difficult to write clean code has little to do with technical challenges. Instead, the difficulty comes from trying to maintain a high standard of code quality while dealing with other aspects of our lives.
For those of you that are unfamiliar with clean code, it’s a term that describes the act of making code as readable as possible. To understand its importance, you only have to remember a time when you’ve looked at your own code, or someone else’s, and struggled to understand what it’s doing.
In my last article, I discussed some difficulties posed by trying to use third-party libraries within our own C++ programs. Many of these difficulties are due to a lack of understanding of some simple concepts related to C++ development.
I started by looking at each of the stages involved in compiling a C++ program and showing how to compile a C++ program using the MSVC toolset.
In this article, I want to look at navigating the world of distributed C++ code.
A common way of distributing code on the internet is to use a library. A library can come in…
One of the hardest things I found when first learning C++, outside of learning about pointers and memory management, was how to successfully compile code using third-party libraries.
As a game developer, you rely a lot on libraries for aspects of your game, such as rendering and physics, and it can be surprisingly tricky to successfully compile an empty project with these libraries included.
I struggled because I simply didn’t understand how C++ programs were built and distributed over the internet. …
In this piece, we will look at everything you need to know about polymorphism. The name might incline you to believe it’s difficult, but in fact, polymorphism is easy to understand.
Polymorphism does require an understanding of inheritance, and this piece’s code samples are in C++, so if you’re unsure as to what inheritance is, then maybe come back and read this piece once you’re familiar.
For those who have heard the concept but need a refresher, I’ll provide a quick recap before jumping into polymorphism.
Inheritance is a concept that allows us to reuse code through an is-a relationship…
In this article we will look at understanding delta time, a concept I know from experience, can be difficult for beginners.
Delta time, or also referred to as elapsed time is usually a value that is calculated for us within modern game engines such as Unity or Unreal. Delta time describes the time difference between the previous frame that was drawn and the current frame.
Note: A frame refers to the image we see on the screen, which gets updated a certain number of times a second. …
In my last article, I gave some advice and insights about how to overcome programming problems. I realize that I never showed how to put some of the advice I gave to use so I wanted to change that now.
In this post, I want to look specifically at learning how to understand and break down programming problems.
I have purposefully picked a problem that requires as little programming knowledge as possible:
Write a program that finds the largest value in an array of numbers and prints it out to the…
When I first started learning to program, I was taught many things, but I was never taught how to solve problems and because of this I struggled a lot in the beginning. A lack of confidence is a sure-fire way of killing a passion. Fortunately for myself I am damn stubborn and carried on regardless, and eventually I stumbled my way through enough programming problems that my confidence started to grow, and I got a real sense of knowing what I was doing.
Fast forward a few years and I am now working professionally as a game developer having built…
In my previous article I looked at how we can apply information hiding to our scripts to potentially reduce the amount of code we need to rewrite when we make changes, and to help minimise bugs. One problem that you might have noticed when reading this post is that by making our variables private, we lose access to a big feature of Unity, accessing values in the inspector.
Having access to values in the inspector is beneficial as it allows us to easily modify properties of our game objects such as changing the speed in which a character can run…
Writing code is a difficult process that can be made even worse when you write code that ends up a massive ball of spaghetti. Spaghetti code is bad. Spaghetti code means you can fix a bug only to end up introducing five more. Spaghetti code means adding a new feature might result in rewriting a large part of your code base. Spaghetti code for developers working in a team means you can be constantly getting in each other’s way spending endless amounts of time dealing with things such as merge conflicts.
Like I said, spaghetti code is bad. Which is…