Sponsored By

Motivation And Efficiency While Working On A Single Project?

My experience from focusing on a single game project and how working on multi projects might help.

Ofer Rubinstein, Blogger

October 14, 2009

6 Min Read
Game Developer logo in a gray background | Game Developer

[From Pompi Pompi Gamers and Developers Blog.]

I have been developing Labyrinthica: The quest of lima for more than two years, in addition to working part time at a university. I was focused on a single project(my game) and didn't spend time working on other projects. There were a lot of difficulties in motivation and efficiency. I enjoyed programming Laby a lot, but there were also times of very low motivation. There was also a period of two months I didn't work on Laby at all because suddenly working on my game seemed like the most boring thing on earth.

Some developers might say "If you don't like to work on your game, then maybe you are not ment to be a game developer". I was like these developers at a certain point. I had tons of fun and motivation working on my game, thinking I was ment to be making games. But its a lot more complex than that.

I can't entirely tell what will keep the flame(passion\motivation) burnning, but I can tell you what was my experience.

"Know your enemy" is not always a good thing. Labyrinthica is a single player game. I coded the enemy AI using finite state machine and steering behaviours. The problem with this approach? When I am play testing the game, I learn very quickly how every enemy behaves. I know what to expect, when they will chase me when they will go back.

If a game is suppose to have 15 gameplay hours and you are testing it for 100 hours, you bet it won't be as fun as playing some one's else game as a new player. This is not entirely a bad thing, you don't expect the developer to have the same experience as a player. However, there might be things to make your game more unexpected for yourself.

For instance, I have just been reading about genetic programming. Its a way to let the computer generate AI behaviour automatically that could perform as good as or even better than under human control.

You can use this to generate different AIs in a matter of seconds, and have a fresh and unfamiliar new AI to play against.

During the development I had all sort of ideas about how to implement new graphic shaders or all sort of game related solutions. Since I was so focused on my game, and those ideas were not relevant for Laby, I thought I shouldn't invest time on trying to implement them. Implementing these things could mean less focus on your game. However, they could also boost your motivation in many ways.

What about learning? I did learn new game and non game related things here and there, but I didn't think to invest too much time in learning new things. Because it would take too much time, and I need time to develop my game? right? The problem is that while developing a game is fun and rewarding, it is only a certain type of activity. Especially when you stop developing the "engine" and develop all the logic of the game, which could be the major part of the game. You need to vary your game related and non game related activities. Working on a game is one activity, and being creative is another activity.

But learning is a very important activity. And by learning I mean, reading articles,  studying new technologies. When you work on your game, a big portion of it might be an activity that happens mostly with independent thought. In the most extreme case it means you don't need anything external to your development environment and your brain. Learning would involve other people's ideas, other people's work. Something outside your own work. It could be very stimulating for the brain to learn something new that is related to you as a game developer. I hope I was clear enough about this. :)

What about efficiency? Efficiency is related to motivation. You don't have to be 100% efficient, and its ok to have low efficiency. However, sometimes you have low efficiency and don't realize it. I was working on something that made incremental build took a while(c++). Each time I was waiting for a build, I switched to my other computer and surfed the web. I found that I was spending time surfing the web more than the build took.

Well, we are not robots, right? We are allowed to surf the web? I then decided to check how much time I spend on the web and how much time I work on my game. I decided I will work on my game in portions of one hour. I would work one hour on my game without any distractions, which also means watching the game build\compile. To my surprise, I discovered I worked 4  hours in a day and all those "few moments " spending on the web, really stacked. Less than what I thought I was working.

Now, I don't suggest using strict methods to watch over your development time. Like using a program you click every time you start and end working on your game. This could be suitable for some people, but I know it won't be suitable for me. I don't want to be super efficient. However, making a reality check from time to time could help. Reducing compilation time might help as well.

But most importantly, I think having other things to do except working on your game, which are brain stimulating, can help. And this bring me to my conclusion from my experience.
I think that working on two projects and having more game related and non game related things to do can increase your motivation and eventually productivity of working on your primary game.

Laby is almost complete. I am missing some sound and art assets to complete the game, but the game is mostly done.

I am planning to start working on other things. The things I plan to do are: Trying writing little games with C# and XNA, reading game related books and articles and implementing some shader ideas.

Working on multiple projects can easily make you lose focus on some or all your projects, moving from one project to another. I believe having one big primary project and one medium or small secondary project could be a good compromise, but this is something I am going to try and see for myself.

If you are a beginner, I would suggest working on very little projects. How small? Think of the smallest project you are willing to do, and make something a bit smaller than that. I would also suggest making one of the projects your primary project, but a primary project doesn't mean it has to be big.

There is a lot more to say on this subject, and if programming is not entirely formal, then motivation and project handling is even more difficult to make sense of (for me). As always, I hope you take from my experience what suits you.

Read more about:

2009Featured Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like