Instructors: Silvia Ruzanka and Marc Destefano
Offices: Sage 4202 and Sage 3118
Email: ruzans [at] rpi [dot] edu and destem [at] rpi [dot] edu
Ruzanka's Office Hours: Tuesdays and Fridays, 2-4PM and by appointment
Destefano's Office Hours: Tuesdays, 3PM - 5PM
Teaching Assistant: Matej Vakula, vakulm [at] rpi [dot] edu
Office: West Hall 313C
Vakula's Office Hours: Tuesdays, 2PM-4PM
Learning Outcomes: This class brings together software engineering and the arts to produce small real-time interactive video games. You will work with people outside your traditional discipline to create something that you could not create on your own. You will learn good software design practices, how to decompose large projects so multiple people can work on it simultaneously, and proper version control use.
Objective: Our objective is to give anyone who is interested in entering the gaming industry the skill set necessary to compete. Developing video games takes a myriad of talents: art, programming, design, and most importantly, the ability to work in a team and communicate with others.
Preparation and Attendance: Attendance is mandatory. You are a member of a team, and constant communication with your team is necessary. This class features an intense workload, as complete games are very difficult to make, and you'll be working within a highly compressed timespan. You will spend more time with your team outside of the classroom than within.
Academic Honesty: Student relationships are built on mutual respect and trust. Students must be able to trust that their teachers have made responsible decisions about the structure and content of the course and that they are conscientiously making their best effort to help students learn. Teachers must be able to trust that students do their work conscientiously and honestly making their best effort to learn. Acts that violate this mutual respect and trust undermine the educational process. They counteract our very reason for being here at Rensselaer and will not be tolerated. Any student who engages in any form of academic dishonesty will receive an F in this course and will be reported to the Dean of Students for further disciplinary action. The Rensselaer Handbook has defined various forms of Academic Dishonesty and procedures for responding to them. All of these forms are violations of trust between students and teachers. Please familiarize yourself with this portion of the handbook.
Gender-fair language: Because the way we speak and write affects the way we think, everyone in this course is expected to use gender-fair language in all discussions and writing. A guide to gender-fair language is available from the Writing Center and from the Library.
Grading: Your grade will be based on four team-based projects that you will complete over the course of the semester. Team-based projects will have team members preassigned beforehand. On the four presentation days, each team will give a short presentation of their game to the class. Afterwards, each team will get feedback regarding their work. Each team will hand in a short printed document indicating what work was performed by each member of the team, with the document signed by every member of the team. This record of work will be balanced against the quality of the project to determine each student's individual grade.
Percentage of Grade
Project 1 (HaxeFlixel)
Project 2 (Phaser)
Project 3 (Unity)
Final Project (Unreal 4)
|Sept 6||Orientation, Git|
|Sept 13||Haxe and Flixel, P1 assigned|
|Sept 27||Project 1 Presentations|
|Oct 4||JS and Phaser, P2 assigned|
|Oct 18||Project 2 presentations|
|Oct 25||Unity review, P3 assigned|
|Nov 1||Studio. HoloLens talk at EMPAC, 7PM
|Nov 8||Project 3 Presentations|
|Nov 15||UE4, Final Project assigned|
|Nov 22||Thanksgiving recess – no class|
|Dec 13||Final presentations|
Windows users: FlashDevelop is recommended - www.flashdevelop.org
Install Haxe 3.4.2
Open a command line (Windows -> "cmd" -> Enter, or open Terminal from /Applications/Utility on a Mac) and run the following commands, one at a time:
haxelib setup haxelib install openfl haxelib run openfl setup haxelib install flixel haxelib install flixel-tools haxelib run flixel-tools setup haxelib set openfl 3.6.1 haxelib set lime 2.9.1
(Answer yes to the setup questions and select FlashDevelop as your default IDE). You can then install one of the many demos by changing to the directory of your choice in the command prompt, and running
A list of demos will be displayed, and you can simply type the number of the demo that you want installed. To run the demo, type
lime test neko
at the command prompt, from the project directory.
A successful Git branching model
Git cheat sheet
Interactive git branching tutorial
Base Player.hx (remove .txt extension)
HaxeFlixel slides from class
HaxeFlixel class demo
UE4 Animation PowerPoint
Department of Cognitive Science
Rensselaer Polytechnic Institute
110 8th Street
Troy, NY 12180
Phone: (518) 276-6472
Fax: (518) 276-8268