I’ve been meaning to write tutorials for a long time, but I wasn’t sure what I wanted to cover specifically. At first, I was going to start with random C++ utilities tutorials, then moved onto shaders, but realized that even though I’m very competent in those areas, there are people out there more knowledgeable and with better tutorials already. However, I did notice there is a lack of good tutorials for GameMaker on specific topics, such as shaders and useful utilities for game development. I would like to share the things I’ve learned and useful systems I’ve written while working on projects such as INK, HackyZack, and soon, Fara & The Eye of Darkness.
Throughout my posts, I will be showing code samples and screenshots of the results, trying to cover everything as detailed as I can. Still, sometimes things are lost and that can make it hard for you to implement a specific feature, so I have created a public repository where you can download the project where I will be testing all these features at any stage of development. Here’s the link to the repository:
If you are not sure of how to use a Repository, simply download the codebase and use that for now. I will try to make a tutorial where I explain how to make and use a Mercurial and Git repository, along with some best practices that will help you collaborate on projects with other people.
Some extra information about the tutorials that I have added to the Readme file of the repo:
Hey! I hope these tutorials and snippets of code prove useful to you in your
future projects. The purpose of this series is to teach you ways I have found
to solve common problems while developing games. While you may freely use my
code in your games, I ask that you don’t just blindly copy it and attempt to
understand the concepts behind it so that you may code it yourself.
I am aware that the code I’m providing may not be completely optimized and,
sometimes, correct. I am writing these tutorials as I implement them in my
own projects and that means that I may be researching the topic and it may
be my first time implementing it as well. Still, I do my best to write clean
and well documented code so that it’s easy to read and understand. Also, notice
that I am trying to fit all these tutorials into the same project, which is why
the rooms and objects may seem a bit disorganized, but hopefully I can organize
If you have any questions, don’t hesitate to contact me:
I hope this tutorial series proves useful to you. Feel free to ask questions or requests specific topics you want me to cover and I will do my best to do so if it’s within my field of knowledge.