At this point, you already know what is game development and how to start developing a game. Hope learning is going well for you! Now we’ll go one step further and explore ways how not to get lost in the neverending jungle of things to do in your game.
We know this jungle and we know how hard it’s to manage sometimes. But after a few years, we think we know how to deal with it. Do not worry we’ll share that with you so you can focus on making games. Besides making our own games we also have quite a lot of experience from our day jobs. Wojtek works as a Scrum Master so he knows processes of software development and techniques used there. Sonia, on the other hand, works as a freelancer and she needs to organize her time and tasks perfectly.
In my opinion, a good organization is key. No matter how big or small your project is. In my job, it’s very easy to get lost in a number of daily tasks to do. So I must organize my time and tasks in the best possible way. After work – same thing is waiting for me at home – neverending (literally!) Crazy Oyster’s tasks. But it doesn’t really bother me because after years of practice I think I’m quite good at it. 🙂 – Sonia
SOME GOOD PRACTICES
Split your tasks into smaller pieces
We’ve already mentioned this in how to start developing game post. Itsy-bitsy steps, remember? By splitting big tasks into smaller ones you’ll see a higher number of them but they’ll be definitely easier to accomplish and won’t overwhelm you. You’ll focus on one task at the time and as a bonus you’ll get a little bit of endorphin rush after finishing each one of them!
By the way, do you know that one of the most common reasons why people abandon their projects/goals is that they don’t see results as fast as they wish? Don’t make that mistake – split your tasks, finish them and enjoy the fruits of your hard work.
Start with the most crucial parts and leave rest for later
Do what is most essential for the game. Develop a quick proof of concept to validate your idea for something. Implement and test core game mechanics or anything you see as most important at that particular moment. Don’t engage yourself in less important tasks that can wait for their time.
Going a little bit deeper with an example. Let’s say that you’re doing an action game about shooting space zombies with a potato gun. What could be that first thing to do? We would probably start with some shooting objects and objects that will be shot. No cool graphics, no obstacles, no powerups, no upgrade system. Just a potato shooting system. When it’s done, you could validate if that system works and shooting space zombies with potatoes are indeed fun. After that, you’ll decide what is the next most important thing to do. And so on, and so forth. Makes sense, right?
Don’t plan the next six months of development upfront. Don’t even plan the next month. Believe me – it’s not possible. Lots of things can change and will change. Delays might happen, bugs will probably hunt you and lots of other problems will appear. Even your plans for the next few days can change in an instant.
Agile means approaching development in a clever way; accepting and assuming that priorities will change based on what you’ll discover during development. But to make this work you should know what you want to achieve. You should have a clear vision for your game.
Keep your head clean
and use shampoo often write everything down
Always write down every idea that will come to your head, so you won’t forget it. Maybe it’ll be important or maybe not, but write it down anyway. This will keep your head clean and not clutter your brain with not important things. You’re better off focusing on fixing that nasty bug or implementing a new awesome feature ASAP rather than thinking about the plot twist that you should write in the near future. You can always get back to those things later. Oh, and never trust your brain that it’ll remember it one hour later – it’s very unlikely!
HOW TO ORGANIZE YOUR WORK?
You should have your tasks written down (somewhere) by now so it’s time to learn how to organize them.
You’ve got at least a few options here:
- use a paper calendar/organizer or a simple sheet of paper,
- create a list in a text editor of your choice (Notepad, Notes, favorite IDE, etc.),
- use some kind of Kanban board (Trello, Asana, sticky notes on the wall),
- use more complex tools for project management like Jira / Azure DevOps / Gitlab.
We have tried almost all of these tools. From pen and paper, through lists in various forms and shapes to different project management software. What seems to work for us, at least for now, is a combination of Azure DevOps, //TODO comments in code and a paper organizer.
No matter the medium you choose it all boils down to create and maintain some kind of to-do list. When you have it, find two most important tasks and mark them – these are the tasks that you’ll have to do first. Other tasks are secondary and it won’t hurt if you finish them later. Prioritizing that list is crucial as it’ll let you stop for a moment and think if this is a correct order in which things should be done. Don’t skip that part and please don’t overload yourself with too many tasks at once. You could burn yourself out quickly and never finish your project if you do everything you could think of simultaneously.
So how not to get lost during game development? You need to have a clear vision, prioritized tasks and plan for each day. Do the most important things first, learn from experience and adjust to new circumstances. How well we will manage that can make or break the success of our game. Good luck!
All graphics designed by stories / Freepik