I'm at the last bit of my game, LaunchCraft. I still think I implemented it poorly, but I just want to be done with it. Which is a really crap reason for wanting to finish a game, but at this point I need any motivation to get through it. Game development is alot of pain working with obscure tools and uncertain documentation aimed at MIT compsci gradutates who read WC3 specs to wind down, I find.
To be more accurate, working with open source tools is like that. I could very well use any manner of commercial prodcuts to get my game done, and that would likely be the wiser course. But I have this thing for freedom, and have various, radical scenarios where entire swaths of my PC goes down, or companies dissolve, and then I have to rebuild whatever I was working on from scratch. With open source, that option is there. The code never dies. There's no company to die and leave you in the lurch. You can always work 'light'. That is, with as few dependencies on the nefarious commercial companies which have the habit of going out of business or discontinued whatever widget you are relying on.
Or maybe I'm just a not so disguised zealot.
But it means having to endure a lot of pain and feeling not entirely bright while trying to solve what you think is a pretty straightforward problem. The problem has been solved, but it's under a mountain of documentation, and even then you're better off peering at arcane source code written by the bright, genius sort of coders who find making game-frameworks to be just the sort of challenge they need between reading WC3 specifications.
It's humbling, to be sure.
Open source suffers for the same reason that Apple does so well. User interface design. In this case, as the programmer, I'm the user, trying to use different bits of code to make a game. Trying to make this bit of code work with this bit of code. Invariably the sort of people who write game frameworks (the bits I'm trying to tie together) can't conceive, or don't plan for, programmers like me who can't understand why there's no, say, simple way to pause the game, and will answer, in a slightly bewildered tone, an answer that is in no way obvious and involves using bits of code that I suspect were made by a malevolent AI bent on eventual human enslavement.
But it goes, it goes. Roughly.