Mobile Game Development IGME-590

Instructor Information

Prof. Tony Jefferson

tony@mail.rit.edu
Office Location: (GOL) 2671
Office Hours for Spring 2014

Teaching Assistant: Joe Natalzia

Meeting times and Location

Section 04: TR 2:00PM-3:15PM in room GOL-3510

Overview

Hopefully you are excited about learning the material in this class as I am excited about teaching it. Read below for details about this course.

Course Description (from course catalog)

Handheld and tablet mobile devices have become more prevalent in recent years, and are replacing desktop computers as the primary computing device for an increasing number of people. Games are the most popular mobile application category for mobile devices, which makes mobile devices an important and ubiquitous game platform.

Designing and deploying games for handheld devices requires overcoming platform differences and limitations including slower processors, less memory, smaller screens, and the lack of a mouse or keyboard. Mobile devices also accept alternative forms of input from the user including touch, gesture and device orientation. The goal of this course is to familiarize students with the range of mobile game interaction styles, as well as to explore issues of overall game design, optimization, and implementation details for mobile.

Individual and group programming projects will be required. 3 Credits

Required Class Textbook

Title: Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition)
Author: Aaron Hillegass
Publisher: Big Nerd Ranch Guides; 2nd edition (November 28, 2013)
ISBN-13: 978-0321942067
Amazon Link: Buy on Amazon or in RIT bookstore
Title: iOS Games by Tutorials
Author: by Ray Wenderlich, Mike Berg, Tom Bradley, Mike Daley & 6 more
Publisher: Razeware LLC (September 5, 2013)
ISBN-13: 978-0989675116
Amazon Link: Buy on Amazon or in RIT bookstore
PDF directly from publisher: www.raywenderlich.com/store/ios-games-by-tutorials - although, oddly, the PDF is more expensive ...

Computer Accounts

You don't need an account to login in to the classroom computers. Additionally, 2 Macs are available in the New Media Open lab GOL-2550, 2 Macs are available in the Streaming Media Lab, and approximately 10 Macs are available in the IST Open Lab GOL-2670.

All of these Macs are on "deep freeze" which means when you restart the machine every change you made or file you saved is wiped out. Always restart the machine (rather than logout) when you are done for the day. So bring a USB drive to class, or save your files to the cloud before you leave.

If you have a problem using any of the Macs, please bring it to my attention.

Software

Xcode 5.0, iOS Simulator, and Instruments. All are available for free for registered developers from developer.apple.com (If you did not receive an invitation from me to join the iOS Developer University Program, send me an email and I will send you one.)

Your text editor of choice to author HTML documents for project proposals

Your FTP client of choice to transfer files to gibson.

Your image editor of choice to optimize digital images for both the web and iOS apps.

iOS 7.0x - it runs on iPhone 5+, iPad 2+, and iPod Touch 5th Gen

** Important ** - iOS 7.1 will come out in February. Because our tech people are not likely to want to upgrade Xcode to version 5.1 in the middle of the semester, the lab and classroom macs will be unable to install software onto iOS 7.1 devices. DO NOT upgrade your iOS device to 7.1 unless you are able to install Xcode 5.1 onto your personal Mac.

Hardware

iOS Hardware

Many of you already have access to an iOS device. For the others we have a selection of iOS devices (iPad 2/iPad Mini/iPad Air) to loan out. Hopefully there will be enough to go around, but at a minimum, each project 2 team will have access to an iOS device.

Student's can pick up iOS devices Feb 3-7 (Monday-Friday), from Noon to 4PM, at Ann Warren's office in GOL-2371.

Those of you who already own an iOS device will need to send me the 40-digit UDID of the device to be able to install apps on the device. You can obtain this identifier this using either iTunes - see this tutorial - or by using Xcode (Window > Organizer ... and then choosing the Devices tab)

Once you have the device identifier, post it to the dropbox along with a short description (ex. Ima Student's iPhone 5S).

** Important - bring your iOS device and cable to class every day **

Mac Hardware

You have access to 3 labs with Macs (see above), but you may wish to install Xcode on your own computer. A newer Mac is required to run Xcode 5. If you install Xcode on your personal machine, you will be able to install iOS apps onto your device.

To do so, you will need to generate a digital certificate with your Mac, and then submit a "certificate signing request" (CSR) to the developer portal. This video tutorial demonstrates both of these tasks. After you take these steps, I will approve your certificate signing request, and I will update the provisioning profile with your information and post it to mycourses.

** Important - when creating your CSR, be sure to use the same email address that you are using with the developer portal. **

You will then download the certificate from the developer portal, and the provisioning file from mycourses. You can then install apps onto your iOS device from your home computer.

Other hardware

We will utilize Bluetooth sensors during the course:

I may be able to loan these out a for a short amount of time if needed for a project.

Course Goals and Outcomes

See course topics and outcomes page.

Attendance

Attendance is mandatory and you are expected to be on time. Lectures will start promptly at the beginning of class, and will be followed by an in-class assignment or exercise that you are expected to work on until the end of the meeting (i.e. no leaving early).

Classroom Behavior

You should not be talking to another student while the instructor is speaking. Doing so means that:

These are all bad things - so please respect this rule, and raise your hand if you have a question.

Keep your voice at a reasonable level:

Typically after the lecture you will be given time to work on an assignment. Quiet discussion and conversation is allowed and the volume needs to be kept at a low level so as to not disturb your classmates. If you are easily distracted by background noise, you may wish to bring headphones to class and wear them while working on assignments.

Excessively checking your email, playing games, surfing the web, or working on assignments during lectures can have negative impacts:

Violations of these classroom behavior policies will be dealt with through deductions in your attendance grade.

How to succeed in this class

iOS programming can be difficult for newcomers especially because of the Objective-C programming language. It has an odd syntax and an OOP style that does not map 1:1 with other OOP languages like Java and C#. You may have to work harder than you are used to, especially at the beginning.

Grading

Note: Grade A = superior work, not just satisfactory.
90+=A, 80+=B, 70+=C, 65+=D, 64.999-=F

Note: 1 absence 4/5 points, 2 absences 3/5 points, 3 absences 1.5/5 points, 4 absences 0 points. Each additional absence is 2.5% off of final average. Late is 1/2 absence. Facebooking or similar off-task activity during lectures or demos will count as a absence for the day.

Note: There are no make-ups and no extra credit.

Note: Late homework or in-class exercises are NEVER accepted late without a valid excuse.

Note: Late projects are sometimes accepted. Overdue projects will lose 10% for every 24 hour period that they are late.

Note: The MAXIMUM grade awarded on any late project is an 85%

Academic Honesty

ANY instance of academic dishonesty (cheating, collusion, or duplicate submission) will result in a failing grade in the course and will be reported to the chair of the student's home department. This policy includes all assignments, including seemingly trivial ones like homework. There will be no second chances given.

IGM Academic Integrity Policy (pdf)
RIT Academic Honesty Policy

Important RIT Deadlines

All of the information on this page is subject to change.