Game i18n via IME
Internationalization (usually shortened i18n) is a clear requirement for any successful game and application. Especially when players are allowed to interact (chat) with each other, it is essential...
View ArticleImplementing Component-Entity-Systems
This is the follow-up to my article from April, Understanding Component-Entity-Systems. If you haven't read that article yet, I suggest looking it over because it explains the theory behind what I am...
View ArticleAn Open Letter to Young Programmers
One of the awesome things about ArenaNet is that we run a programming internship program that actually does a phenomenal job of preparing people to work in the games industry. This is accomplished by...
View ArticleHow the Procedural Map Generation Works in Reactor Heart
This article sums up what I've learnt so far developing the procedural map generation system of Reactor Heart. What I expose here should not be considered the last word on the topic since I'm still...
View ArticleIntroduction to Game Programming with CUDA
Intro to CUDAModern game engines have a lot going on. With so many different subsystems competing for resources, multi-threading is a way of life. As multi-core CPUs have gotten cheaper and cheaper,...
View ArticleHow To Reverse Time - Introduction to Git, Cloud Computing, and Version Control
This post originally available on my devblog."Are you telling me I need to rework my entire game from scratch!?""If you want to pass, then yes."This is how a conversation went down with one of my...
View ArticleWriting Fast JavaScript For Games & Interactive Applications
Recent versions of JavaScript engines are designed to execute large bodies of code very fast but if you don't know how JavaScript engines work internally you could easily degrade your application's...
View ArticleProgramming By Example - Adding AngelScript to a Game Part 1
Using interpreted scripting languages in games instead of compiling to native code has become very common in games. Using scripting languages allows developers to make functional changes to their...
View ArticleProgramming By Example - Adding AngelScript to a Game Part 2
For Part 1 of this series please click here: Programming By Example - Adding AngelScript to a Game Part 1IntroductionThis is part 2 of the article Adding AngelScript to an Existing Game. This article...
View ArticleMemory Usage Optimization Using Cache
When the processes running on your machine attempt to allocate more memory than your system has available, the kernel begins to swap memory pages to and from the disk. This is done in order to free up...
View ArticleIntroduction to Octrees
What exactly is an Octree? If you're completely unfamiliar with them, I recommend reading the wikipedia article (read time: ~5 minutes). This is a sufficient description of what it is but is barely...
View ArticleProgramming By Example - Adding AngelScript to a Game Part 3
For Part 1, please click here: Programming By Example - Adding AngelScript to a Game Part 1For Part 2, please click here: Programming By Example - Adding AngelScript to a Game Part 2IntroductionThis is...
View ArticleMath for Game Developers: Triangle Meshes
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 ArticleBuilding a First-Person Shooter: Part 1.4 Mouse Inputs
Now it’s time to let the player look around using mouse movements. We start again by adding variables for mouse controls into the constructor: sensitivity=1.0; cameralooksmoothing = 2.0;...
View Article18 Free Online Resources to Learn Game Development and Gamification
I found this great article on online resources and courses for game developers. Sharing it with the community here.
View ArticleCreating a Homing Missile in Unity
Homing missiles have been my favorite in all types of games. There is nothing more fun than a fire & forget weapon. Homing missiles will generally lock on to a target & keep following it till a...
View ArticleBuilding 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 ArticleThe Entity-Part Framework: Basics
This implementation of the entity-component pattern has evolved based off my experience using it in my own games and studying numerous articles and implementations on the entity-component pattern. It...
View ArticleT4 Code Generation in Unity
Many Unity APIs use a string identifier, such as the game object’s tag for various things (e.g: checking for a collision with “player”). In this article I explore a different, safer and automated...
View ArticleA Critique of the Entity Component Model
The entity component model is all the rave for the last decade. But if you look at the design it opens more issues than it solves. Broadly speaking the entity component model can be summarized as the...
View Article