Am kinda similar within this regard. I mostly focus myself on a given game
specific sub-system (like graphics, physics, audio, input etc.) until I have
really improve on it. Then I switch over to the next sub-system doing the same
thing. Once the core functionality of each sub-system is up and running, a
first vertical slice can be made, a PoC. At this stage all the sub-systems
will be in quite a rudimentary state, yet they are coupled and work together.
If the PoC holds, each part of the whole system will be refined a little, one
after another. Then the whole thing is done over again (iterated) up until the
game is done.
This is sort of solving a global non-linear system by iterative refinement.
Given an initial guess (the PoC) all sub-system of it will be modified
slightly to reduce the distance to the given goal. Then this corrected guess
(which may server as a prototype version) serves as the new input, i.e. the
whole system is iterated out up until convergence. This is sort of a full-
system approach where each component is treated equally important.
The advantage is that one won't get lost into just one component optimizing it
without reference to all other. So one restrict oneself not to go too far
ahead. Another advantage is that one always have sort of a working system. The
disadvantage is that one has to understand many of the components from a
theoretical perspective, a-priori, and know how they relate to each other.
This requires some skills in different disciplines at the same time or ones
brain being able to grasp such things in time. With a team on ones back, one
can distribute this task and manage the interaction / communication /
couplings. This is usually the position of the Team Lead (also managing budget
and ensuring the game is on schedule). But without a team, this is seems to be
a task too large to deal with for many. Yet if one is willing to accept small
steps, i.e. have patience, one will get there.
I'm looking forward to this!
Makes sense.
What's the alternative?