LupLun wrote a comment in the last posting that made me think:
You're doing it wrong. Get some cheap middleware to handle the behind-the-scenes B.S. for you so that you can focus on content. Otherwise, your game will be crap. Don't take my word for it, ask the good people at Viridian.
So why didn't I get some middleware like GameMaker, UDK etc.?
I will be completely honest: It did not come to my mind. I definitely thought about UDK earlier but not while planning this project.
But in fact that has a certain reason. I don't think writing the whole framework by yourself is really the problem when it comes to focusing on a certain part of the game. Be it code or content.
In my opinion it's rather a matter of planning.
The planning stage is one of those stages that are dangerously underrated. Not only in game development but in any project, anywhere on the world, anytime and most likely forever. It's like the bane of modern software production.
Plans have to be really well rounded. Especially considering content creation planning should not only be about scheduling but mostly about structuring your work.
Let's play this through. In my opinion it works like this:
You plan your game and then you wait some time. Yes that's right. You wait some time and then you plan your game again. And again and again and again.
It's like smoothing a board. Take your time! It's like choosing between time-honored cabin work and out-of-the-box furniture shop products.
And you know what the best thing about time-honored cabin work is? It lasts.
You'll thank yourself for the long plan(n)ing (what a pun) period later.
So after planning the game plan your framework. It's basically the same process of writing down stuff (with the games ideas in mind of course) and scrap it again until the thing seems "rounded" and optimized.
After planing your game and your framework you start writing the framework. You will be surprised how easy it suddenly is.
Well and once you have finished your framework you make your content with it (which you have hopefully already planned). Most important here: Be flexible (so it's no problem to make some minor changes in the framework or whatever) but stick to the plan. No journeys into the unknown and no messing around anymore. That's what the planning stage was for. Same goes for the "Stuff takes longer to make than to play"-problem. Try to already address that in the planning stage (which is not easy at all of course).
I also know it is very hard to keep every workstage consistent. I find myself working on maps and tiles where I should work on the script language. I'm only lucky to have a soft spot for modular design and software architectures. So most of the stuff I write is completely independent and does not stand in each others way.
Of course you can still call it a bad habit, if someone wants to write everything by himself or ask for the justification of it when there is stuff like the UDK or XNA or whatever.
But you have to consider one thing: Once you write everything by yourself you're in total control.
I wouldn't even dare to say: "Well my framework handles this or that basic algorithm better than the UDK/XNA/GameMaker etc". That's just insane. But there is one thing i can say for sure: If problems arise I know what's happening in the background.
The last thing that comes to my mind when I think about this topic is that I also enjoy writing core code. I know it's a sloppy excuse but still. This and and an elaborate plan make the whole development process very worthwhile. That doesn't mean I wouldn't use middleware. Just not this time.
Talking about time: Until next time!
P.S.:
However the post at Viridian was a most interesting read.