CMPS171, Winter 2014, Section 01: Project Organization

The goal of the project organization assignment is to ensure that teams have people assigned to key project roles, have sufficient artists working with their team, have identified how the team will coordinate, have set up a configuration management repository, and have made a preliminary technical platform choice. This assignment consists of five parts. Please create one document with answers to all questions, and email this to the instructor and TA.

PART 1: TEAM ASSIGNMENT

Each team needs to provide a list of team members, and the role(s) assigned to each member. Each of the following exclusive and non-exclusive roles must be assigned to members of the team. There may be additional roles beyond those listed here.

Exclusive roles

No individual can fill more than one exlusive role.

Lead designer -- at the end of the day, what this person says about the design is what ends up in the game. Many people can make contributions, but this person's decision is final. They can delegate parts of the design to others, but at the end of the day, they are responsible for the design of the game.

Lead producer -- this person is responsible for ensuring that each person knows what they should be working on, and prioritizing which tasks are worked on next. They are in charge of ensuring that scrum goes well.

Lead developer -- this person is the key person in charge of technical decision making for the project. They define the game's technical architecture and technical design. For teams developing their own engine, there might be two such people, one for the engine, one for the design.

Non-exclusive roles

The following roles also need to be filled, and can be shared with one of the three exclusive roles above:

Artist coordinator -- coordinates the work of external artists, and ensures assets are well organized online (e.g., in Dropbox, etc), and are imported into the game.

Lead tester -- ensures the game is tested to identify errors in the game

User test coordinator -- organizes and executes user testing sessions (later in the quarter, or in Spring).

PART 2: ARTISTS

In this part, list all of the artists who are confirmed to be working with your team. For each person, please provide:

name
email address
whether they are a UCSC student
major (if UCSC student)
whether they are enrolled in Art 118

If your team does not have any artists, please provide an explanation for how your team will be finding artists to work with your team.

PART 3: TEAM COORDINATION

Two parts:

(a) What is the primary way your team will communicate? For example, is this via an email list (e.g., Google Groups), a Facebook Group, instant messaging, etc.?

It is highly recommended that every member of a team have the cell phone number of every other member of their team. This makes it possible to contact team members who are not responding to the primary communication channel.

(b) When and where will your team hold its standup scrum meetings, and its project jam meeting(s) each week? Each team is required to have at least two standup scrum meetings (3 is preferred), and at least one project jam meeting.

PART 4: SOFTWARE CONFIGURATION MANAGEMENT

All teams are required to use a software configuration management system, such as Git (e.g, with GitHub) or Subversion (e.g., with CloudForge), and for all CS 171 students to check in their code at least weekly. For this assignment, you need to commit to using a particular configuration management system, and to then sign up for a hosting account for your team. Each team member will need an account, and will need to be associated with their team's repository.

Note that there are free educational accounts for GitHub, but that requesting an account may take some time. Start early.

For the assignment, you need to report:

(a) Which configuration management system you're using.

(b) Provide the URL to your team repository

PART 5: PRELIMINARY PLATFORM CHOICE

Identify the specific technical platform (e.g., Unity, Corona, or other game engine or library) that you plan on using to construct your game. If you plan on creating your own game engine, that is also fine (and preferred in some cases)

You are not required to write rationale for your choice at this time -- we will discuss this at the first team meeting.