Building a First-Person Shooter: Part 1.6 Sound
For a final touch we are going to add in sound effects. We begin by declaring a few variables to deal with the footstep sound effects times and frequencies: footsteptimer=Time::GetCurrent();...
View ArticleAdvanced Python Part Two: Utilizing Recursion
Python has a surprisingly great ability to perform large recursive operations, allowing for algorithms to be faster and easier to implement. In this article, I discuss the basics of recursion in python...
View ArticleAdvanced Terrain Texture Splatting
In this article I will explain a texture splatting algorithm which allows you to create more natural terrain. This algorithm may be used in shaders of 3D games as well as in 2D games.One of the most...
View ArticleThe One: A Singleton Discussion
AbstractThe singleton is a recurring pattern used by programmers. The singleton pattern is easy to understand but has subtle implementation problems in C++. This article discusses those problems.The...
View ArticleWade Not In Unknown Waters: Part One
We decided to write several small posts on how C/C++ programmers play with fire without knowing it. The first post will be devoted to an attempt to explicitly call a constructor.Programmers are lazy...
View ArticleIntroduction to GameMonkey Script
This article will introduce you to the GameMonkey Script (abbreviated to GM Script or simply GM) language and API and how it can be used in your own games. It begins with a short introduction to the...
View ArticleWade Not In Unknown Waters: Part Two
This time I want to speak on the 'printf' function. Everybody has heard of software vulnerabilities and that functions like 'printf' are outlaw. But it's one thing to know that you'd better not use...
View ArticleBVH File Loading and Displaying
In this article we will look at the most common motion capture format: BVH. BVH is an acronym that stands for BioVision Hierarchical data and is used for storing motion capture data. It is simple and...
View ArticleWade Not In Unknown Waters: Part Three
I'm going on to tell you about how programmers walk on thin ice without even noticing it. Let's speak on shift operators <<, >>. The working principles of the shift operators are evident...
View ArticleWriting Endian Independent Code in C++
What does "endian" mean?Endians are a confusing topic for many people. Hopefully, by reading this article you will understand both what endian means and how to write code to deal with it. So I might as...
View ArticleWade Not in Unknown Waters: Part Four
This time we will discuss virtual inheritance in C++ and find out why one should be very careful using it. See other articles of this series: N1, N2, N3.Initialization of Virtual Base ClassesFirst...
View ArticleMath for Game Developers: Quaternions
Math for Game Developers is exactly what it sounds like - a weekly instructional YouTube series wherein I show you how to use math to make your games. Every Thursday we'll learn how to implement one...
View ArticleGetting Started with the D Programming Language
I’ve been using the D Programming Language for ten years now, these days more than ever. Over the years, I’ve experimented with different ways of compiling my D projects (make, build tools, custom...
View ArticleIntelligent 2D Collision and Pixel Perfect Precision
Please feel free to comment and tell me if I missed something or if there's anything wrong! Feedback is really appreciated!When you're making a 2D game where collision is an important factor, the more...
View ArticleEfficient Normal Computations for Terrain Lighting in DirectX 10
In 2005 I spent a good amount of time answering questions in the “For Beginners” forums of GameDev.net. One question which I frequently saw was how to compute the vertex normals required for various...
View ArticleIntroduction to Object Oriented Programming Concepts (OOP) and More
1. Introduction2. Background3. Prerequisites4. The Main Content4.1. What is Software Architecture?4.2. Why Architecture is important?4.3. What is OOP?4.4. What is an Object?4.5. What is a Class?4.6....
View ArticleWhat Language Do I Use?
Like operating systems, software office suites, and computers themselves, there exist a large variety of computer languages. And the reason for such variety is the same as the reason for variety...
View ArticleHow About UNICODE and UTF-8
When many first learn to program computers, they are often introduced to ASCII with or without knowing it. ASCII stands for "American Standard Code for Information Interchange" and when programmers use...
View ArticleD Exceptions and C Callbacks
IntroductionWhen mixing multiple languages in the same project, there are often some subtle issues that can crop up from their interaction. One of those tricky cases is exception handling. Even...
View ArticleLevel Creation Concerns with Unity
Developers who are creating a game for the first time may find the idea of creating levels a daunting task. Unity is an extremely powerful engine and editor which gives the developer a lot of freedom,...
View Article