General Programming Articles
Article Listing
Categories (See All)
Recent Resources
-
Advice For Aspiring Indie Game Developers
-
Rendering and Simulation in an Off-Road Driving Game
-
Hide Objects Blocking Player View
-
GDC 2013: Interview with Jakob Schmid
-
Ten Things to Achieve When Starting 3D Programming
-
Useless Snippet #1: Transform Vec3f by Matrix4x4f
-
Improving a Sprite-Based Rendering Procedure
Useless Snippet #1: Transform Vec3f by Matrix4x4f
Published in General Programming
By Jim Drygiannakis - The goal of this snippet is to multiply a batch of Vector3f’s with the same 4×4 matrix
Why Is It Building So Long?
Published in General Programming
By Bartłomiej Filipek - How to use the concept of "insulation" to reduce compile times for large software projects
Finite State Machines and Regular Expressions
Published in General Programming
By Eli Bendersky - Explores the basics of Finite State Machines and regular expressions (regexes) then delves deep into their combined application
View Complete Archive
You cannot add articles
Useless Snippet #1: Transform Vec3f by Matrix4x4f UNDER REVIEW
Jun 17 2013 11:32 AM | Posted By Jim Drygiannakis
in General Programming
The goal of this snippet is to multiply a batch of Vector3f’s with the same 4×4 matrix
Tagged With: transforms vectors math snippet
Why Is It Building So Long? UNDER REVIEW
Jun 13 2013 07:15 AM | Posted By Bartłomiej Filipek
in General Programming
How to use the concept of "insulation" to reduce compile times for large software projects
Tagged With: oop encapsulation c++ insulation
Finite State Machines and Regular Expressions
Jun 12 2013 04:30 AM | Posted By Eli Bendersky
in General Programming
Explores the basics of Finite State Machines and regular expressions (regexes) then delves deep into their combined application
Tagged With: fsm finite state machine regular expression regex
Organizing Code Files in C and C++
Jun 07 2013 04:23 PM | Posted By Ben Sizer
in General Programming
Splitting up your code files is a great way to stay organized, but can cause trouble for new programmers that may lead them away from this good practice. Learn the common problems and how to solve them
Tagged With: c lang c++ header file source file organization
Cross Platform Test Driven Development Environment Using CMake (Part 5) UNDER REVIEW
Jun 07 2013 11:04 AM | Posted By AllEightUp
in General Programming
CMake 2.8.11 is a game changer. A large portion of the prior 4 articles has just been deprecated and it is time to learn why.
Tagged With: make cmake cross platform makefile c++ c++11
Smart Pointers Gotchas UNDER REVIEW
Jun 04 2013 02:57 PM | Posted By Bartłomiej Filipek
in General Programming
Answers for questions like - Why is auto_ptr deprecated? Why unique_ptr finally works good? How to use arrays with unique_ptr? Why create shared_ptr with make_shared? How to use arrays with shared_ptr? How to pass smart pointers to functions?
Tagged With: pointers smart pointers c++ c++11
A Journey Through the CPU Pipeline
May 16 2013 09:09 AM | Posted By Bryan Wagstaff (frob)
in General Programming
The CPU does not need to be an opaque box of mystery. Skilled programmers learn their tools, including what goes on inside the CPU. Very skilled programmers learn to optimize their code by knowing both what is inside and also how to manipulate the results.
Tagged With: cpu optimization
Multithreading
May 11 2013 06:29 AM | Posted By Vivien Oddou
in General Programming
In games, performance is obviously critical, almost every device now features multi core systems; we have a tendency to naturally feel that going towards more threading is neat. I'd like to give a few insights about low level implications of threading.
Tagged With: c++ mem-fence thread low-level condition-variable mutex c#
Modern Garbage Collectors under the Hood UNDER REVIEW
May 07 2013 07:15 AM | Posted By Jonas Schwammberger aka Bluefirehawk
in General Programming
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.
Tagged With: garbage collection memory management tutorial c++
Getting started with Team Foundation Service: Part 2 UNDER REVIEW
May 02 2013 07:05 AM | Posted By Oli Wilkinson
in General Programming
Wraps up all the basics of using TFS for builds, tests, bug tracking, new feature requests and a practical demonstration of continuous integration
Tagged With: tfs visual studio agile continuous integration unit testing
The Programming Primer UNDER REVIEW
May 01 2013 07:38 AM | Posted By Dan Mayor
in General Programming
This article covers some basic programming theory that should help beginner level programmers to better understand what it is that programming is all about and what they are getting themselves into.
Tagged With: programming function method class data type variable
Getting started with Team Foundation Service: Part 1
Apr 30 2013 01:40 PM | Posted By Oli Wilkinson
in General Programming
This article discusses the reasons for using a source control and continuous integration system.It then shows you how to get started with Team Foundation Service - Microsoft's cloud-based service for agile planning, collaboration, source control and continuous integration.
Tagged With: tfs visual studio agile source control continuous integration
Data Structures for Pre-College Programmers: Choosing The Right Structure UNDER REVIEW
Apr 30 2013 09:33 AM | Posted By Bryan Wagstaff (frob)
in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers choosing between the various data structures.
Practical Cross Platform SIMD Math
Apr 26 2013 05:11 AM | Posted By AllEightUp
in General Programming
Supporting multiple target SIMD dialects is a painful chore. Intel made this quite difficult by continually adding a little here and there and ending up with 8+ different variations. This article will present a solution of leveraging SIMD without too many hassles.
Tagged With: C++ C language SIMD math cross platform C++ 11
Design Tradeoffs For Customized Script Interpreters
Apr 18 2013 03:35 PM | Posted By Brendan G Bohannon
in General Programming
There may be a number of tradeoffs in the design of both a scripting language and the underlying interpreter. I will attempt to address a few of them here.
Tagged With: script VM interpreter language bytecode stack register
C++: Custom memory allocation
Apr 15 2013 02:07 PM | Posted By Tiago Costa
in General Programming
Being able to efficiently use the available (limited) memory is extremely important in high performance applications like computer games.
Tagged With: c++ memory allocation
Cross Platform Test Driven Development Environment Using CMake (Part 4)
Apr 10 2013 04:10 AM | Posted By AllEightUp
in General Programming
It is time to finish fleshing out the build environment and discussing some of the more advanced features of CMake. This article goes through the options system in more detail and shows how to add a cross compilation target for iOS. Many of the prior article details are put into use in the process and the resulting environment is not a bad starting point for further work.
Tagged With: cross platform makefile c++ c++11 make cmake
Cross Platform Test Driven Development Environment Using CMake (Part 3)
Apr 08 2013 03:40 AM | Posted By AllEightUp
in General Programming
In Part 3, it is time to finish off the basic build environment by adding the last target type, shared libraries. Unfortunately this portion involves Windows specifics and takes a while to make fully cross platform. When everything is functional it will be time to add the unit testing framework. The remainder of the article will cover how to setup the unit tests with CMake and various methods...
Tagged With: make cmake makefile cross platform c++ c++11
Data Structures for Pre-College Programmers: Non-linear Data Structures
Apr 07 2013 07:23 PM | Posted By frob
in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers the the non-linear data structures. These include data dictionaries, ordered sets, and unordered sets.
Tagged With: beginner data data structures dictionary hash set unordered set ordered set
Data Structures for Pre-College Programmers: Stacks and Queues
Apr 01 2013 03:51 PM | Posted By frob
in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers stacks and queues.
Tagged With: beginner stack queue data structures data
Data Structures for Pre-College Programmers: Trees and Heaps
Mar 31 2013 01:51 PM | Posted By Bryan Wagstaff (frob)
in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers trees and heaps.
Tagged With: beginner data data structure trees heaps
Cross Platform Test Driven Development Environment Using CMake (Part 2)
Mar 31 2013 10:37 AM | Posted By AllEightUp
in General Programming
In the first part of this series, a first use of CMake was presented and a very simple project outline was built. At the end of the article a build break was intentionally introduced in order to show how quickly a simple fix could be put in. This article continues from that point and begins the process of correcting the broken build in a better manner while introducing more CMake syntax and u...
Tagged With: cmake make cross platform makefile c++ c++11
Data Structures for Pre-College Programmers: Arrays, Dynamic Arrays, and Linked Lists
Mar 29 2013 03:58 AM | Posted By Bryan Wagstaff (frob)
in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers the three most basic data structures.
Cross Platform Test Driven Development Environment Using CMake (Part 1)
Mar 27 2013 07:56 PM | Posted By AllEightUp
in General Programming
Game development is often difficult enough when you want to target a single platform. It can become a nightmare when you start working on multiple platforms. Presented is one possible example of how to setup your project and directories in preparation for multi-target work with a focus on test driven development.
Tagged With: make cmake cross platform makefile c++ c++11
Pre-Visualization Is Important! UNDER REVIEW
Mar 17 2013 10:09 AM | Posted By superman3275
in General Programming
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.
Tagged With: program organization design visualization planning beginner


