Building a First-Person Shooter: Part 1.5 Running, Jumping, & Crouching
At this point making the player run at a faster speed is a simple two step process, we need to detect if the shift key is hit and then multiply movespeed. We start off by adding in two variables to...
View ArticleVirtual Texture Terrain
The Leadwerks 2 terrain system was expansive and very fast, which allowed rendering of huge landscapes. However, it had some limitations. Texture splatting was done in real-time in the pixel shader....
View ArticleReinforcement Learning for Games
This article assumes that the reader already knows what neural networks are and how they operate.If you do not know what neural networks are, I recommend trying out the great tutorials at AI...
View ArticleBuilding 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 ArticleCharacters and Worldbuilding: Analyzing the Strength of Japanese Games
From April 2010 to May 2011, I had the opportunity to study manga (Japanese comics) and video game design at one of Japan's leading art schools, Kyoto Seika University. In total, I lived, worked, and...
View Article3ds Max 2014 Review
Autodesk recently released the latest version of 3ds Max. This latest version, called 3ds Max 2014, is available as both Standard and Design versions. The new version includes a host of new features...
View ArticleGeneral Tips on the Process of Solo Game Development
As a solo game developer, it's important to learn as much as you can about everything you can, including the process you follow when making games. The process I will discuss consists of the following...
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 ArticleHow to Make Accurate Time Estimates
Many people are really bad at estimating how much time a task will take. Perhaps you estimate you’ll need about an hour, and it really takes you 3-4 hours to finish. Or maybe you allocate 30 minutes...
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 ArticleAdvertising Your Games
Advertising has always been a rough market. Not only is it extremely competitive, expensive, and risky, but it also changes as fast as any market. If I had written this article a few years ago, let’s...
View ArticleElements Of Video Game Style
The design of video games has rarely been a subject of formal study. All too often today games are designed simply by looking at whatever is popular at the moment and copying it. The recent interest in...
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 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 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 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 Article