0001 - Introduction
This blog documents my journey learning how to build a game using VALVe's Source Engine.
About this blog
My goals with this journey are:
- To spend the next year using Source regularly (at least once a week);
- To document all the problems and their corresponding solutions, to my own benefit and that of others;
- To develop a demo or game by the end of the year.
Lastly, I intend to keep each post short and thematically cohesive.
I do not currently have a strict schedule for this blog. Posts will be written at will.
About me
I like software, and I like video games. I see games as a medium that presents a great balance between 1) technical challenges that I enjoy (software), and 2) freedom of artistic expression.
Every person has their preferred media. Games are mine.
As for software, I am a strong advocate of keeping things simple and correct. Complexity sucks. It may be a necessary evil in certain cases, but it is far more pervasive than it has any right to be.
VALVe is a company I respect. They have consistently produced exceptionally-high quality products and services – industry-defining, even. I suspect that their success is a result of VALVe taking their time to develop and refine their ideas. The world needs more of this long-term thinking and planning, commercially or otherwise.
I do not regret a single dime I have given to VALVe. I cherish the memories and the inspiration I get from Half-Life. I wish to pay that sentiment forward with the code I write and the games I make.
About this project
VALVe's approach to developing the Half-Life series of games in particular resonates deeply with me. Every entry in the Half-Life series was accomplished with 1) some technical breakthrough and 2) some artistic exploration in mind.
- Half-Life cemented the "single-level" game narrative, and had superb AI and sound design for its time;
- Half-Life 2 introduced physics as a core gameplay mechanic, with powerful graphics to boot (once again, for its time);
- Half-Life 2: Episode One introduced allegedly advanced AI with Alyx (though I personally did not find it remarkable);
- Half-Life 2: Episode Two expanded upon the concept of using physics as a core gameplay mechanic, and introduced a stark contrast in environment compared to its predecessors.
- Half-Life: Alyx is an exceptionally fleshed out VR application, including all its associated technical novelties.
I believe a large part of the success of Half-Life is their engine. It is unfortunate that the latest publicly available SDK is over 10 years old, but that is an obstacle I am willing to struggle with and overcome. My focus is primarily on the journey. I am not particularly concerned with the destination.
I also believe that a large part of the success of VALVe as a game company is the moddability and accessibility of their engine. Half-Life itself was built atop the Quake engine. Team Fortress, Day of Defeat, and Counter-Strike all started as mods for Half-Life. Portal was created by digipen students using the Source engine.
The fiasco surrounding Unity's updated term-of-use in late 2023 was completely justified. Indie and AAA developers alike immediately began searching for alternatives. Unreal Engine and Godot (and surely others as well) benefited greatly from the opportunity.
I wish Source had as well.