Game Development in Layers
I spoke on a twitch stream a while back about how I kind of view game development projects as a series of layers applied on top of each other and once all the layers are complete, they form the whole game.
Here is a quick visual of how I see the game development process.
So the idea behind this visual is that every game starts off with a core gameplay mechanic that the creator is trying to get the user to enjoy. Now I understand not all games start this way, some start with a story, but essentially at the core of every game is this idea of a core gameplay mechanic. Whether that mechanic is shooting, jumping, or even just moving, there is a core mechanic at work.
After the core mechanic is established, iterated upon, and proven to be fun, the team can then proceed to design a story that supports that mechanic. Not all games have stories, but most games do, even if its just a simple princess gets kidnapped and you have to rescue her story.
Once a good story has been developed and iterated upon (along with the core mechanic), we can proceed on to building out the world, levels, and secondary gameplay mechanics. The story may not necessarily be complete at this time, but usually a main premise has been established and the overall story arc decided upon.
Side Note: Some might argue and say that they want a more organic approach and secondary game mechanics and story arc’s should naturally come up while developing the game, I would say this process of layers fully supports and even encourages that idea. The idea of layers here is not that one layer must be fully complete before the others, but that something of the below layer must exist before the next layer can even be started. For example, there is no use developing a story if you have no fun core gameplay mechanic to support it. Also there no point in developing secondary mechanics if they have no part in your story. Likewise FX are pointless without some art or environment context to put them in.
The other key to this layering view is constant iteration. So when you move on to the next layer above, you do a lot of iterating between those two layers. So changing one thing in the bottom layer will probably affect and cause an iteration to happen in the top layers too. Essentially this layering image shows not only order of development, but also the architectural structure of the game itself.
After level design and secondary mechanics have been iterated upon for a while, you can start building out the systems to support those mechanics and levels.
Once those systems are established you can start attaching art to those systems and watching the game’s visual direction take shape.
Once some art is in, you can also start figuring out the sounds and environmental atmosphere you want to create. Some might argue here that animations (or lighting) should come next, I would argue back saying establishing great audio and atmosphere up front will lead to a much more engaging and immersive experience than waiting until later after its too late to change the art and animations to support those atmospheric sounds.
After atmosphere and sounds comes building out animations. At this point we are far enough along that the layer ordering isn’t as big of a deal. The sounds, animations, and FX layers can really be interchangeable, though I do still think the order presented above is a good guideline.
Finally FX layer comes last. For FX, I am talking about lighting, post-processing filters, particle affects, pretty shaders, etc. Pretty much all the eye candy stuff. Having said that, I think lighting could also show up in the art layer, but certainly not final lighting, which is what I was thinking of when including it in this layer. Its also plausible that lighting should be its own layer because its so complex and important, but not all games have huge lighting needs (but maybe some of them should!).
I hope you found this explanation of the game development process helpful. It is by no means a one-size fits all. This is just one simply way I like to visualize the process and it helps me not get too overwhelmed with all that needs to be done in creating a game, especially as an indie. Its a good high-level roadmap with just enough detail to make it easy to focus on the right areas of your game at the right times and not get too far ahead of yourself.









