Syllabus

Projects Seminar in FLOSS Game Development

Text Books

You can download the textbooks here.

Making Isometric Social Real-Time Games with HTML5, CSS3, and Javascript

Making Isometric Social Real-Time Games with HTML5, CSS3, and Javascript.

Goals of the course

Having taken this course, students should be able to:

  • Demonstrate competence with modern FLOSS development tools and conventions (git, public forges, unit tests, bug trackers, wikis, etc..).
  • Demonstrate competence with modern web development technologies (HTML5, Javascript, CoffeeScript, CSS3, etc..).
  • Document their work progress, accomplishments, and pitfalls by way of weekly blog posts.
  • Work with and contribute to existing open source projects.
  • Build and manage a new project using open source tools.
  • Deploy a web application to the cloud.
  • Have a fun, open-source web-based game for their portfolio and/or to show off to their friends.

The spirit of the course

While still a course where you will receive a letter grade, the spirit of the course is intended to be both open and fun. This is a seminar course, so an experimental approach will be taken.

An open course – students will have access to the ‘document source’ for the syllabus and grading rubric. While you are reading the syllabus right now, as a student of the class you have a right to fork the upstream repository, make modifications, and submit patches for review. Barring a troll festival, this can create a fun, dynamic environment in which the course curriculum can develop by the very same mechanism being taught during the quarter (community-driven).

A fun course – while the primary deliverable for the course is a working web-based game, we are going to subject the course itself to gamification. Instead of grading students’ final projects individually, projects will be pitted against one another through a scheme developed by the students themselves, called the Final Project Rubric.

For example, one way this could work is through simple accumulation of weighted point values awarded for the presence of certain features: a game that works in all modern browsers as well as on mobile devices gets +5 points, a game that includes a velociraptor gets +3 points, etc...

Licensing

All code developed by students in the course must be licensed (by the student) under any one of the licenses approved by the open source initiative.

Your code that you write is your code, with which you can do what you will; true. However, if you’re unwilling to license code you write for an open source course with an open source license, you’re in the wrong course.

Schedule

Week Day Topic Reading Assigned Due
1 1 Introductions, Syllabus, Mailman, IRC, git, github The Syllabus Homework - First Flight  
2 Bugfix deep dive The Open Source Way Homework - Bugfix  
2 1 Casual Games: Matching, Sorting, and Seeking Casual - Week 2   Homework - First Flight
2 Introduction to HTML5 Isometric - Week 2 HTML5 - Programming Assignment #1  
3 1 Casual Games: Managing, Hitting, and Chaining Casual - Week 3    
2 Audio, WebWorkers, and CoffeeScript Isometric - Week 3    
    Holiday Break      
4 1 Pitch Session : Talk about your game.     HTML5 - Programming Assignment #1 Homework - Bugfix
2 Paper Prototypes : Lecture and Build      
5 1 Paper Prototypes : (con’t) Project Decisions   Homework - Rubric  
2 Server choices, Social APIs, and le Cloud. (#openshift) Isometric - Week 4 HTML5 - Programming Assignment #2  
6 1 No class      
2 Casual Games: Constructing, Socializing, and Physics Casual - Week 4   Homework - Rubric
7 1 Digital Prototype : Build      
2 Digital Prototype : Play      
8 1 Digital Prototype : Report and Revise     HTML5 - Programming Assignment #2
2 Guest Lecture      
9 1 Digital Prototype : Build      
2 Digital Prototype : Report and Revise      
10 1 Play Testing/Development      
2 Play Testing/Development      
11 ? Final Presentations      

Required Reading

The Syllabus

Casual - Week 2

  • casual
    • chapters 1-6 (139 pages). It’s light reading, trust me.

Isometric - Week 2

Casual - Week 3

  • casual
    • chapters 7-9 (36 pages)

Casual - Week 4

  • casual
    • chapters 10-12 (56 pages)

Grading

Assignments are due at midnight of the day they are marked as due.

Late submissions will be deducted 10% per day they are late.


Your final grade for the quarter will be derived from the following weights.

Component Weight
In-Class Participation 10%
FLOSS Dev Practices (Blogging, patching, writing, IRC) 15%
Homework Assignments 10%
Programming Assignments 15%
Paper Prototype 10%
Final Project 40%

Class partitipation is speaking in class, answering questions, etc...


Blog updates – students are required to keep a blog to which they post updates about their investigations, progress, success, and pitfalls. This blog can be hosted anywhere, but must be added to the course planet (there are instructions on how to do this in Homework - First Flight).

  • You must make at least one blog post per week to receive full credit.
  • You must participate regularly in the course’s IRC channel: asking and answering questions.
  • You must participate in the course’s mailman list, floss-seminar@lists.rit.edu.
  • Contributions to the course curriculum, syllabus, and rubric are factored in here as well.

Blogging is good for you and good for the FLOSS community at large.


The homework assignments are listed in the syllabus. You will be able to complete some of these in class.


Programming assignments are more in depth, but will amount to two deliverables derived from one of the course’s two textbooks, Making Isometric Social Real-Time Games with HTML5, CSS3, and Javascript.

There are two assignments:

Students’ paper prototypes are presentations to the rest of the class on their idea for their game, before a single line of code is written.

These are ‘play sessions’. You will need to bring some playable version of your game so we can all try it out. For instance, if you’re thinking about a first-person-shooter, come with a set of rules for playing ‘pointing tag’ and we’ll all really play it, in person.

The rest of the students will comment on your prototype. Take notes and:
  • Use them to improve your design
  • Turn in a copy for your grade

Your final project will be the culmination of the quarter’s work and will be graded according to the Final Project Rubric.


Additionally, graduate students are expected to complete some extra work as described in Grad Student Responsibilities.

Lightning Talks - Extra Credit

Every Tuesday for the first portion of class, any student has the opportunity to give a lightning talk on a topic of their chosing. Your lightning talk must be less than 5 minutes in length and must be at least remotely related to the course material.

You will receive +1 extra credit points towards your final grade for every lightning talk you give. Only the first three lightning talks offered will be allowed during a given class. Talks will be chosen from among those offered by students on a FIFO basis.