As I ramp up my next game software project, I find myself asking a few questions before writing that first line of code:
- What's the game about?
- Who would play it?
- What's the scope?
I've been in the games industry for years now - from Doom 2 to the present day. I personally haven't directed a project (which is why I'm here writing about my attempts at going solo.) But I've worked on enough games to give a stab at the answers to these questions.
As a designer, all three questions I've listed (and many more) are important to answer. But as a programming lead on a team of one, I'm finding the answers to #2 are essential to getting those first lines of code compiled and running.
Who would play it?
Are we talking casual or 'hardcore' gamers? Will they be playing on consoles, PCs, tablets, or phones? Why are these questions important? Because they tell developers what tools, languages and technologies they need to use.
Today you've got a gaggle of platforms each with their own set of tools and languages to use.
If you're a beginner, it's probably best to stick with one platform. Decide and focus on your platform of choice. Google or Bing the relevant topics on OpenGL for iOS or Android. Try SDL if you're going to make a game on Windows and Linux. Or fork over a few bucks and buy a Unity license. End of article.
BUT, if you want your game on multiple devices, you'd better find a solid cross-platform solution like Unity. Or if your'e really going to DIY it, design an architecture that reduces the amount of rework needed to port a game from iOS to Android (just to name an example.)
Easily said, but how does one go about engineering a solution? Stay tuned for articles on my approach.