The tegen Project
Everyone has a project, the one you think about on the drive to work, that constant thirst quenched only when you get a few spare minutes to dedicate to its forward progress… Little design sessions that keep you up at night. I’ve been “building” a project in my head for a very long time and it’s about time I actually sat down and did something about it.
So here it is, an announcement that only I’ve been waiting for:
Introducing, tegen! My game… thing and project… thing!
Aside: Blog updates had stagnated: I became derailed in favor of prepping my development environment, coding sessions, screencasting tests, sound checks, various failures and successes, and so on. This will change.
Code Name: tegen
At its core, tegen is a way for me to learn and teach—two things I deeply enjoy—while producing something I’ve long wanted to do… A game!
Let me start out by giving a little background on the project. tegen (a name reminiscent of an amazing singer/songwriter I happen to admire) will be developed over a series of screencasts, live coding sessions and other mediums, as well as documented on blog posts, chat sessions, Google Hangouts or whatever. I invite anyone interested to follow along, make suggestions and openly critique my work.
As of right now, it’s just an empty github repository. My plan is to document every step of the way. You’ll get to see me stumble and fall a lot, so expect fun times.
A Game? Really?
Yeah, I know. Everyone writes games and I’m not really bringing anything fresh to the table by creating a game. But games are what drew me to development in the first place. I’ve written before about the impact of games on my life. They’re central to my computer use and there are so many awesome development opportunities in low-level game code. For real.
If you’re still interested, read on…
But a Game? REALLY?!
I could use Unity or Game Maker Studio or any other game engine/game library/game maker already in existence. But I’m not really interested. I’d rather start from the ground up, more or less. At this time, I plan on using something like three libraries, Lua for scripting and Allegro (or possibly SDL, I’ve yet to decide) for low-level graphics and device handling and libwpd for a possible server daemon component.
Everything else is to be built from scratch. Or at least, that’s the idea.
I have fun plans to investigate some pretty sweet programming techniques, but we’ll see how things go as the series progresses.
If you’re familiar with Ultima VII, Dwarf Fortress, Minecraft, Nethack, etc, you’ll have an idea of the type of game I’m aiming for. Watch this blog closely, many more details are to be fleshed out.
Indeed, this is the beginning of something I plan to work on in my free time, quite likely as long as I’m able to work on it. I plan on taking advantage of the other projects I’ve created, such as libwpd, but otherwise tegen will be my sole focus from this point on, apart from professional endeavors.
A Life’s Work
I was inspired to create tegen after reading the Dwarf Fortress Wikipedia article, which states (as of 2013-06-26):
Tarn Adams has declared it his life’s work, expecting 20 years before it is complete.
Tarn Adams is the sole developer of Dwarf Fortress. Likewise, I read TAoCP, Vol. 1: Fundamental Algorithms as well as Computers & Typesetting, Vol. A: The TeXbook honestly, it’s hard not to be inspired after reading books of such depth and beauty. Dr. Knuth is my hero and TAoCP is his life’s work.
I’d like to have my own Life’s Work. This is the beginning.