Planning your project

Tutorial

·

Beginner

·

+60XP

·

35 mins

·

Unity Technologies

Planning your project

Game development is unpredictable, but that doesn't mean you should start without a plan. In this session we'll introduce you to planning tools that you'll use to plot a course to a finished game.

Languages available:

1. Scope Check

Optional Step

2. Resources for Writing a Backlog

A longtime EA engineer, now a producer, describes the difference between writing tasks and writing user stories, and why user stories are a better way to approach game development. “Describing games as tasks is a little like describing a painting by the color of the paint.”

This is a bit disorganized but gives a few good concrete examples of user stories for a game.

This has a few more examples of user stories for a game. Note: it’s not necessary to use the “as a player I should be able to” at the beginning of every story.

3. Assignment: Creating a Backlog

In this assignment you’ll create a to-do list for your whole project using a specific format. We’ll see in the next project how this fits into a larger approach to software development called Agile.

Part 1: Choose a task tracking system

Game projects are complicated, and it can be easy to lose track of what you should be working on. Professional teams use dedicated tools like Jira or Asana to keep everyone on track, but even for solo projects you’ll need somewhere to keep your to-do list and track your progress from week to week. It’s a critical part of finishing your game .

We’ve provided a simple spreadsheet in the form of a Google Sheet that you can copy and use. If you’ve already got an effective system for managing your work, or if you want to try out a different tool like Trello or Basecamp, or even if you prefer physical Post-Its, go ahead.

Part 2: Fill in your backlog

Once you’ve chosen how you want to keep track of your work, it’s time to generate an initial list of things to do. Look at the end of this document and in the provided spreadsheet for examples of each step.

1. Think about the broad areas of things you need to do to make your game. Aim for four to six of these, and don’t put in more than eight total. Create these categories in your task tracking system as categories . In our provided spreadsheet, these would go in the Backlog tab in the leftmost column.

2. Now think about each area in turn and generate a list of tasks . Aim for 20-30 tasks total, and don’t get too far into the details.

So far this is how most to-do lists work. For an Agile backlog, though, we’ll take one more step and convert the tasks into user stories, but that will be done in the next project. We do this because we are focusing on the experience – a task is only considered done when the player can actually see the results in the game.

1. Think about each of the tasks you wrote down in the last step. How does the player actually see this work reflected in the game? Rewrite the task as a short description of what the player can see, do, or interact with.

2. Finally, go back through and look at your user stories. For each one, think about:

  • On a scale of one to three, where one is the most important, how important is this story to achieving the player experience that you wanted? Try to end up with an approximately even number in each priority level.
  • How much effort will this task require? This is only a rough estimate – use only the values 2, 4, and 8 hours. If something will take longer than 8 hours, break it down into smaller tasks. Enter the estimate into your system next to the task.

Part 3: Choose what you’ll work on this week

Using the priorities you’ve assigned, choose your work for the week. As you choose an item, think about it in greater detail and refine your rough estimate. Make sure the total lines up with how much time you actually have this week.

Examples of completing a Backlog:

Categories:

  • For a platformer: player movement, enemy movement, death and respawn
  • For a visual novel: dialogue system, character avatars, player inventory
  • For a solitaire card game: card tableau, turn system, card animations

Tasks:

  • For a platformer: implement running, implement jumping, implement wall-climbing
  • For a visual novel: plan player choices in chapter 1, find royalty-free art for character avatars, write Gabriela’s dialogue for chapter 1
  • For a solitaire card game: implement card shuffling, write validator function to check legal moves, detect whether game is over

User Stories:

  • For a platformer: player can run left and right, player can jump when standing on solid ground, player can cling to walls and move vertically
  • For a visual novel: player can experience different endings in Chapter 1, player can see avatar for Gabriela, player can ask Gabriela about the evil wizard
  • For a solitaire card game: player gets a new randomized hand each round, player can see card returned to hand after invalid move, player sees Game Over screen when there are no more valid moves

Part 4: Turn in your backlog

1. Set up your backlog using the instructions above.

2. Take screenshots and write a description or do a screen capture video of your backlog, explaining how you completed your assignment and upload it to the submission gallery.

3. After you submit, we review and give feedback, via comments in the Gallery, to at least 2 fellow course participants.

Please login to submit

Complete this tutorial