Tutorials

This page contains a list of all tutorials that I’ve written, see anything missing, or would you like to propose a subject for a tutorial? Hit me up via mail (roy-t[at]hotmail[dot]com) or via twitter.

Game-design/XNA

Immediate GUI series

Part one: setup and a button
Part two: scrollbars

Localization series

Part 1: Setup and strings
Part 2: Automatically loading localized assets

Cameras

Arcball camera

Physics and Pathfinding

Farseer physics 3.3.1 and XNA part 1
Farseer physics 3.3.1 and XNA part 2 (Joints)
Farseer physics 3.3.1 and XNA part 3 (Platformer Character)
A* Pathfinding in 2D/3D (newest version)
A* Pathfinding in 2D/3D (slightly less old)
A* Pathfinding in 2D + Corner cutting (old version)
Smooth collision avoidance and pathfinding
XNA: Farseer platform physics tutorial (updated to Farseer 3)
XNA: Farseer platformer physics tutorial

OpenGL

OpenGL Slides #1
OpenGL Slides #2

Other

Using JavaScript as a script engine in XNA/C#
Cutting away archways and roofs to keep the player character visible
XNA: Deferred rendering
XNA: Cutting away archways and roofs to keep the player character visible
Handy input manager
XNA: Stereoscopid 3D using anaglyphs and Red/Cyan glasses
XNA: Wrapping effect files into proper classes
MVC in games
Using proxy classes to serialize assets

Tips, tricks and code snippets

XNA: Accessing the Content Manager and other objects anywhere, anytime
XNA XML Content Importer (with custom ContentTypeWriter and Reader)
Getting directional vectors from a view matrix
Keyboard input in XNA
Mouse position in 3D
Windows Forms and XNA: the easy way
Custom shapes in WPF and silverlight
Light weight quad renderer for XNA
VertexPositionColorNormal vertex type for XNA
Post Complement Color Grading in HLSL

General Programming

Things to think about

Serializing objects: BLOB, INI, XML or JSON?
Algorithms, data structures and big-Oh notation

Programming tutorials

C#

Custom XML serialization
Asynchronous sockets revisited
Asynchronous sockets in .NET
Traversal algorithms using yield
Traversal algorithms using generics, generic constraints (where) and action delegates
An example of the ref keyword for structs and classes
EventLog wrapper

PHP

A REST echo service

Transact-SQL (MSSQL)

Dynamic inserting or updating

IDE/Productivity tools tips and tricks

Configuring CygWin C++ compiler for Netbeans under Windows
Inline event handlers and reordering method/constructor parameters
From code in Visual Studio to code in your wordpress blog
How to install the TRAC project manager/bug-tracker together with SVN on Windows

Page history

Apr 20th, 2010: page created
May 21th, 2010: fixed broken links
Aug 25th, 2010: added new code snippets.
May 19th, 2012: added the last two years!
Aug 21th, 2012: updated again!
Jan 2nd, 2013: added the latest Farseer tutorial
Dec 5th, 2013: added post-complement color grading