Tutorials

XNA Framework

The XNA framework, though not maintained in quite a while, is a complete DirectX wrapper for C# developed officially by Microsoft. It formed the foundation of successes such as Magicka, Terraria and Space Engineers, proving that it has little to envy from other frameworks. It's successor is MonoGame, which is open source, I choose to stick to XNA as the open source alternative is known to still have bugs and is subject to changes. Below are my tutorials on XNA:

Main series
0: On XNA
1: Settung up XNA
2: Reacting to the keyboard
3: Displaying sprites (images)
4: Playing sounds
5: Using time

Extra tutorials
Calculating a BoundingSphere for multi-part models

Win32 API

The Win32API is the original way windows were handled in Windows, and it still lays at the core of all windows desktop applications, though higher-level wrappers have been created and are more commonly used, such as WPF and WinForms. Nevertheless, Win32API is what all these distill to, and it is indeed an elegant API, abd fairly easy to use with C.

Main series (GDI-oriented)
About the Win32API
Explaining the basic Window
Concerning variables in the tutorials
Printing text
Handling input through events
A bit more on handling messages
Creating menus on the menubar through the resource file.
Dialogue Boxes

C

Naturally any programmer ought to know the basis of it all, C (yes, we could argue that Assembly is the real basis, but let's not get ahead of ourselves - assembly is comming too though, fear not). These tutorials were written a long time ago and though I have at times corrected a thing or two, it's still possible that there may be a misconception somewhere in them, as I wrote them while learning. Still, they ought to work fine within their scope.

Main Tutorials
0: Introduction - setting up and compiling
1: Variables, output, #includes and Main
2: Math, input, and a tad more output
3: Branching, if, and switch-case
4: Loops: for, while, do-while
5: Arrays and pointers
6: Structures
7: Functions

Complementary tutorials
1: Bitwise operations
2: Dynamic and complex Data Structures

DirectX 9

The revolutionary version of DirectX, a bit outdated but proven to be more than sufficient and still in use today, if only for compatibility reasons (see Gaijin using it for War Thunder and Crossout). The tutorials cover the basics of 2D and 3D rendering.

 

Main Tutorials
0: Introduction to DirectX 9
1: Setting up the window
2: Displaying an image
3: Displaying and handling a button
4: Setting up for 3D
5: Creating Indexed Buffers
6: Adding perspective
7: Adding lighting
8: Adding a texture
9: Loading Meshes from files
10: Creating a particle effect

Unreal Engine 4

One of the best game engines out there, with good performance, great graphics, and a rather elegant code style. Unfortunately it is still not entirely stable, and even the tools required (VS2013 initially, later 2015) change at times, since I have much to do and can only focus on learning something new once per few months, I found that I had to get major updates and things would change between my visits to the engine, and eventually as I would have to install a 17GB IDE I gave up on it for the time being. To preserve the knowledge however, I packed most of what I learnt into a few tutorials, the UI/Slate tutorials in particular I am proud of as I had to go through the documentation to learn them, and have exceeded 400 views per month, probably because there are limited other resources out there.

Main Series
0: UE4, setup and installation
1: Extending classes and the generated code
2: Creating a mesh and collision through code
3: Adding particles and physics
4: Enabling the mouse
5: Interacting with objects, part 1: look and enable
6: Interacting with objects, part 2: mouse selection
7: Interacting part 3: key bindings and function calls
8: Attaching Actors (direct method)
9: Pausing/Unpausing

Slate programming (UI through C++)
1: New HUD and adding a slate widget
2: (Self-)Updating the widget during play
3: Nested widgets and list of basic widgets

UDK

Unfortunately by the time I started learning the UDK, UE4 was well on its way to being released and being free, so I switched to it pretty soon. However the system was pretty impressive, with it's custom language, UnrealScript, and tons of source code for Unreal Tournament available with it. I even developped a piece of software to help find my way around the hierarchy, or more specifically figure out the hierarchy, as there was only a free-to-use, pay-to-publish extension vor Visual Studio. You can find UnrealScript Hierarchy Explorer for free on CNET, and you can get an idea of Unrealscript through the very few tutorials I did write though they are mostly concerned with setting up shop.

Main series
0: Introduction to Unreal development
1: Health regeneration and extending classes

Setup and external links
0: Forcing installation of UDK (especially on barely compatible systems)
1: External tutorial collection

Assembly

The very foundation. One can never really make the best possible programmer out of himself until he understands Assembly. Naturally to write entire programs in it borders on madness, but understanding what is involved in calling a function, in loops and in conditions, is a great way to do your part in getting the code to run as fast as possible. Sure, the compiler optimizes tons of stuff, but it optimizes them for the general case, but if you know what you need and know how it's done, you can guide the compiler to be a bit faster. Or, if you're up to it, you can even write the critical parts in pure assembly! In the tutorials I write some x86 assembly, which should run on anything from the 80486 onwards.

Main Series
0: Introduction and tools
1: Hello World