I'm a terrible indie game developer. There are lots of things I do that I know I shouldn't; I just can't help myself. On a whim, I decide my 2D game will not use any bitmap graphics at all. I prototype my game in BlitzBasic in the first week and I'm a month from completion, so instead I start writing a C++ engine from scratch. Three months later, I still haven't got to where I was at the end of week one with Blitz. On another whim, I decide the game will not use any existing file formats, including audio ones. Everything will be programmatically generated. I spend three weeks on intense market research that tells me I'm working on the wrong kind of game, but I continue anyway. I stare at developer studio for 16 hours a day for three days straight without writing a single line of code. Unhappy with C++, I try BlitzBasic, Java, C#, D, Lua, Python, Squeak, and ASM, only to go back to C++. I keep doing low-level optimizations when I know I shouldn't. I constantly fighting the urge to write my own bytecode programming language and virtual machine. I've learnt the intricacies of SDL, ClanLib, Chillkat, Ogre, Irrlicht, NeoEngine, OpenSG, OpenSceneGraph, PTK, and PTC, yet I'm not using any of them because they don't do precisely what I want. I began with DirectX 9, downgrade to DirectX 5, go too far and end up with DirectX 3 before realizing I actually need DirectX 7. I'm doomed. This is exactly how NOT to approach indie game development. What's worse? I'm enjoying every minute of it. I'm wondering if anyone else would like to admit to their silliest whims, vices, and idiotic tendencies to make me feel less guilty.