Gilles Bellot is creating tutorials about mathematics and game programming.
0

patrons

$0
per month

Mathematics from the Koprulu Sector.

I am a mathematician. When not thinking about some mathematical problems, I like to read, to work out, to cook and to play and program computer games. I especially enjoy exploring fantasy worlds and studying their lore: be it while strolling through the gardens of the Shire in the highly developed high fantasy world of Middle-Earth, searching for Elder Scrolls in Tamriel, protecting space hamsters at the Sword Coast, fighting the Burning Legion in Azeroth or hunting Zerg in the Koprulu sector.

Computer games are a perfect way to bring my interests in mathematics, physics, computer science, history and mythology together. As a mathematician, I take great joy in exploring the mathematical and physical theories used in computer games, I thus recently started my journey into game programming and decided to share my discoveries with you.

Tutorials

For now, most of the tutorials can be found on my website.

The following series of tutorials are available from the get-go.

Windows Game Programming Fundamentals

Before learning how to program DirectX games, basic knowledge about Win32 programming must be acquired. In these tutorials, a first fundamental framework for any Windows-based games is created, featuring a robust game loop with time management. The framework encapsulates all the tedious details about Windows programming, such that later, more advanced tutorials, can simply focus on their core ideas, without having to worry about being bothered by Windows.


DirectX Fundamentals

With all the nasty Windows stuff nicely hidden away, we will learn about Direct3D (we will use Direct3D 11.0, which works on Windows 7, Windows 8 and Windows 10) and the High Level Shader Language to draw vertices to the screen. We will also learn how to make Direct2D and DirectWrite co-operate with Direct3D to output text to our game window.


Please note that none of the following tutorials have been revisited, edited or verified for correctness. I have written them as I learned and implemented the topics in question. They might be a ton of grammatical mistakes, the explanations might not be well written and the code is neither free of errors, nor optimized. Nonetheless, the demos run fine, and you can surely learn something new. I will revisit those tutorials once I have more time. Thank you for your understanding.

Shader Programming

The following short tutorials cover the High-Level Shading Language in more details than the previous tutorials.

Entering Flatland

Now that a robust DirectX game framework is in place, it is time to study Direct2D in more detail. We will learn how to use Direct2D to render 2D-images, starting with simple geometrical figures and working our way up to animated 2D-sprites. At the end of these tutorials, we will have a very robust DirectX and Direct2D framework, with DirectWrite and Windows Imaging Component support.

To round things off, we will learn how to handle user input and we will add sounds and music to our framework.

User Input will be handled by Windows events for the keybard and mouse, DirectInput for Joysticks and XInput for Gamepads. An event queue will be implemented to allow different application components and game entities to interact with each other.

To add sounds and music, we will have a look at XAudio2 and the Windows Media Foundation (in later tutorials, FMOD and Wwise will be introduced as well).

I can't think of a better place to start the journey into computer graphics than Flatland itself! To fully use all of the features in these tutorials, Windows 10 is necessary.

Direct2D Fundamentals


Input System (I)


User Interface (I)


File System (I)


Input System (II)


Programming Patterns (I)


Music and Sound (I)


Code Repository

You can find the source code of most of the software that I created in my GitLab repository.
Tiers
Layman
$1 or more per month 0 patrons
Thank you for your support. This money will go towards tasty treats for Cosmo.


As a reward, you will get new photos of Cosmo each month.

Apprentice
$2 or more per month 0 patrons
Everyone has to start somewhere. 


Apprentices, just as laymen, have access to all basic tutorials, but in addition to the previous benefits, the name of each apprentice will appear in the credits of every tutorial written after the apprentice's pledge. 

Initiate
$5 or more per month 0 patrons
As an initiate to the dark secrets of game programming, you will have access to all basic tutorials.


Unlike the names of laymen and apprentices, the names of all initiates will appear in the credits of each demo programmed after the initiate's pledge.

Goals
$0 of $25 per month
25$ are 25$!

