Dana Vrajitoru
Office Hours
I254/C297 2D Game Programming
Spring 2024 schedule: MW 4:30 - 5:45 pm, NS 223.
Prerequisite: B100 or I101 or A201 or C112: a programming 1
course in any language.
Reference Books:
- D. Vrajitoru (2013): The 2D Games Journey,
Creative Space. Kindle
edition Print edition.
- A. Godbold, S. Jackson (2016): Mastering Unity 2D Game
Development. 2nd Edition, Packt Publishing, or any recent Unity
book.
- K. Salen, E. Zimmerman (2003): Rules of Play: Game Design
Fundamentals, MIT Press.
- E. Angel (2008): Interactive Computer Graphics: A Top-Down
Approach Using OpenGL, 5th edition, Addison Wesley, or any recent
computer graphics reference book.
Grading system:
- About 10 homework assignments 20 points each
- Midterm essay 30 points
- Project or Final 50 points
- Class participation items up to
30 points
- Achievements up to 12 extra credit points
Note. Taking a final exam can be requested no later than the
last lecture of the semester. Otherwise, an end of semester project
will be expected.
Guidelines for assignments:
- •Game Engine: Godot, including its scripting language GDScript.
- The assignments, slides, and quizes will be posted to Canvas.
- The assignments are due at midnight of the due date.
- All assignments must be submitted to Canvas. Written homework can
be scanned or typed using MS Word or other appropriate applications.
- No homework accepted after 1 week from the due date. A late
homework loses 10% of the points per day, up to 50% of the points.
- Reasonable expectations concerning the program structure and
clarity: functions should be commented and should not contain more than 20
lines of code. Multiple source files are expected when appropriate.
- All the assignments are individual. Consulting with colleagues is
acceptable, but programs that are too similar can be penalized or
rejected. No credit will be given for programs obtained from external
sources unless explicitly allowed. Do not share significant parts of
the assignments with classmates. Please consult my extended plagiarism
policy in the general campus syllabus.
Course Outline
- Introduction, motivation, history of games
- Introduction to Godot and GDScript
- Game loop
- Terminology: mechanics, dynamics, aesthetics
- Game Objects, events in a game
- Reactive Games
- World/Map Representation
- Elements of a Graphical User Interface
- No Memory Games
- Animated Game Loops
- Object Selection Games
- Rules and Goals in a Game
- Sound Integration in a Game
- Elements of Game Design
- Project presentations
More Documentation
M. Morrison (2004): Beginning Game Programming, Sams.
A. Kirmse (2004): Game Programming Gems 4, Charles River
Media.
M. Collins (2001): Linux game programming, Prima Tech.
J. R. Hall, Loki Software (2001): Programming Linux Games,
Loki Software Inc., No Starch.
J. D. Funge (2004): AI for Games and Animation,
A. K. Peters, Natick, Massachusetts.
J. H. Conway (2000): On Numbers and Games, 2nd
edition, A. K. Peters, Wellesley, Massachusetts.
G. Maestri (1999): Digital Character Animation 2, New
Riders.
Last updated: Spring 2024.
d v r a j i t o a t i u s b d o t e d u.