Back to Top

Hi there! My name is David, and I'm here to teach you how to program escape games from scratch. Read my simple tutorials and you will quickly become a game programming expert - even if you've never written a single line of code in your entire life!

Read my game tutorials

I am an experienced game developer

I've been programming games since I was 12 years old. Back in the day, if you wanted to create a decent game, you had to use the low-level assembly programming language; it was the only way to build a project that could run at a decent frame rate on those 3MHz CPUs. Still, asm code had a serious problem: it was tied to a particular CPU architecture and OS. Therefore, I had to learn a few "versions" of that hard to grasp programming language back in the day.


These days we are spoiled! We've got lots of lightning-fast, user-friendly programming languages, such as C++, C#, Objective C, Java and even modern versions of HTML for people who want to create web-based games. I use a subset of the popular C language for all the tutorials on this site; I want to make sure that they are as easy to understand as possible. So, check out the most viewed tutorials on this site below, or choose the "Game Tutorials" menu option at the top of the page to find more of them.

secret messagesUncovering secret messages


What's an escape game without secret messages? Fortunately, we can easily encrypt and decrypt regular texts by making use of the many libraries that are available on the web. However, I wanted you to see the inner works of a simple, real-life encryption/decryption system that's built from scratch.

We are going to use only two functions. One of them will read an unencrypted text from a file, and then will output the encrypted version of it. Then, the second function will read the encrypted text from the file and will decrypt it, writing the unscrambled information to a text file.

Read more

game design tipsTop 10 game design tips


Creating a game is really easy, especially if you know how to code. But creating a great game is really hard, especially if you are competing with triple A titles. Hopefully, these tips will help you become a better designer and build a game that's actually fun to play.

Play lots of games. I know that this may sound counterintuitive, but if you start examining other people's projects (and not just play them) you will see how the big boys are doing their jobs. So, start playing successful games with a clear purpose in mind, if you will. What type of graphics and sounds are they using? What makes their levels special? What particle effects are they using?

Read more

about me

A few things about me

- Programming languages: C, C++, C#, Java, JavaScript, Visual Basic;

- Game engines: Unreal, Unity, CryEngine, RPG maker, etc;

- Graphics libraries: Direct3D, Glide, OpenGL, GLSL, Ware, Vulkan, etc;

- Database engines: MySQL, Microsoft SQL Server, Oracle, SQLite, etc;

- Web programming languages: Java, JavaScript, Python, Ruby.

Best selling mobile games

According to Data Alliance, the top 5 mobile games (PUBG Mobile, Clash of Clans, Fortnite, Pokémon Go, Candy Crush Saga) total a number of 27 million downloads per month, bringing in a monthly revenue of over $110 million.

Steam's most-played games

According to Steamspy, the top 3 most downloaded games on Steam are Black Squad, Dota Underlords and Oxygen Not Included. The top 5 games by playtime are You have a drunk friend, Enclave, Dirty Bomb, Path of Exile and SMITE.

Need help?

If you've got a coding-related question or need some C/C++ programming done for you, I may be able to help. Just hit the button below and tell me more about your project.

Contact me