Course Syllabus

GAMES 6900 Technical Game Design

Prerequisites: EAE 6900 Gameplay Content Design or Instructor Approval

Description:

This course provides students with advanced knowledge in scripting for implementing game logic from a game design perspective. Students will use industry standard game engine scripting tools (e.g. Unity, Unreal) and languages (e.g. C#, Lua, Python) to ideate, digitally prototype, and create production ready systems, gameplay features, and/or mechanics. Course work will focus on planning, analyzing, and writing game scripts to implement student originated and instructor provided designs.

Learning Outcomes

Design scripted solutions that implement instructor-provided design specifications
Independently conceptualize, implement, iterate upon, playtest, and debug an entire game feature using industry-standard tools and advanced scripting techniques.
Evaluate and analyze game design scripts for quality, readability, and maintainability
Assess and re-purpose existing scripted solutions for new design problems within constraints

 

Evaluation

Evaluation in this class will be determined based on the work and participation in the following:

In-Class Participation: 20%
In-Engine Bootcamps: 20% (5% each)
Instructor Provided Project: 20%
Peer-Provided Project: 40%

 

In-Engine Bootcamps

The bootcamps, one per week, are designed as opportunities for students to gain experience with different aspects of the game engine while implementing “small” self-contained game design tasks that should be realizable in 1-2 hrs as homework. Students are expected to do their own scripting. The topics/tasks of the bootcamps may vary from semester to semester and may be thematically connected (e.g. all bootcamps may be for aspects of game within the same genre). Additionally, when possible, the student’s deliverables may be “parts” of a “whole” that can be combined. The following are referential examples:

1. Character Moveset
a. E.g. Each student implements a different special move for the same character (e.g. wall jump, air dash, back flip, float/glide, mantle)
2. Character special movement actions
a. E.g. grapple hook, rail grinding, wall-running, shield bashing, charging, teleporting
3. Grid based systems
a. Shops, inventory, turn-based movement, A*??, maps (trying to think more broadly about how these architectures could be applied)
4. Weapon system/framework design
a. E.g. A system where weapons can be created that have different range, damage, reload speed, special type, but are all created under a common framework
5. Weapon design (different weapon behaviors, more than different stats/variables)
a. E.g. “Exotic weapon” ala Destiny, Ratchet ‘n Clank weapons
6. Dialogue system
7. Puzzles (moving blocks, lockpicking)

 

Instructor Provided Project

For each of these projects the instructor will provide a detailed specification that must then be fully implemented in–engine by the student. These projects will be completed in the context of an existing game framework/kit (e.g. racing game starter kit, FPS game starter kit) that can be made available (i.e. purchased) from an asset store (e.g. Unreal asset store).

The following are examples of instructor projects that could be developed into detailed specs, the specific projects may vary from semester to semester.

1. We are making a car combat game, you must implement a suite of swappable weapons mounted on the roof of a vehicle. The weapons are: (a) the Hunter-Seeker Rocket, a homing rocket, mounted on the vehicle’s roof, that targets an enemy vehicle with the least amount of health/armor within a predetermined radius. If no such enemy is found the rocket flies out in an arc and then targets the player who fired it. (b) the Lightning Fork fires a bolt of lightning at the nearest enemy that then “bounces” to the next closest enemy. The maximum “bounce” is predetermined and the damage is reduced after each bounce. When swapping weapons, a cooldown is applied for a predetermined duration of time before a weapon can be swapped again. (the instructor would also provide a list of the key characteristics/variables that need to be considered, e.g. reload speed, range, damage, ROF, etc.)
2. We are making a 3rd person action adventure game, you must implement the jetpack - an equippable item that allows the player to move around the environment. The jetpack features two thrusters operated separately using predetermined controller buttons and the player must attempt to maintain stability while in flight. The jetpack should auto-stabilize when no input is provided and it should be challenging to control, but not overly so (i.e. this is not jetpack QWOP).  (the instructor would also provide a list of the key characteristics/variables that need to be considered, e.g. fuel, acceleration, maximum speed, overheating, etc.)

 

Peer-Provided Project

This project has multiple parts.

1. Students will design a spec for a feature similar in complexity to what was done in the instructor provided project.
2. Students will implement each other’s specifications. One of the main goals of this project is for students to practice developing specs that are clear and implementable and encourage the kinds of precision in communication that is part of the practice of game design when working in teams. For examples see the Instructor Provided Project above. This project can also be complementary to the earlier one (e.g. designing in-game obstacles for the vehicle combat game, or different enemies for the jetpack game)
3. The entire class performs a design review of each other’s work emphasizing playability, game experience, etc. Emphasis will be placed on the flexibility of the scripted solutions to be adapted and/or adopted for new design problems within constraints
4. Students implement improvements to their implementation based on feedback.
5. Everyone’s work is combined into a single game level/arena/sandbox/playground or equivalent.
6. Final review, polish and balance. The entire class discusses how well each of the individually created elements combine with each other to provide gameplay experiences that are aligned with the original experiential goals. The class then prioritizes changes and modifications to make (within the limited time remaining) and implement them

 

Schedule

Week 1

Introduction to the Class, Refresher on Big Ideas in Design

Week 2

Bootcamp #1

Week 3

Review work from Bootcamp #1 + Intro to Bootcamp #2

Week 4

Review work from Bootcamp #2 + Intro to Bootcamp #3

Week 5

Review work from Bootcamp #3 + Intro to Bootcamp #4

Week 6

Review work from Bootcamp #4 + Overall Bootcamp Review

Week 7

Instructor Provided Project

Week 8

Instructor Provided Project

Week 9

Instructor Provided Project

Week 10

Spring Break - No Class

Week 11

GDC Week - No Class

Week 12

Peer- Provided Project

Week 13

Review work from Peer-Provided Project

Week 14

2nd Pass Peer-Provided Project (based on feedback from review)

Week 15

Integration and Review

Week 16

Final Polish

 

 

Grading Scale

Grades are based on the following scale and may be finalized on an adaptive curve. Grades in Canvas may not necessarily reflect the final course grade.

A94 – 100            
A-    90 - 93.99          
B+   87 - 89.99          
B84 - 86.99          
B-    80 - 83.99          
C+   77 - 79.99          
C74 - 76.99          
C-    70 - 73.99
D+   67 - 69.99
D64 - 66.99
D-    61 - 63.99          
E0 - 60.99

Late assignments will receive -10% per day up to a maximum of -50%.

 

Syllabus

The syllabus may be subject to change. The Instructor will notify the class regarding all changes. In the event of any discrepancy between this syllabus and content found in Canvas, the information in Canvas will take precedence.

Accommodation

I do not offer content accommodations. If you find any of the course material offensive, you may opt not to participate acknowledging that you will not receive points for that section of the course.

 

Equal Access

The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities. If you will need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, 581-5020 (V/TDD). CDS will work with you and the instructor to make arrangements for accommodations. All information in this course can be made available in alternative format with prior notification to the Center for Disability Services.

 

Addressing Sexual Misconduct

Title IX makes it clear that violence and harassment based on sex and gender (which includes sexual orientation and gender identity/expression) is a Civil Rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran¹s status or genetic information. If you or someone you know has been harassed or assaulted on the basis of your sex, including sexual orientation or gender identity/expression, you are encouraged to report it to the University’s Title IX Coordinator; Director, Office of Equal Opportunity and Affirmative Action, 135 Park Building, 801-581-8365, or to the Office of the Dean of Students, 270 Union Building, 801-581-7066.  For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 801-581-7776.  To report to police, contact the Department of Public Safety, 801-585-2677(COPS). Additional information regarding reporting and victim supportive resources are available at the offices listed above.

 

Academic Misconduct Policy

Students in the MEAE program are bound by the University of Utah’s Academic Misconduct Policy which is outlined in the Code of Student Rights & Responsibilities (available here: https://regulations.utah.edu/academics/6-400.phpLinks to an external site.). As defined in this code, academic misconduct includes, but is not limited to, cheating, misrepresenting one's work, inappropriately collaborating, plagiarism, and fabrication or falsification of information. It also includes facilitating academic misconduct by intentionally helping or attempting to help another student to commit an act of academic misconduct. A primary example of academic misconduct would be submitting as one's own work that is copied from an outside source. Students who are found to have participated in academic misconduct in a class will be sanctioned with a failing grade for the course. Students who are sanctioned a second time will not be allowed to take further MEAE courses at the University of Utah. Further, students who are in the degree program will be removed from the program.

Use of 3rd party tools or systems is not allowed, including LLM and AI systems. Students in doubt should consult with the instructor to resolve any confusion prior to submitting assignments.

 

Copyright

Work produced in this class is copyrighted by the student. Continued attendance to this course constitutes permission for your work to be used by the professor as examples in courses, public lectures, academic publications, and other not-for-profit, fair-use practices.

 

Course Summary:

Date Details Due