This would be a great start, as 25$ would cover the costs for the bell0bytes domain and server.
1 of 1

Mathematics from the Koprulu Sector.

I am a mathematician. When not thinking about some mathematical problems, I like to read, to work out, to cook and to play and program computer games. I especially enjoy exploring fantasy worlds and studying their lore: be it while strolling through the gardens of the Shire in the highly developed high fantasy world of Middle-Earth, searching for Elder Scrolls in Tamriel, protecting space hamsters at the Sword Coast, fighting the Burning Legion in Azeroth or hunting Zerg in the Koprulu sector.

Computer games are a perfect way to bring my interests in mathematics, physics, computer science, history and mythology together. As a mathematician, I take great joy in exploring the mathematical and physical theories used in computer games, I thus recently started my journey into game programming and decided to share my discoveries with you.

Tutorials

For now, most of the tutorials can be found on my website.

The following series of tutorials are available from the get-go.

Windows Game Programming Fundamentals

Before learning how to program DirectX games, basic knowledge about Win32 programming must be acquired. In these tutorials, a first fundamental framework for any Windows-based games is created, featuring a robust game loop with time management. The framework encapsulates all the tedious details about Windows programming, such that later, more advanced tutorials, can simply focus on their core ideas, without having to worry about being bothered by Windows.


DirectX Fundamentals

With all the nasty Windows stuff nicely hidden away, we will learn about Direct3D (we will use Direct3D 11.0, which works on Windows 7, Windows 8 and Windows 10) and the High Level Shader Language to draw vertices to the screen. We will also learn how to make Direct2D and DirectWrite co-operate with Direct3D to output text to our game window.


Please note that none of the following tutorials have been revisited, edited or verified for correctness. I have written them as I learned and implemented the topics in question. They might be a ton of grammatical mistakes, the explanations might not be well written and the code is neither free of errors, nor optimized. Nonetheless, the demos run fine, and you can surely learn something new. I will revisit those tutorials once I have more time. Thank you for your understanding.

Shader Programming

The following short tutorials cover the High-Level Shading Language in more details than the previous tutorials.

Entering Flatland

Now that a robust DirectX game framework is in place, it is time to study Direct2D in more detail. We will learn how to use Direct2D to render 2D-images, starting with simple geometrical figures and working our way up to animated 2D-sprites. At the end of these tutorials, we will have a very robust DirectX and Direct2D framework, with DirectWrite and Windows Imaging Component support.

To round things off, we will learn how to handle user input and we will add sounds and music to our framework.

User Input will be handled by Windows events for the keybard and mouse, DirectInput for Joysticks and XInput for Gamepads. An event queue will be implemented to allow different application components and game entities to interact with each other.

To add sounds and music, we will have a look at XAudio2 and the Windows Media Foundation (in later tutorials, FMOD and Wwise will be introduced as well).

I can't think of a better place to start the journey into computer graphics than Flatland itself! To fully use all of the features in these tutorials, Windows 10 is necessary.

Direct2D Fundamentals


Input System (I)


User Interface (I)


File System (I)


Input System (II)


Programming Patterns (I)


Music and Sound (I)


Code Repository

You can find the source code of most of the software that I created in my GitLab repository.

Recent posts by Gilles Bellot

Tiers
Layman
$1 or more per month 0 patrons
Thank you for your support. This money will go towards tasty treats for Cosmo.


As a reward, you will get new photos of Cosmo each month.

Apprentice
$2 or more per month 0 patrons
Everyone has to start somewhere. 


Apprentices, just as laymen, have access to all basic tutorials, but in addition to the previous benefits, the name of each apprentice will appear in the credits of every tutorial written after the apprentice's pledge. 

Initiate
$5 or more per month 0 patrons
As an initiate to the dark secrets of game programming, you will have access to all basic tutorials.


Unlike the names of laymen and apprentices, the names of all initiates will appear in the credits of each demo programmed after the initiate's pledge.