The pitfall of creative game iteration

Creating a game is a creative process, we are creating something abstract with one definitive goal in mind and that is “fun” which is as abstract and as subjective as we can get. One method to help us in expressing our creativity is by iterating the game from the bottom up: implement one feature at a time and then implement another feature on top of it and so on and so forth, and we do this progressively in small steps, each feature may be revisited later to be polished or tweaked or even to be changed or disbanded, the whole process is very flexible and it embraces changes which in turn made the game fun. Many successful game developers do this, especially in prototyping and pre-production, and it has become some kind of definitive way to create a game.

I personally think iteration like this is a very powerful method to use in developing a game, but I also see a pitfall that developers who use it may be tripped into: A game development may have a good iteration process but the game development as a whole does not move forward, it’s like a hamster wheel where the hamster feels like it is making a serious effort by running as fast as it could but in reality it is just running in place.

There have been numerous cases where developers are falling to this pitfall. You may have heard of some game that were in development hell that lasted for years or even more than a decade, they tried to be very creative and more original than their competitors, they iteratively added and removed features along the way to enhance their game, and they even made major changes to the game engine that they were using to fulfill their creative needs. But let’s think about it, all of these creative processes that they did are similar in some ways to what other successful game developers usually do, so why were they failed while others succeeded? From the many game development articles and stories I have heard or read and also from my own experience in some of the games that I have made (or abandoned) I came to a conclusion that there are two major causes for their failure, the first one is that those who were failed do not know themselves well enough (they unaware of their game development capabilities, the resources they have, the engine they use, the scope of the game they are trying to create, etc) and the second one is that they don’t have a clear and realistic goal in mind while doing their game development iterations, they charge blindly into iterating features as fast as they could without any kind of long term planning at all.

In an ideal world where there are no time constraint, no budget limitation and no technical hurdles we may freely be as creative as we want in developing the kind of game that we like, we can indefinitely iterate our game features and be as original as possible. But the reality is, we will always have constraints: we have technological limitation, we have budget limitation, we have knowledge and skills limitation, we have time limitation and so on and so forth.

Let’s say that you, as a programmer, say that given enough time you could implement a particular unique feature of your game while you yourself lacks the knowledge in how to actually implement it, you put it in your backlog or even commit to the team to finish it at a certain date, and that commitment made others in your team starts to create assets or code in the assumption that the particular feature will be in the game, weeks passes by, you have read lots of research papers and you have implemented many different things to no avail, you are running in place in each iteration to implement that feature, all the assets that the others have created with the assumption that the feature will work are discarded, weeks or even months of work abandoned and the project stuck in its place, it doesn’t move forward even with the seemingly diligent efforts that the team have made.

The other case is if you are a game producer and has this brilliant idea that no one has ever done before, let’s say that the idea is to create a full world simulation where there are dozens of different plants and animals and that there are a real world ecosystem in place that governs them, and you want each of the animal has their own personality and distinct behavior, and that each of them are visually appealing using the latest and greatest graphic technology, they must have realistic physically based rendering and of course a hair physics simulation to enhance the immersion. You, who knows nothing about the existing technology other than seeing nVidia technical demos pushed this ideas forward thinking that it is trivial in terms of biology and mathematics, months passes by and you’re stuck because you found out that rendering hundreds of dynamic objects that each has hair physics and complex AI are just not possible, not to mention the complex ecosystem formula and the massive number of data that are calculated each frame is chugging the performance and consistently crashing the game.

There is a saying that a failure is a necessary step towards success, and I do believe it is true, I believe that each failure is a valuable moment for us to get better in the future. But I think it is unwise for us if we are not trying to reduce the chance of failure when there are so many things at stake especially if it belongs to other people properties whether it is time, money (kickstarter backers for example) or both. If we aware of our own capabilities, if we know what kind of resources we have (resource is very broad in this case, it’s not just money, it includes: development time, the skills of the team, how well the team works, marketing capabilities, etc.) then we will be able to create realistic goals, we will be able to confidently choose to sacrifice gameplay over immersion or visual over gameplay (or vice versa), etc. Having a realistic goals will make our iterations more effective, the team can make commitment that they can actually do, adding or removing features will be more meaningful, the game will have a clear scope and will be less likely to suffer from scope trips.

The conclusion is: Don’t just be creative and fully depending on high speed iteration process to develop a game; You must first need to know yourself and then you will know the kind of game that you can possibly create within the limitation that you have and only after which you can be creative and do the high speed iteration process.

Published by

Fathurahman

I am a game programmer interested in many aspects of game programming especially tools development and User Interface. I am currently using Unreal Engine 5 for both work and off-work projects. I love to do figure drawing and digital painting in my free time.

One thought on “The pitfall of creative game iteration”

  1. Absolutely I agree. Regarding to Eisenhower Matrix i think getting some goals to survive with it Q1 is good choice to be in determination

    Like

Leave a comment