VIU — CSCI 485G

Topics in Systems: Game Development

Course Syllabus

✶ 🎮 ✶

Instructor

VIU Profile:  Dr Russell Campbell
Email: Russell.Campbell [at] viu [dot] ca
Office: Nanaimo Campus, Building 315, Room 218

Email me to set up a time for discussion on Zoom if needed.


Timetable

Times listed are for Fall 2020 Semester dates Sep 8–Dec 11.

  • Lectures: Tuesdays and Thursdays 11:30 am–1:00 pm
  • Labs:
    • (N01) Tuesdays 4:30 pm–6:30 pm
    • (N02) Thursdays 4:30 pm–6:30 pm
    • (N03) Wednesdays 2:30 pm–4:30 pm
Rare changes to timetable will most likely appear first on the VIU timetable.

Prerequisites

  • CSCI 260 (C minimum)
  • CSCI 265 (C minimum)

Course Description

Developing games and game engines involves a wide variety of disciplines and skills, but this course will focus on independent development workflows. An ideal student has both strong programming skills at the CSCI 265 level and one other area of intense interest, such as: creative writing, digital media, information technology applied systems, mathematics and statistics, economics, history, architecture, etc.

The main goal of this course is to develop a game, and refine/optimize it. Possibilities include (but are not limited to):

  • physical card/strategy boardgame with software you design for analyzing gameplay to optimize the players' experiences and organize your workflow
  • 2D real-time strategy
  • 2D action platformer
  • 2D rpg/roguelike
  • 2D bullet hell
  • 2D puzzler
  • 2D narrative/interactive novel
  • 3D versions of the above 2D genres

A summary of subtopics during developent of projects will include introductory treatment of:

  • DevOps and game studio workflows
  • fundamentals of visual design and animation
  • procedural design
  • traditional story structure
  • natural language processing
  • interactive narrative design
  • artificial intelligence
  • GPU programming (Vulkan)
  • game engine programming
  • computational optimizations


Materials

Recommended reading (not required, and do not try to read it all!):

  • Game Engine Architecture, Jason Gregory, 2019
    ISBN: 978-1-1380-3545-4
  • The Art of Game Design: A Book of Lenses (2nd ed.), Jesse Schell, 2015
    ISBN: 978-1-4665-9864-5
  • Generative Art: Algorithms as Artistic Tool, Jim Parker, 2019
    ISBN: 978-1-9888-2438-3
The advantage of an extremely large book is that fair use allows me to copy large excerpts for you.


Hardware:

  • there are a few lab computers with discrete GPUs if you are able to get to campus
  • if you intend to develop on a more complex game engine, then be aware that you will want a computer with more resources available
  • there will be time early in the semester to try various game engines so that you can plan accordingly


Resources

  • Unity 3D
  • Babylon.js
  • Pygame
  • GB Studio
  • PuzzleScript
  • Twine
  • custom game engine for assignments developed in C/C++ within Linux
    (most of this will be my code I give and you extend from instructions supporting Debian 10)


Schedule

See draft of weekly topics.


Assessment

Less than 32.5% of project percentage will result in failure of the course regardless of total percentage.

65% project (16%×3 milestones — 10% code development — 7% presentation)
14%×2 assignments
5% total for about 10 labs combined
2% observation log (audio/video/written digital format; about one sentence per project workday)

See draft for further detail.


Grading

The following grades are earned from the total of your assessments. In rare cases where assessments are re-evaluated, adjustments will be applied to coursework across all students.

Grade %
F 0–49
D 50–54
C- 55–59
C 60–63
C+ 64–67
B- 68–71
B 72–75
B+ 76–79
A- 80–84
A 85–89
A+ 90–100


Policy and Guidelines

Late Assignments: one day late with 10% penalty, and no submission after one day late will be accepted unless due to illness or support as registered with DAS.

Lab Participation: Exercises must be completed within 2 days for each lab, and no late submissions will be accepted.

Feedback and Corrections: The feedback given on assignments, milestones, and projects are meant to help you make improvements in your efforts. Therefore, any appeals to marks must be made within one week of receiving feedback and marks. Requests should be sent by email with an explanation why regrading is needed. In general, the following should have been done as part of justification for an appeal:

  • a record of notes with written questions as evidence of progress;
  • a record of helpful VIU services, such as notes from visiting:
    • CSCI Discord Server #helpcentre channel,
    • Success Coach,
    • the Math Learning Centre,
    • the Writing Centre,
    • see What is open/closed at VIU?
  • a record of asking me for help before submitting your work.

Attendance: The plan for Fall 2020 Semester is to teach remotely. Lectures and labs will have recorded video available after being presented during the times given in the timetable, and you are encouraged to attend online if possible. My lectures will be using programs such as Blender and Photoshop, not simply projector slides.

Academic Integrity: Work must be your own, not have been submitted for other courses, and give proper citation where needed, especially since your project in this course might possibly go on to be a product as part of a business where you could make profit (it would be a big disappointment to fall under legal trouble for copyright infringement). In any case, first instance of plagiarism will typically result in a zero on the work under assessment (except for clear instances of it simply being a mistake, e.g.: one sentence quote and forgetting attribution) with a report sent to the department chair, and any further instance will likely result in failure of the course. Disciplinary action of misconduct is noted on your academic record and affects outcome of further misconduct instances. The department chair has the authority to take additional disciplinary action (see Policy 96.01).

Examples of academic misconduct summarized from one of the courses of the CSCI Department Chair, Sarah Carruthers (but not listing all kinds of misconduct, and note square brackets denote my own additional information):

  • copying coursework from another student;
  • allowing another student to copy from your coursework;
  • submitting work after already submitting it previously for a different past assessment;
  • allowing or paying another to complete and/or submit coursework on your behalf;
  • using sources of materials for assessment purposes that either break copyright (past documents created by instructors, but not distributed by their consent) [or generates a major portion of the work submitted];
  • omitting proper citation(s), even for paraphrasing (unless the information is common knowledge; [in other words, known by almost everyone inside and outside your discipline]).