Game Programming Practice

Game Programming
Practices
Course Introduction
Yanci Zhang
Game Programming Practice
Course Descriptions 1/3
 “games” in our course are NOT
Game Programming Practice
Course Descriptions 2/3
 “games” in our course are
Game Programming Practice
Course Descriptions 3/3
 Game programming covers a wide range of topics





Computer graphics
Computer network
Artificial intelligence
Audio programming
…
 Our course will




Cover the most important aspects
Focus on 3D graphics programming
Improve programming skills
Game design is NOT discussed
Game Programming Practice
Lecture Syllabus
 Advanced data structures in game programming
 3D graphics programming
 OpenGL programming
 GPU programming
 Advanced graphics topics
 Multi-threads/core programming (Optional)
 Network programming (Optional)
 Artificial intelligence (Optional)
 Audio programming (Optional)
Game Programming Practice
Course Prerequisite
 Linear algebra (vector, matrix…)
 Basic data structure knowledge (stack, queue, tree, graph…)
 Basic C/C++ programming knowledge (pointer, array,
OOP…)
 Familiar with Visual Studio (NOT VC6)
 Knowledge of computer graphics is preferable
Game Programming Practice
Grading Policy
 Optional subject with 3 credits
 Class attendance (5%) + Class exercise (35%) + Final
project (60%)
 Final project
 No final exam   
 Several candidates projects covering all aspects of the course
 Choose and implement one project
Game Programming Practice
Your Motivations
 Huge fan of game programming
 Improve programming skills to find a good job
 Try best to gain credits
 Get some easy credits
 No easy credits here!!!
 No submission of final project = no credits
Game Programming Practice
How to learn this course?
 Fall love with your computer
 Coding, coding, more coding…
 Learn to show off
 Read English papers/articles instead of Chinese
锄禾日当午,不如coding苦,对着C++,一调一下午;
锄禾日当午,不如coding苦,调了一下午,BUG还得补;
锄禾日当午,不如coding苦,Bug刚补完,结构需重组;
锄禾日当午,不如coding苦,Bug改不完,无言见列祖。
Game Programming Practice
Teaching Staff
 Lecturer: 张严辞
 1993~1997,SCU, B.S.
 1997~2003,Institute of Software, CAS,
Ph.D
 2004,Chinese University of Hong
Kong, research assistant
 2005~2008,University of Zurich,
Switzerland, Post Doc.
 2008~Present,SCU, associate Prof.
 Email:[email protected]
 Teaching Assistants:
 唐玉蕾(QQ 971658760 )
Game Programming Practice
More Announcements
 Using English slides
 Slides are available on web
 Always seeking for talented students to join our group






Improve programming skills
Learn how to do scientific research
Learn more graphics
Know more person
Make life more colorful
…
Game Programming Practice
General Information Survey
 Purpose: Improve the teaching quality
 Your expectation
 Your programming experiences
 Your graphics background knowledge
Game Programming Practice
Survey Subjects 1/3
 Please rate your C/C++ programming level:
A.
B.
C.
D.
I consider myself an expert.
I can use C/C++ to write some simple applications.
I have some basic knowledge but lack of practice.
What is C/C++? I am a fan of Java.
 Did you take the computer graphics course?
A. Yes
B. No
Game Programming Practice
Survey Subjects 2/3
 How much do you know about computer graphics?
A. I have experiences in writing OpenGL/DirectX applications.
B. I have some basic knowledge of computer graphics but lack
of practice.
C. I know nothing about computer graphics.
 How much do you know about STL programming?
A. I know STL very well.
B. I have some knowledge about STL.
C. I know nothing about STL.
Game Programming Practice
Survey Subjects 3/3
 Do you own a private computer?
 What graphics card do you have?
 What is your purpose of taking this course?
A.
B.
C.
D.
I am a huge fan of game programming.
I want to improve my programming skill.
I will try my best to get the credit points.
I just want to get some easy credit points.
 Any suggestions or expectations?
Game Programming Practice
References







B.M. Sousa and B.M. Desousa, Game Programming All in One, 2002
D.Astle and K.Hawkins, OpenGL Game Programming, 2001
H.Holland, Game Programming - Tricks of the Trade, 2002
D.S.Dalmau, Core Techniques and Algorithms in Game Programming, 2003
C.Tremblay, Mathematics for Game Developers, 2004
http://www.geeks3d.com/
http://www.realtimerendering.com/blog/
Game Programming Practice