CS74.42A: Game Development 1
Section 1827, Fall 2018 Course Syllabus
This syllabus is available in the following formats:
- Word document: SRJC CS74-42A 1827 Fa 2018 Syllabus Final v2.docx
- PDF file: SRJC CS74-42A 1827 Fa 2018 Syllabus Final v2.pdf
Instructor: Ethan Wilde, firstname.lastname@example.org
Recommended Preparation: Course completion of CS 110A and/or programming experience
Student Learning Outcomes
Students will be able to:
- Utilize fundamental practices of contemporary software development, such as object-oriented programming and the purpose and implementation of various design patterns.
- Discuss the theory of developing a realtime application such as a game.
- Independently develop 2D arcade titles of the approximate complexity of Space Invaders, ￼PacMan, or similar.
- Through an overview of contemporary development practices within the games industry, determine an appropriate career path (Art, Design, Engineering, Production, and Quality Assurance).
Upon completion of the course, students will be able to:
- Discuss the history of computer programming languages, in particular the trend of managed code as a safer alternative to native code.
- Practice the rudiments of Linear Algebra, using vectors and matrices to solve numerous analytical/scientific problems.
- Create 2D arcade-style game simulations such as Space Invaders or PacMan.
- Identify best practices for memory-constrained devices such as gaming consoles and discuss the particular issues of developing software for a console as opposed to a personal computer.
Topics and Scope:
- Project design and organization
- Programming language fundamentals
- Data types
- Object-oriented programming (review)
- Delegates and Events
- String manipulation
- Cartesian Coordinate Systems
- World space, object space, camera space
- Game Design and Development
- Cultural and function definition of games
- Rudiments of game design
- Development processes
- Game Development Technical Aspects
- User input
- Game Engine Architecture
- Collision Detection
- Lessons from the Underground: DIY/Indie techniques
- XNA Content Pipeline
- Read approximately 25-30 pages a week
- Prepare three written documents that closely mirror the documentation process used in the games industry: a concept document, game design document, and technical design document. (3-7 pages each)
- Weekly programming assignments that solve particular technical challenges
- Final Project: a working 2D arcade game simulation that demonstrates the use of the techniques developed in this class
Fall 2018 Schedule
|Online||Weeks start on Wednesday||Canvas shell|
|Live weekly Web conference (optional)
|Fridays, 11:00am - 12:00pm||Zoom|
All class materials for each module will be released online in Canvas on Wednesdays throughout the entire semester. A weekly live online meeting will be held on Fridays, 11:00am - 12:00pm. Attendance at the live web conferences is optional but highly recommended. Use this link to join: https://cccconfer.zoom.us/j/961817861
Fall 2018 Office Hours
August 20 – December 14, 2018
|Mondays (Online)||11:00am - 2:00pm||Online: Email email@example.com or Skype ethanwilde|
|Wednesdays||11:00am - 1:00pm||Maggini 2937|
You can reserve future appointments for my office hours online by visiting http://srjc.ethan.com/reserve/.
I respond to emails within 48 hours, weekends excepted. I never respond on Sundays.
Course Web Site
Students will use the Canvas course web site for assignment instructions, submitting assignments, viewing classmates' work, sharing resources, and viewing grades. The Google Chrome browser is recommended for viewing the Canvas-powered course site. Internet Explorer is not recommended.
An Introduction to HTML5 Game Development with Phaser.JS
Travis Faas, CRC Press, 2016
ISBN 978-1-138-92184-9 print
ISBN 978-1-315-31921-6 ebook
Free PDF eBook available
Consider buying a used copy or renting the Phaser textbook. You can locate and order textbooks online via the SRJC Bookstore.
- A personal computer, either at home, work or on the Santa Rosa or Petaluma campuses.
Required Software + Services
- Internet access
- Google Chrome strongly recommended
- Support for the Adobe Flash browser plugin
- MIT Scratch cloud hosting + development service
Coding education site
- CodeCombat free account required for all students.
- Text editor, for Week 1 only, such as:
Cloud hosting + development service
- Cloud9 IDE (Integrated Development Environment) required for all students, starting Week 2, for hosting class assignments. This service provides a complete set of browser-based tools in place of the optional software listed below. Complete the hosting survey to get your free account.
- 2D Graphics software such as:
- PDF display software such as:
- Found online at phaser.io
The additional software listed below is often used for game development. Our two IDEs – the Cloud9 cloud-based IDE for our work with Phaser.js, and the browser-based Scratch software – both provide code editors and file transfer support without any additional software needed.
- 3D modeling software including:
- Enterprise-class game development engine software including:
Day Class Begins: Wednesday, August 22, 2018
Day Class Ends: Friday, December 21, 2018
Last Day to Add without instructor's approval: Sunday, August 26, 2018
Last Day to Drop with refund: Sunday, September 2, 2018
Last Day to Add with instructor's approval: Sunday, September 9, 2018
Last Day to Drop without a 'W' symbol: Sunday, September 9, 2018
Last Day to Opt for Pass/No Pass: Sunday, September 30, 2018
Last Day to Drop with a 'W' symbol: Sunday, November 18, 2018
Dropping the Class
If you decide to discontinue this course, it is your responsibility to officially drop it. A student may be dropped from any class when that student's absences exceed ten percent (10%) of the total hours of class time. It is strongly advised that if you need to miss more than one class/homework deadline in a row that you contact the instructor to avoid being dropped from the class.
For online courses, students who fail to complete the requirements of the first and second class modules will be dropped by the instructor.
You may take this class P/NP. You must decide before the deadline, and add the option online with TLC or file the P/NP form with Admissions and Records. With a grade of C or better, you will get P.
You must file for the P/NP option by September 30, 2018. Once you decide to go for P/NP, you cannot change back to a letter grade. If you are taking this course as part of a certificate program, you can probably still take the class P/NP. Check with a counselor to be sure.
Instructor Announcements and Q&A Forum
The instructor will post announcements on the “Instructor Announcements” page in Canvas throughout the semester. Canvas notifies students according to their preferred Notification Preferences.
All assignments are due at 11:59pm PST on the Tuesday corresponding to the due date. A late submission will receive a 10% penalty for each week it is late. Submissions more than two weeks late are not accepted without prior written arrangement.
There will be online midterm and final exams. The material comes from the textbook, class lectures and supplemental materials. If any exam is missed, a zero will be recorded as the score, unless you have made prior written arrangements with me. It is your responsibility to take the exams by the due date.
Click the “Grades” link in Canvas to keep track of your grades. I grade once a week and post grades and comments in the Canvas gradebook.
Grades will be assigned as follows:
90% - 100%
900 points or more
80% - 89%
800 to 899 points
70% - 79%
700 to 799 points
60% - 69%
600 to 699 points
59% or lower
599 points or less
Projects + Assignments
1000 points possible
Standards of Conduct
Students who register in SRJC classes are required to abide by the SRJC Student Conduct Standards. Violation of the Standards is basis for referral to the Vice President of Student Services or dismissal from class or from the College. See the Student Code of Conduct page.
Collaborating on or copying of tests or homework in whole or in part will be considered an act of academic dishonesty and result in a grade of 0 for that test or assignment. Students are encouraged to share information and ideas, but not their work. See these links on Plagiarism:
SRJC Writing Center Lessons on avoiding plagiarism
SRJC's statement on Academic Integrity
Every effort is made to conform to accessibility standards for all instructor-created materials. Students should contact their instructor as soon as possible if they find that they cannot access any course materials. Students with disabilities who believe they need accommodations in this class are encouraged to contact Disability Resources by calling (707) 527-4278 or visit online at drd.santarosa.edu.
Student Health Services
Santa Rosa Junior College offers extensive health services to students. Visit Student Health Services online at shs.santarosa.edu or call them at (707) 527-4445.
|8/22||Week 1||The World of Game Development||Hosting Signup Survey
Assignment 1: Syllabus Quiz
Discussion 1: Check-in Discussion
|8/29||Week 2||Play a Game, Learn to Code, Part 1||Assignment 2: CodeCombat, Part 1
Reading:Game Dev w Phaser, Ch. 1
|9/5||Week 3||Play a Game, Learn to Code, Part 2||Assignment 3: CodeCombat, Part 2
Discussion 2: History + Origins of Games
Reading: Game Dev w Phaser, Ch. 2
|9/19||Week 5||Get Started with Browser-Based Games||Assignment 5: First Phaser Game
|9/26||Week 6||Working with Sprites + Controls||Assignment 6: Working with Sprites + Controls
Reading: Game Dev w Phaser, Ch. 6, pp. 55-69 + 72-75
|10/3||Week 7||Level Maps, Atlases + Tiles||Assignment 7: Using Animation + Tiles
Discussion 3: Game Typologies
Reading: Game Dev w Phaser, Ch. 6, pp. 69-72
|10/10||Week 8||UI + Sound||Assignment 8: UI + Sound
Reading: Game Dev w Phaser, Ch. 6, pp. 76-81
|10/17||Week 9||Simulating the Physical World||Assignment 9: Arcade Physics
Discussion 4: History of Console Games
Reading: Game Dev w Phaser, Ch. 6, pp. 92-109
|10/24||Week 10||More Physics, Particles + Effects||Assignment 10: P2 Physics
Reading: Game Dev w Phaser, Ch. 6, pp. 110-122
|10/31||Week 11||Midterm Review / Draft GDD||Assignment 11: Game Design Document
Extra Credit: Unity
|11/7||Week 12||Prefabs + Classes / Build Systems||Assignment 12: First Build-System-Based Phaser Game
Discussion 5: GDD Presentations
Extra Credit: Unity
|11/14||Week 13||Final Project: Design Your Game||Assignment 13: Final GDD
Extra Credit: Unity
|11/21||Week 14||Advanced Development Techniques||Assignment 14: Advanced
Discussion 6: Approaches to Game Design
Extra Credit: Unity
|11/28||Week 15||Build + Playtest Sprint 1: Final Project||Assignment 15: Rough Prototype
|12/5||Week 16||Build + Playtest Sprint 2: Final Project||Final Project (Weeks 16-17)
Discussion 7: Game Dev Teams + Roles
Extra Credit: Unity
|12/12||Week 17||Build + Playtest Sprint 3: Final Project
Final Review (Optional)
|Final Project (Weeks 16-17)|
|Week 18||No Regular Class||Final Exam
Discussion: Final Project Presentations
Note to students: the assignments listed above will become available as modules are released in sequence each week. To view course content, go to Modules.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.