How 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 ArticleOverview of Modern Volume Rendering Techniques for Games - Part 1
A couple of months ago Sony revealed their upcoming MMO title EverQuest Next. What made me really excited about it was their decision to base their world on a volume representation. This enables them...
View ArticleLight Introduction to Genetic Programming
A few years ago I implemented a card game I knew from my high school years into a mobile app. I had written an AI for it, but I wasn’t satisfied with its skill level. Not convinced it was worth to...
View ArticleLimits of Developing a Web-Based Hidden Object Game for Learning Languages
As production of "Pavel Piezo - Trip to the Kite Festival" draws to a close later this year I reviewed the material I collected for the Postmortem and found it too much and too diverse to put in one...
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 ArticleThe Total Beginner's Guide to 3D Graphics Theory
IntroductionWhen I was a kid, I thought computer graphics was the coolest thing ever. When I tried to learn about graphics, I realized it was harder than I thought to create those super slick programs...
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 Code: Introduction To Algorithms and Big-O
This post originally available on my devblog.Did you know computers are stupid machines? They are actually so stupid that they don't know how to multiply; instead, they add - whenever you say 2*5, the...
View ArticleOptimizing Multiplayer 3D Game Synchronization Over the Web
A few months ago, I stumbled upon an interesting article by Eric Li titled "Optimizing WebSockets Bandwidth" [1]. Eric mentions how the advent of WebSockets has made it easier to develop HTML5...
View ArticleOverview of Modern Volume Rendering Techniques for Games - Part 2
In this blog series I write about some modern volume rendering techniques for real-time applications and why I believe their importance will grow in the future.If you have not read part one of the...
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 ArticleHow to Handle Circular Dependencies with Templates in C++
Although templates in C++ are well known, and more and more people actually do know how to wrap their head around them, there are a couple of less-common circumstances which can leave the programmer...
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 ArticleAdvanced Intersection Test Methods
When working with geometry, you'll need to do some intersection tests at some point. Sometimes it's directly related to graphics, but sometimes it helps determine other useful things, like optimum...
View ArticleMath for Game Developers: Geometry Testing
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 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 ArticleStretching Your Game To Fit The Screen Without Letterboxing - SDL2
If you're making a game that you want to be used on a wide variety of systems, your game has to be scalable, especially if it is in a very small resolution. This is usually pretty straightforward. Most...
View Article