I’m learning that my tme is important. Let’s talk about it as Return on Investment (ROI). Certain types of game content lend themselves to getting a lot more ‘game’ out of a given amount of input. Indeed certain types of games may be more suited to a higher ROI than others. Especially if you are a solo developer, perhaps part time, this is a major concern, and I think a big reason why many of us fail to finish projects.
So for example, if my game entails needing a lot of pixel art, and each piece of pixel art can only be used once or to represent one object, then this has quite a high development cost. I have to hand-draw each individual pixel as well which isn’t very cost-effective, because it’s linear. More pixels, more time. Ie it doesn’t scale well. I can’t easily get a lot more bang-for-buck by drawing everything by hand. I could instead draw fewer frames and maybe use some tweening or maybe automated bone animation to save time. Saving time increases my ROI.
Another example might be a menu. If the game has only one menu then this menu can’t be re-used, and time spent developing it does not scale well. It has limited re-use and become a time-sink. Working on one-off resources that only have one use is not efficient development. And it’s also these areas of development that make me, and many people, bored out of our minds. We’re not getting enough return on our investment of time and effort, so it becomes not worth it.
Parts of development which do not scale well, have a low ROI and consume a lot of time with very little potential for multiplying its uses, leads to boredom and turns development into a chore. Unscalable development can come in the form of one-off or few-off resources that just chew up a lot of time without being versatile. It can also come in the form of something that is repetitive, like developing levels or drawing sprite frames, which, without automation, consumes huge amounts of time. One of the most significantly off-putting things about development is how much time it is going to take and how little the results are in comparison. Without optimizing development on purpose, it still takes a heck of a lot of time and effort for small, unsatisfying results. And thus the project becomes a chore and probably dies.
Case in point, I started on a cool platform puzzle game and built a small first level, was happy with it, and it seemed complete/polished. But then I realized I was going to have to build a lot more levels, and now the difficult time-consuming parts of making the first one was not going to scale well to the rest. I couldn’t get past the fact that, from a development standpoint, developing all those other levels was not going to be more enjoyable - it was essentially more of the same in spite of it seeming to present new challenges in the end-user experience. To me as the developer, it was a repetitive chore, and put me off. Without automating the level generation, it was game over.
So I guess what I’m suggesting/investigating here is, the importance (especially if you are indie or a solo developer) of choosing a game project that lends itself to a LOT of automation, and where the content and development that it needs can also itself be highly automated. And the automation definitely must take less time to implement than the time it saves. This would of course lend itself to procedural content. But it’s more than procedural content development. It’s about treating the whole development process as something that itself needs to be compressed and optimized.
And this also impacts the game design - if I’ve chosen a game that needs a lot of low-ROI development, it’s not a good fit. If I have to create lots of linear experiences with assets that are only used once, that’s not a good use of my time. If it will require writing a lot of custom scripts which only perform one function, is that really a good use of time? If it requires me sitting there for ages plodding through setting things up for each level and doing the same thing over and over, is that a good use of time? If you’re going to have to hand-tweak thousands of triangles to build special models and churn out only one a week, is that a good use of time? If your time is valued as much more important then you should be only working on projects, and only in a manner, which lends itself to getting a lot more output for your input.
Perhaps the ultimate goal here is a kind of ‘game generator’? Or maybe this is too close to that elusive ‘make the game for me’ button? Do we REALLY want to be in ‘game development’ or should we be aiming to be in more of a ‘let the game be developed’ mode? Perhaps this means outsourcing as well, or using off-the-shelf parts. But it also means not doing everything yourself, over and over and over again like some machine.