Or, Why Games Design Is The Easy Bit
Well, I'm currently having a little bit of trouble with Gestalt. The design is solid, but there's a lot of annoying little things that need to be done and I'm mired right up to the eyeballs in them. Even getting to first playable is proving to be an exercise in deep irritation. The game needs to be working already, but I'm spending what little dev time I'm allowed (in between personal crises and annoying business tasks and trying to squeeze enough cash out of my friends to pay the office rent) implementing a whole bunch of structural crap to prevent me having to do too much of this again later in the line. And ProtonSDK, while handy in that it gives me a shiny Android and iPhone build path for free, keeps throwing up more and more stupid bloody problems.
As an example from Gestalt, the template system is wired into the rules system, which is in turn wired into the paradigm system. All this stuff is designed to work via some easily changed text files, but since I only have 3 templates right now, I've cheated and put in some hardcoded basics. But then I discovered that I needed to cache the currently active ones. Which should be easy, except it turns out that the VariantDB structure contains no capacity to modify its content and, here's the kicker, actually destroys all of its objects on clearing! So no VariantDB for me. Except I used VariantDB for a reason, as at some point in the future my Entity-extending Templates will be actual renderable EntityComponents, and so now I'm in a situation where I have to filter things out of a VariantDB (effectively a Variant dictionary) into a VariantList, a straight array-like collection. Aaaaaand then I discover VarintList has a hardcoded maximum of 4 elements!
I should perhaps be clear: all this crap is not unusual for a development period. But this is the bullshit fucking about period that takes time. If I'm working as part of a team I have a constant inbuilt drive to finish each element in order to permit my team-mates to progress on their work. Working alone, however, means I'm mainly just floundering in a sea of annoying petty issues and stupid bugs. It's this period that always consumes my home projects, and I'm having to fight hard to prevent it consuming Gestalt, especially with paid work floating around waiting to steal my time in the office.
Really, I should at the very least try to remember what I said right up at the beginning, in bold. Games design is the easy stage. No amount of Unity or similar middleware can take away the need to actually build the game, and that will never be easy. The Development Swamp - located between Creative Surge Design Land and First Playable City - is a dangerous and unforgiving place. Hopefully I'll be out of it soon.