For my first tutorial, I wanted to start with a utility that I wrote a couple of weeks ago and has proved to be incredibly useful so far while developing HackyZack. It is always useful to have some sort of text drawing while debugging your game so that you can check the values of variables at runtime and figure out if something is working properly, or why it is not. Before, I just used to write some code within the object’s draw event and that worked, but I found myself writing very repetitive code over and over again, which I later had to go in and delete after it was working as intended. As a programmer, I knew there had to be a better solution to automate this process, which is why I decided to write what I call my Debug Logger.
Programming
GMTuts #0: Introduction
StandardI’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.
RGB to HSV & HSV to RGB Color Conversions
Standard
Rainbows seem to be pretty popular lately, so I thought I’d share this.
While working on a graphics assignment for school, I decided I wanted my lights to cycle through the full spectrum of colors. The problem was doing so while using RGB, since the loop can get a bit messy to achieve the effect. That’s when I decided to make an RGB to HSV converter, as well as an HSV to RGB converter. For those of you who don’t know, RGB and HSV are just two different ways of representing a color as a collection of three numbers. RGB stands for Red Channel, Green Channel and Blue Channel, while HSV stands for Hue, Saturation and Brightness (V is used instead of B to avoid confusion with Blue). Below is my implementation, which is the classical one with a slight performance increase trick that I found. I will provide all the links to my resources below.
Template Metaprogramming in C++
Standard
Recently, I wrote an Introspection system for C++ with the aid of Randy Gaul’s Blog. There are many ways to achieve this in C++, but the one used by Randy was through Template Metaprogramming. So in order for me to fully understand his implementation, I had to do some research on the subject. And I fell in love with it!
I decided to write a series of posts where I explain what template metaprogramming is, some good reference material to start learning it and then just post some fun programs I’ve made with it.
Topics I want to cover
Standard- Production Methodologies (Agile/Scrum, Waterfall)
- Books I’ve read or will read about programming, production, leadership, personal growth, etc.
- Reviews/Recommendations of videos you should watch from these sites: GDCVault, TED Talks, Extra Credits, among others
- Comment about articles I come across that I find interesting
- Updates about projects I’m working on
- Code tutorials on topics I’m familiar with or maybe about something I’m learning at the moment
- Coursera course reviews
- Anything else I feel like writing about 🙂
If there’s any other topic you’d like me to talk about, don’t hesitate to Contact me to let me know or just leave a comment below.
It’s alive!
StandardLet’s start over… Hello! I’m Alejandro Hitti, a Computer Science student specializing in videogames, more specifically, in videogame production. I am also currently working on an indie game called SUPER III, developed by SUPER 91 Studios.
There are a few reasons I created this website. First, it was a nice way of displaying my work, like a portfolio. Second, I am at a point in my career where I want to experiment with tons of different techniques and learn interesting topics that will help me improve professionally. My idea was to share this experience and leave a crum trail of sorts to anyone interested in pursuing a similar career path later on. It is also a way of motivating myself to learn, as I feel the pressure of keeping my website updated.
I believe this post has gone on for long enough already. Shortly I will post a list of topics I will be covering. If you are interested in my project, I would greatly appreciate your support and I hope you find what I talk about to be interesting and a great learning experience as well.
Cheers!