Interactive Real-Time Graphics Applications

Special Topics Course - Spring 2003

Instructor: Nicholas Pappas

Class: Tuesday 6:20 pm - 9:00 pm, SILVER CENTER (formerly known as MAIN Building)
Room: 408

Office Hours: Tuesdays 5:00 pm - 6:00 pm, CIWW 427

(also by appointment)

  Email: pappas@cs.nyu.edu  office phone (212) 998-3090

TA: Chris DeCoro

Office Hours: Mondays 4:00 pm - 5:00 pm, 719 Broadway, #1210 (also by appointment)

  Email: cdecoro@cat.nyu.edu

The course will cover writing interactive two-dimensional (2D) graphics programs, utilizing the DirectX 8.1 DirectGraphics and DirectAudio libraries with Visual Basic. Topics covered will include design and gameplay issues, drawing animated graphics, user interfaces, collision detection and other mathematically relevant concepts, as well as inter-application communications.

Strong programming skills are required as well as familiarity with Windows.  Programming will be done almost entirely on the Windows platform.

Be prepared for a lot of programming as well as lot of reading. Most of the emphasis will be on Visual Basic and DirectX 8.1.

There will be roughly 4 or 5 homeworks, a midterm, a final project, as well as a final.

POLICY ON CHEATING:  You cheat, you fail.  You help someone cheat, you fail.  Administration action may also be expected.  Cheating on homeworks is copying all or part of another student's work or allowing another student to copy all or part of yours.  Copying code from other resources (for example, but not limited to, non-students, books, magazines, the Internet, etc.) is also cheating.  While you are free to discuss GENERAL principles and possible solutions, you are to DO YOUR OWN WORK.

Please check this page periodically for updates.

The COURSE SYLLABUS is located at
Note that the syllabus will very likely change as the course progresses, so please check it periodically or when instructed to do so.


to be announced

Sample Code

Sample code classes 1/28 and 2/4
Events Sample Code 3/25
Sounds Sample Code 3/31

Final Project

Final Project Plan Form

Midterm Samples and Prior Exam

Midterm Sample Questions

Midterm Spring 2002

Prior Final Exam

Final Exam Spring 2002

Final Exam is on May 6th, 6:20 PM, at Room 408 Silver (the current classroom).
Final projects will be displayed after the exam.


 Assignment  Due Date  Solution
Assignment 1 Tuesday Feb. 11th 6 PM Solution
Assignment 2 Tuesday Feb. 25th 6 PM Solution
Assignment 3 Tuesday Apr. 1st 6 PM Solution
Assignment 4 Tuesday Apr. 15th 6 PM

Teaching Assistant and E-tutor

There is currently one TA and one e-tutor available for help on the class material (Visual Basic and DirectX).

For questions which will not give away the solution to an assignment, you should direct them to the class mailing list (see syllabus for subscription instructions):


If in doubt, send the questions directly to the e-tutor or teaching assistant.

Sam Berlin - e-tutor

Chris DeCoro - TA

Class notes (Microsoft Powerpoint necessary for viewing)
Notes 1
Notes 2
Notes 3
Notes 4
Notes 5
Notes 6
Notes 7
Notes 8
Notes 9
Notes 10
Notes 11
Notes 12
Notes 13

You must download DirectX 8.1b SDK from Microsoft's archives
(once there, scroll down to DirectX Software Development Kit Archives section for the DirectX 8.1b Software Development Kit)

DirectDraw Documentation (Microsoft Word necessary for viewing)

DirectDraw Documentation (zipped)

IMPORTANT: Read only the General Subject Headings and paragraphs headed by [Visual Basic,...]- i.e. do not read the [C++]-only paragraphs.

Accordingly, the actual reading is less than it looks.  Also, this is a summary of what you will be responsible for for the first midterm.

pp. 3, 5-15,
Skim pp. 15-19,
"The Direct Draw Object," pp. 21-25
"Surfaces," pp. 28-41
"Flipping Surfaces," pp. 45-47
"Blitting to Surfaces," pp. 47-55  ?---- REVISED
"Transparent Blitting," pp. 55-60
"Losing and Restoring Surfaces," p. 60 and p. 64 (top only)
Skim "Enumerating Surfaces," pp. 66-67
"Accessing Surface Memory Directly," p.70 (middle ) - 71
"Palettes," pp. 106-109
"Clippers," pp. 109-113 (middle),  pp.115-116 (middle)
"Using DirectDraw Palettes in Windowed Mode," pp. 130-132, 134-136 (middle)
Triple-Buffering Example on pp. 149 (bottom) - 150 (middle)

VB Tutorials pp. 192-197 (Tutorial 1) and 197-202 (Tutorial 2)

Required textbook:

Microsoft Visual Basic 6.0 Programmer's Guide
Author and Publisher: Microsoft (Editor ? Publisher)
Edition: (Yr. or No.): August, 1998
ISBN Number: 1572318635

Optional textbook: Visual Basic Game Programming with DirectX Author: Jonathan S. Harbour Publisher: Premier Press 1 edition (January 2, 2002) ISBN: 193184125X;

Updated: May 3, 2003