This article explores the creation of a data container for game programming. This container is meant to take the place of C++ standard library containers such as std::map and std::unordered_map, with an alternative that stores data contiguously in memory.
We all know that smart pointers are really nice things and we should be using them instead of raw new and delete. But what if deleting a pointer is not only the thing we need to call before the object is fully destroyed?
There are a couple big caveats of PIMPL, and that's of course that you need to do dynamic memory allocation and suffer a level of pointer indirection, plus write a whole bunch of boilerplate! In this article I will propose something similar to PIMPL that does not require this sacrifice, and has (probably) no run time overhead compared to using standard private members.
In my previous article I discussed the use of cache and some practices that can provide increased performance while also teaching you what cache is. I also stated that cache in a multicore environment is a whole other topic so I've written this article to cover the different considerations that come along with Multicore Programming.
Have you ever wanted to find magic behind the actual computation inside your computer? How are compilers made? What is assembler and disassembler? How to make your own scripting language?Then the following article explains basics in theory and implementation behind this!
Programmers may be unaware that, with the proper approach, debugging problems on their own can save time, and result in valuable self-education. An approach to debugging I call "Follow The Data" can do just that.
Many a beginner on gamedev.net (including me) has trouble with their software in the beginning. I had no idea how to plan for projects or what was even included in projects. I would look for posts about how to plan out projects. This article presents an approach a beginner can use for organizing their project.
Varadic templates allow for signals and slots systems to be implemented in an elegant and concise manner and are a good example of how the power of varadic templates can be used to simplify generic systems that were previously difficult to express.
signals and slots
This article will cover some of the languages that are popular with game programmers. This list is neither complete nor deep. This article is intended to give you a bird's eye view of the most popular game development languages out there along with a short overview and a few situations where they would be a good or a poor choice for a project.
ruby on rails
More and more Applications are written in a language that manages its memory with a Garbage Collector, since that is what the cool kids are doing now. But weirdly, even experienced programmers seem to have a distorted image of the good and bad sides of the Garbage Collector. In this Article, I try to show how modern Garbage Collector work and discuss some common misconceptions.
While often there are general purpose file-formats or data representations to achieve a goal, sometimes it may make sense to create something a little more specialized, in cases where encoded size may be significant.