rss feed of the blog sol stuff discord follow sol email sol Sol::Tutorials

Here are some tutorials I've written, mostly to save myself some time by just referring people to my tutorials instead of explaining the same things over and over again =)

New tutorials will appear when I find something interesting to write about.

Note: check the 'code' page too for some interesting stuff.

"When one teaches, two learn." -- Robert Half



2021 - done

z80 assembler tutorial, where I write a complete game from scratch for the zx spectrum in 100% assembler step by step.


Graphics for Beginners (using SDL1)

11.12.2005 - stalled

This 20+-part tutorial is suitable for people who are learning programming by themselves, or who know programming but don't know anything about graphics. Programming students may also use it as additional material for programming courses. Bored of those dry programming assignments? Maybe it's time to try something fun.

  • January 9, 2005: added 10 more parts, where I build a simple ball game using SDL step by step.
  • February 26, 2005: added 4 more parts, each of which contains one somewhat more complicated effect.
  • March 2, 2005: added support for Bloodshed Dev-C++.
  • April 4, 2005: added support for Linux and Mac OS X
  • August 8, 2005: added support for Visual Studio.NET 2003

Immediate Mode GUIs

30.8.2006 - doneish

Tutorial on what IMGUIs are, and how to implement them. Examples use C and SDL, but the ideas are pretty universal.

Interpolation Tricks

31.1.2009 - done

A short tutorial covering different kinds of interpolations from 0 to 1.

Bit Twiddling

27.10.2006 - done

Sol's take on bit masking, bit manipulation and Boolean algebra, in a nutshell.


20.11.2005 - 2.0 finished 4.6.2006

An interactive SQL tutorial. As usual, I've found the normal tutorials boring, so here's something more interesting: alter a whole galaxy using SQL.

Game Programming Course

2010 - done

Course slides to the game programming course I did in fall of 2010.

Potbox - Teensy-LC MIDI controller

2022 - done

Follow along as I build a MIDI controller box step by step.

The Rest


2013 - usable, but not complete

Tutorial on how to use Emscripten (c/sdl -> js/browser compiler suite) from Windows.

Instancing in OpenGL

21.11.2010 - done

Guide to the various methods of instancing in OpenGL (i.e. rendering tons of copies of a single object).

Photoshop tutorial: Fire Particle Texture

10.6.2010 - done

Step by step tutorial, in photoshop, how to make a fireball texture.

Particle System Basics

30.5.2010 - done

Some basics about particle systems.

Sphere Mesh Creation

28.3.2010 - done

How to create a sphere mesh via tesselation.

Joy of Springs

sometime in the summer of 2008

Did a simple tutorial on spring physics sometime in 2008, but never published it for some reason. Here it is anyway.

IMGUI seminar

2.8.2007 - done

Did a seminar on IMGUI with Jetro Lauha at Assembly 2007 Summer. (Also see IMGUI tutorial, below.)

Rendering Lots of Cubes

14.2.2010 - done

Various methods on rendering tons of cubes with OpenGL.

Triangle Rasterization for Dummies

10.8.2009 - done

Another short tutorial, covering basics of triangle rasterization.

L-system fractals

27.8.2008 - done

A short explanation of L-system fractals, along with a couple of downloadable implementations.


14.4.2007 - done

A simple, but complete bare-bones 3d engine using SDL and OpenGL in C/C++, including all sources, a blender exporter, and no strings attached.

My Assembly01 WinCE demo programming seminar

6.8.2001 - done

I talked at Assembly2001 about WinCE demo programming. Here are the seminar slides and example source code.


15.7.2001 - done

Here is a simple tutorial how to set up directx8, FMod and CFL3.

We'll go step by step, first making a windows program, setting up dx8, drawing some stuff with dx8, playing sound with fmod and finally making things nice and tidy with cfl.

Algorithm optimization

13.4.2000 - done

Or, "why clockcycle optimizations don't really matter".

Well, this one is more of a rant than a tutorial, really.

Buy 'Algorithms and data structures in C' for further enlightment.

DX7 the dirty way tutorial

28.10.1999 - done

DX7 the dirty way tutorial (German translation)

20.10.2000 - done

You've got your Visual C, directX7 SDK and old but trusty 3d engine, and you'd love to get some of that 3d acceleration magic going. Here's how.

Translation provided by Delax and Flupdiwup from Sundancer Inc.

Win32 coding tutorial

29.05.1998 - done

Based on Watcom C, gives a point of view to the Windows API. Good starting point for dos coders for moving into windows.

Site design & Copyright © 2022 Jari Komppa
Possibly modified around: March 27 2022