McMaster University
Software Design IV - Capstone Computer Game Design Project
Sfwr Eng 4GP6, Term 3 2017/18
Lectures
Term 3: Tuesday 10:30-11:20, Thursday, 9:30-11:20 in BSB 108.
Instructor
Dr. J. Carette, ITB-168 , ext 26869, email: carette at mcmaster dot ca.
Teaching Assistant
Dan Szymczak (szymczdm)
Course Objectives
The calendar description says:
Student teams prepare the requirements, design, documentation and
implementation of a computer game taking economic, health, safety, cultural,
legal and marketing factors into account. Students must demonstrate a working
system and convincing test results. Software project management.
The project will be broken into pieces (requirements, design,
prototype and final implementation), each of which will be graded
separately, and may also themselves be sub-divided.
Preconditions
- Students should know and understand:
- basic game concepts
- character design, narrative, challenges, level design
- user interfaces, core mechanics, balancing
- architecture of game engines
- basic software architecture
- fundamental vocabulary for describing aspects of games
- Students should be able to
- Use a framework to design a playable game
- Present a focused aspect of ``game design''
- write software requirements
- write tests and test plans
- pick up a new programming language (of a known family)
- use revision control, issue tracker, wiki
- create and use 2d and 3d models for in-game objects
- use textures
- create and use animations
- create and use sound effects
- debug soft real-time software
Learning Objectives
- Students should know and understand
- Students should be able to
- Carry out a development project from initial product
conception through to testing, live demonstration and
presentation.
- Write a high-level concept document describing their game.
- Write a requirements document which describes the user
experience, the game world, the important game mechanics, art
requirements for their game.
- Write a design document which describes all the decisions
made for each aspect of the requirements.
- Design and implement (possibly through heavy re-use) a complete set
of art assets (textures, 3D models, sounds, music, etc).
- Use a game engine and/or framework to build a
complete game.
- Plan, perform and document validation and verification of their
implementation with respect to their requirements.
- Produce a set of precise, complete, consistent, traceable and usable
documents for this game.
Note that not all objectives will be measured for marks.
Graduate Attributes
Some of the graduate attributes below will be measured (probably
most), in some fashion. These are measurements for the purposes
of understanding your overall state in terms of the attributes which
the CEAB deems important for engineers. Some will be measured
through assignments, presentations and deliverables (and worth marks),
while others will be done via other measurement means not directly tied
to course marks.
- 1 A knowledge base for engineering
- 1.4 Competence in Specialized Engineering knowledge
2 Problem Analysis
- 2.1 Demonstrates an ability to identify reasonable assumptions including identification of uncertainties and imprecise information that could or should be made before a solution path is proposed
3 Investigation
- 3.1 Recognizes and discusses applicable theory knowledge base
- 3.3 Estimates outcomes, uncertainties and determines appropriate data to collect
4 Design
- 4.1 Recognizes and follows an engineering design process.
- 4.3 Proposes solutions to open-ended problems
- 4.4 Employs appropriate techniques for generation of creative ideas such as brainstorming and structured inventive thinking
- 4.6 Determines and employs applicable standards and codes of practice
5 Use of engineering tools
- 5.1 Evaluates and selects appropriate modern tools
- 5.2 Demonstrates an ability to use modern/state of the art tools
- 5.3 Creates, adapts, modifies and extends tools and techniques as appropriate to solve problems
6 Individual and team work
- 6.1 Manages time and processes effectively, prioritizing competing demands to achieve personal and team goals and objectives
- 6.2 Develops and implements processes and methodologies to manage the effectiveness of a team both in terms of the quality of the work produced by the team as well as the inter-personal relationships within the team
- 6.3 Works in a group, taking a leadership role as appropriate and relinquishing the leadership role as appropriate
7 Communication skills
- 7.2 Presents instructions and information clearly and concisely as appropriate to the audience
- 7.3 Constructs effective oral or written arguments as appropriate to the circumstances
11 Economics and project management
- 11.2 Plans and effectively manages time, resources, and scope
- 11.4 Identifies, characterizes, assesses, and manages risks to project success
12 Life-long learning
- 12.1 Critically evaluates and applies knowledge, methods and skills procured through self directed and self identified sources, including those that lie outside the nominal course curriculum
Rubrics
Section to be completed.
Electronic Materials
The latest version of this outline and the most "up-to date"
information as well as hand-outs can be found on the course web page.
http://www.cas.mcmaster.ca/~carette/SE4GP6/2017_18/index.html.
(Or go to my home page and then to the course page).
Every group will be assigned a
gitlab
repository (shared with the TAs and the professor) for all of their work.
Optionally, you may use a public
github
repo for the same purpose.
The issue tracker will be used for some communication. Other means
(like Slack) will be used as well.
Project
As is to be expected, the main project for this course consists in
making a full-fledged game. This year, we will be using the
Unity Engine
for game development.
There is no required textbook for this, but the 3GB3 textbook
will often be quite handy.
Grading
The deliverable schedule:
Deliverable | % of grade | Date Due |
Form teams | 0 % | September 12 |
High-concept document | 5 % | September 26 |
Sales pitch demo | 0 % | October 3 |
Game requirements | 7.5% | October 5 |
First demo | 2 % | October 19 |
(TBD) | -- | Oct. and Nov. |
Implementation Rev 0 | 5 % | December 7 |
V & V on Rev 0 | 5 % | Jan 4 |
Final version (Rev 1) |
- Concept and all Requirements | 10 % | February 27 |
- Implementation | 10 % | March 29 |
- V & V | 10 % | April 6 |
- DEMO | 20 % | April ?? |
Notes:
Discrimination
The Faculty of Engineering is concerned with ensuring an
environment that is free of all adverse discrimination. If there is a
problem that cannot be resolved by discussion among the persons
concerned individuals are reminded that they should contact their
Chair, the Sexual Harassment Office or the Human Rights Consultant,
as soon as possible.
Course modifications
The instructor and university reserve the right to modify elements of the
course during the term. The university may change the dates and deadlines
for any or all courses in extreme circumstances. If either type of
modification becomes necessary, reasonable notice and communication with the
students will be given with explanation and the opportunity to comment on
changes. It is the responsibility of the student to check their McMaster
email and course websites weekly during the term and to note any changes.
Academic Dishonesty
You are expected to exhibit honesty and use ethical behaviour in all aspects
of the learning process. Academic credentials you earn are rooted in principles
of honesty and academic integrity.
Academic dishonesty is to knowingly act or fail to act in a way that results
or could result in unearned academic credit or advantage. This behaviour can
result in serious consequences, e.g. the grade of zero on an assignment, loss
of credit with a notation on the transcript (notation reads: Grade of F
assigned for academic dishonesty), and/or suspension or expulsion
from the university.
It is your responsibility to understand what constitutes academic
dishonesty. For information on the various types of academic dishonesty please
refer to the
Academic Integrity Policy
[http://www.mcmaster.ca/academicintegrity].
The following illustrates only three forms of academic dishonesty:
- Plagiarism, e.g. the submission of work that is not one’s own or for which other credit has been obtained.
- Improper collaboration in group work.
- Copying or using unauthorized aids in tests and examinations.
Individual assignments have to be solved by one person only,
any outside source, this includes asking other people,
or using any books or information found on the web has to
be documented. In complience with the senate regulations
on academic integrity I remind you that:
People who let other people copy are as guilty as the ones who copy.
You are allowed to consult outside sources, meaning textbooks
or the web, but any use of an outside source
must be documented. Similarly, group assignments must
be solved by members of that group only, and the above policies
apply as well.
In the case the instructor or a TA
has the impression that an assignment is copied, the instructor can
ask the corresponding students to explain exactly how the assignment
was prepared and take appropriate actions.
Online Component
In this course we will be using some online components. Students should be
aware that, when they access the electronic components of this course, private
information such as first and last names, user names for McMaster e-mail
accounts, and program affiliation may become apparent to all other students in
the same course. The available information is dependent on the technology used.
Continuation in this course will be deemed consent to this disclosure. If you
have any questions or concerns about such disclosure please discuss this with
the course instructor.
September 2017