This semester is based around these essential questions of game programming:
We will engage with these questions by working together to create Web-based games in collaboration with Subaru of Indiana (SIA), a manufacturing facility in Lafayette, Indiana. These games will feature themes identified by SIA, including high quality manufacturing and "green" practices. We will work together to design games that match these themes, and example genres include racing, hidden-object, puzzle, and match-3. We will work together as a single studio, following best practices of game development.
All participants are expected to have a laptop computer for development.
We will programming in Java on top of PlayN, an open source, cross-platform game development library. This will allow us to deliver games in HTML5+Javascript while minimizing the amount of browser-specific fiddling.
You will need to install and configure the following software:
You may need to install the Maven integrations for Eclipse as well, depending on which version of Eclipse you have downloaded. Refer to the Eclipse setup instructions on the PlayN wiki for details.
In order for the MercurialEclipse Plug-in to work, you will need to install the Mercurial binaries for your operating system. On Windows, these can be downloaded during the plug-in installation process; users of other operating systems will need to install binaries manually. You will not need the CodeBeamer component of the plug-in.
In order to use the department's Mercurial server (csmerc-2.dhcp.bsu.edu, accessible on-campus or by VPN) you will need to configure your Mercurial installation to allow self-signed certificates. You can do this by adding the following to your global configuration file, the location of which depends on your operating system:
[web] cacerts=
The newline at the end of cacerts=
is significant.
You will also need to configure your username within this configuration file, following Mercurial best practices. The entry will look a little something like this:
[ui] username=Floyd Pepper <fpepper@bsu.edu>
We will be using Google Drive and related technologies to coordinate team activity. If you do not already have a Google account, you will need to create one. Using two-step verification is strongly recommended.
We will be following Clean Code as part of our methodology, and so you will need to acquire a copy of the eponymous book.
The semester is divided into three themed sections. We will begin with a week's worth of training and orientation, during which time you will learn more about our methodology and context. The majority of the semester will be spent in an estimated five "sprints," which can be roughly defined as iterations of planning, development, and and evaluation. The last few meetings of the semester, we will devote our attention to quality assurance, ensuring that the games we create are as defect-free as possible.
Aug. 19–Aug. 23 | Training and Orientation |
Monday, Aug. 26 | Sprint 1 Planning Meeting |
Monday, Sept. 2 | Labor Day, no scheduled meeting |
Friday, Sept. 6 | Sprint 1 Review and Retrospective |
Monday, Sept. 9 | Sprint 2 Planning Meeting |
Friday, Sept. 27 | Sprint 2 Review and Retrospective |
Monday, Sept. 30 | Sprint 3 Planning Meeting |
Friday, Oct. 18 | Sprint 3 Review and Retrospective |
Monday, Oct. 21 | Fall break, no scheduled meeting |
Wednesday, Oct. 23 | Sprint 4 Planning Meeting |
Friday, Nov. 8 | Sprint 4 Review and Retrospective |
Monday, Nov. 11 | Sprint 5 Planning Meeting |
Friday, Nov. 25 | Sprint 5 Review and Retrospective |
Nov. 27–Nov. 29 | Thanksgiving break, no scheduled meetings |
Dec. 2–Dec.9 | Dedicated quality assurance—no new features |
Friday, Dec. 13, 7:30AM | Final team meeting |
The majority of your time this semester will be spent in the authentic practice of game development, giving particular focus to game programming, as befits this course. As this is a three-credit course, undergraduate students are expected to devote nine hours of attention per week—graduate students, twelve. In a normal week, it is expected that all course participants spend eight hours of effort per week on production tasks and their remaining allotment on reflection. Graduate students are expected to spend their addition time in research so that their reflections are supported by contemporary scholarship and practice on game programming.
We will work together following an agile methodology for game development. In particular, we will follow the principles of Crystal Clear and practices from Scrum and Extreme Programming.
Methodology details will be negotiated during the first week of the semester and potentially revised in subsequent sprint retrospectives. This methodology will include expectations of professional behavior, such as conflict resolution and promptness, as well as policies for infractions.
A student earns one point for each sprint in which all of his or her commitments have been met. Don't forget that validation is part of your commitment!
All students earn one point for each sprint in which all commitments have been met.
Our final exam slot will be devoted to a collective summative reflection on the semester. Participation in this activity will be worth nine points toward your grade.
Students are expected to write personal reflections on the course's essential questions at the end of each sprint. These reflections bring together the content of game programming and the context of your experience. These reflections will be graded according to my triage grading rubric and must provide:
Personal reflections will be collected via Blackboard. Each must be completed prior to the next sprint's planning meeting or the final summative reflection, whichever comes first. Late entries will not be graded.
Grades are determined based on the number of points earned. This mapping is subject to change depending on conditions that arise during the semester.
Grade | Top of range |
---|
The instructor may access email through services not affiliated with the University. Please note that such messages necessarily pass through the campus firewall in an unencrypted format, and they may be stored on servers not owned or managed by Ball State University. It is therefore advisable to restrict confidential information to office hours or appointments.
Students and faculty are bound by the Student Academic Ethics Policy of the Code of Student Rights and Responsibilities.
It behooves you to be aware of fundamentals of copyright law and the university's intellectual property policies for student-created work.
If you need adaptations or accomodations because of a disability, if you have emergency medical information to share with the instructor, or if you need special arrangements in case the building must be evacuated, please make an appointment as soon as possible.