CISC 467010 - Game Prototyping - Fall
2019
M/W/F 2:30 pm-3:20 pm, 114 Pearson Hall
Instructor: Daniel Chester |
TA: Mina Samizadeh |
Office: 101G Smith Hall |
Office: 102A Smith Hall |
Hours: Tu/F 3:30 pm-4:30 pm and by appt. |
Hours: M 11:00 am-1:00 pm |
Phone: 831-1955 |
Phone: none |
Email: User: chester Domain: udel.edu |
Email: User: minasmz Domain: udel.edu |
Textbook
Godot Engine Game Development Projects, by Chris Bradfield,
Packt Publishing, 2018.
The Art of Game Design: A Book of Lenses, 3rd edition, by Jesse Schell,
Morgan Kaufman, 2019.
Data-Oriented Design: software engineering for limited resources and short schedules, by Richard Fabian, self-published. The book can be read online at http://www.dataorienteddesign.com/dodbook/. An older version is available as a PDF file at
http://www.dataorienteddesign.com/dodmain.pdf.
The class web page can be found at http://www.cis.udel.edu/~chester/courses/467.html.
Course Description
Theory and practice of game design and development from concept to playable game
through prototype iteration using a well-known game platform and a powerful
scripting language. We will prototype examples of arcade, shooter,
and action-adventure games.
Note: this CISC 467010 course can count as a technical elective for CSBS, CSBA
and INSY majors.
It can be part of a concentration.
Topics (tentative, not necessarily in the order to be covered)
-
Initial game projects: Coin Dash, Escape the Maze, Space Rocks, Jungle Jump, (probably not 3D Minigolf)
-
One or more additional projects: Each student will design and implement his/her own game. Possibly a simplfied version of your favorite video game?
-
Sprite animation, creation of player and other objects in a game
-
Programming behaviors in GDScript, a Python-like scripting language
-
Collision detection
-
Implementing the User Interface, (Heads-Up Display)
-
Adding sound/music and sound effects
-
Implementing levels with tilesets and tilemaps
-
Rigid body physics
-
Finite state machines
-
Particle physics
-
Why arrays are better than linked lists or complicated objects for game programming
-
How game developers implement finite state machines
-
The most important game designer skill is listening
-
The designer creates an experience
-
Games as a problem-solving activity
-
The four basic elements of a game: mechanics, aesthetics, technology, story
-
Design your game around a theme
-
Brainstorming to get ideas
-
Software engineering applied to games: prototyping, playtesting, revising, iteration
-
Know your audience; who will play your game?
-
Fulfilling the mental needs of players
-
Games take place in a space, contain objects with attributes and states
-
Hidden information
-
The operative actions in a game
-
The different kinds of rules in a game
-
The skills required of players in a game
-
The role of chance in games; basics of probability
-
Relation between chance and skill
-
Balancing various aspects of a game, such as fairness, challenge vs. success, meaningful choices, skill vs. chance, competition vs. cooperation, rewards
-
The design of puzzles as components in games
-
The design of interfaces, both physical and virtual
-
Interfaces are composed of many channels of information and have several modes that need to be controlled
-
Evaluating game experiences with interest curves
-
Games as a new way to tell stories
-
Story and game structures can be artfully merged with indirect control
-
The different kinds of characters in games
-
The structure of the virtual worlds in games
-
How to do playtesting of your game
-
Incorporating new technology in your games
The Appendicies will also be useful.
Grading
-
4 programming projects (three from Godot book, one original by student) 24%
Approximately 2.5 weeks per project.
-
4 written assignments based on other two books 24%
Approximately 3 weeks per written assignment.
-
midterm (Friday, October 18) 24%
-
final exam (Wednesday, December 4) 24%
plus four percent for doing the online course evaluation
http://www.udel.edu/course-evals/
at the end of the semester.
The numerical scores will be combined, not letter grades.
Since the assignments and exams are not standardized, your
course grade will depend not only on the weighted score you
receive, but also on how your score compares with the score
distribution for the whole class.
Policies
-
All assignments are due by midnight ending the due date. Combine all
files, if more than one, into one tar file or one zip file and email it to the TA.
-
Homework will be accepted at the following class period after the due
date, but the score will be reduced by 10 percent of the maximum possible
score. The homework will not be accepted more than one week after the
due date except in extreme and verifiable circumstances.
-
All work on assignments must be your own. Do not collaborate
with other students or copy their work. Do not copy from a book or other
source unless I say otherwise. You may consult with each other about conceptual problems, but
see the TA or me for help with details or debugging.
If you get text or code from any source, including webpages on the Internet,
books or other students, and present it as if it were your own, that is
plagiarism. If the TA or I discover that you have plagiarized, I
am obligated to report the incident to University authorities above the
CIS Department. You must acknowledge and document such borrowings if
you do use them. If they significantly reduce the amount of work you
have to do for an assignment, you will lose points [this part of the
policy may change; I will tell you if it does]; the grade you get
is for your work, not somebody else's.
-
If you can't come to scheduled office hours, please send me email; I'll
be happy to schedule a meeting at some other mutually-agreed-upon time.
Assignments
Written assignments
assignment1.txt due September 16.
assignment2 due October 7. Deliver to me in class.
assignment3 due November 18. Deliver to me in class.
Project assignments
The due date for the Coin_dash project is September 23.
The due date for the Escape_the_maze project is October 14.
For the third project do either the Space_Rocks project or the Jungle_Jump
project. It will be due November 4.
The final project is one of your own design. It can be a simplified version
of your favorite video game, or a variation of one of the book projects, with
some original idea of your own added. The project will be due December 2.
To document the completion of each project, grab an image of the game while
it is running and email to the TA by the due date.
Include in your email a zipped version of the project directory that Godot
made for your project, and mention which version of Godot you used.
For the final project, also submit a written (hardcopy) file describing your
game, design problems you ran into and how you solved them.
Resources
The Godot game engine can be downloaded from https://godotengine.org. You can find information about our Godot book and errata at https://github.com/PacktPublishing/Godot-Game-Engine-Projects.
Review of what we covered before midterm
Review of what we covered after the midterm
October 16, 2019