Daily news, dev blogs, and stories from Game Developer straight to your inbox
The Masochistic Programmer
An introduction to me, the game engine I'm developing, and why I call myself the masochistic programmer.
December 28, 2010
3 Min Read
My name is David Maletz, and I am a self-proclaimed masochistic programmer. Why am I a masochistic programmer? Because whenever I have a choice between using an existing utility or creating the utility myself from scratch, I almost always choose the latter. Determining what tools to use, and what tools not to use is critical for all game and software development. Choosing the right tool could save months, perhaps even years of development time, but the wrong tool could come with a poorly documented API, bugs or the have the wrong tools and utilities. A smart programmer carefully chooses his tools and learns how to use them well. I prefer to make my own tools, reinventing the wheel, and making it better. Why? Partially for the learning experience. Every tool I write gives me hands on experience with the inner workings of that tool. However, the main reason is because that's just who I am, the masochistic programmer. And isn't it fitting that I am now working in game engine development?
I wont go into details about my history in my first post, but to put it briefly, I'm a graduated computer science major who has been programming, and developing computer games since I was 12 and have made (and failed to make) many games. One of the failures I'm most proud of is Aero Empire, as even though it was not completed, I learned a lot while making it, and was also the first time I tried making a game with a large team. I also enjoy telling people about the pseudo 3D maze-crawler RPG I wrote entirely in x86 assembly code, but that's another story. In graduate school, I developed rendering algorithms and wrote papers as a research assistant (my portrait image is a screenshot from an interactive algorithm I developed), but decided I preferred hands on development to research.
After graduating from college, I decided that I should make a game engine. I've had plenty of experience making the utilities games need because, as a masochist, I have written them from scratch more than once. I also have a lot of experience with advanced rendering algorithms because of my time as a graphics researcher. And making a game engine satisfies my desire to design and program all of the utilities from square one, exactly how I think they should be (to be honest, I use external libraries for model and texture import and export, although I did write a DDS texture import/export tool from scratch as I couldn't find a free one that fit my needs).
I have been working on a game engine for six months now, and am just finishing up the core, which includes just about everything needed for general scene management and rendering with plenty of utilities to make things easy. The core is designed to be incredibly flexible and dynamic, and has integrated animations, accurate collision detection and instancing. It's pretty interesting - but a long way from completion. It doesn't have any rendering effects yet, so it renders basic phong shaded models. A game engine is a lot of work for one programmer, but as the self-proclaimed masochistic programmer, I look forward to doing it all from scratch, and even torture myself with writing good documentation.
Anyways, I'll continue to post updates with more masochistic coding, interesting thoughts that come up during development, and even news on some small game projects I'm making on the side.
Read more about:Blogs
You May Also Like
Accessibility and fancy footwork with GLYDR's John WarrenFeb 28, 2024
Exploring the 2024 State of the Game Industry report - Game Developer Podcast ep. 39Feb 2, 2024
Phantom inspiration and the ethical auteur with Xalavier Nelson Jr.Dec 8, 2023
Designing Killer Queen: from playground experiment to modern arcade sensationOct 18, 2023
Get daily news, dev blogs, and stories from Game Developer straight to your inbox
Subscribe to Game Developer Newsletters to stay caught up with the latest news, design insights, marketing tips, and more