3D遊戲程式
3D Game Programming
| 節 | 週一 | 週四 |
|---|---|---|
2 09:00–09:50 | 3D遊戲程式 ED102 | |
5 13:20–14:10 | 3D遊戲程式 ED102 2 節連堂 | |
6 14:20–15:10 |
* 根據陽明交大上課時間表所列
課程內容兼具理論、技術、實務、與實習。課程內容涵蓋設計、製作一個3D遊戲所需的程式設計。除了理論與技術之學習之外,學生需完成一個term project,在一個3D遊戲引擎核心之上加上自己的程式模組,以設計一個3D遊戲。 Intended learning outcomes (ILOs) After learning from this course, the students are expected to be able to + Remember the process of game development + Explain game system architectures + Describe the basic techniques in games + Integrate basic techniques into comprehensive systems + Identify the problems in game development + Apply techniques to solve problems + Analyze architectures of systems + Evaluate game performance + Create a game using various techniques The students are expected to enhance/improve the following skills: 1) programming, 2) source code reading and comprehension, 3) report writing, 4) teamwork, and oral presentation. Game Engine: We will use a stable version Ogre3D to learn basic programming skills for games. Platform: Visual Studio 2010 and 2019 for C++ programming.
1. C++ Programming Language 2. Computer Graphics 3. Some knowledge of graphics libraries, such as OpenGL or Direct3D 4. Programming experience on .NET platform 5. Ogre3D, Unity, C# (optional) 6. Know how to write a report
There will be exercises for evaluating the capability of students on certain topics in a continuous manner. Moreover, the teacher will show many program demos to students and the students can download the source code for their own project programming. Useful books: 1. Erich Gamma ... [et al.]. Design patterns : elements of reusable object-oriented software. Publisher Reading, Mass. : Addison-Wesley, c1995. 2. Tomas Moller (Author), Eric Haines (Author), Tomas Akenine-Moller (Author). Real-Time Rendering (2nd Edition). Natick, Mass. : A K Peters, c2002. 3. Game Programming Gems (1-6) 4. Finney, Kenneth C. 3D game programming all in one. Publisher Boston, Mass. : Thomson Course Technology, 2007. 5. David H. Eberly. 3D Game Engine Design, Second Edition: A Practical Approach to Real-Time Computer Graphics (The Morgan Kaufmann Series in Interactive 3D Technology). Useful sites: http://www.ogre3d.org http://www.gamedev.net http://en.wikipedia.org/wiki/Design_Patterns Unity: https://unity.com/
Programming content: There are programming assignments, exercises, and a team-based course project. A simple version of Ogre3D is used for the assignments. The step-by-step guidelines will be provided for completing the assignments. There is a comprehensive guideline to guide students to finish the programming assignments step by step. In the project, students have to design and implement a 3D game. Grading scheme: Assignments (35%). Implement C++ programs on Visual Studio 2010 and 2019. A simple version of Ogre3D. Mini-project exercises. (15%) Final project (50%); Project Program + Live Demo + Presentation + Report. Can use Unity, Ogre3D, or Unreal to implement the project program.
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction to Game Development |
| 第 2 週 | Game System Analysis |
| 第 3 週 | The Main Game Loop |
| 第 4 週 | 3D Game Engine Training (1) |
| 第 5 週 | 3D Game Engine Training (2) |
| 第 6 週 | Game Mathematics |
| 第 7 週 | Geometry for Games |
| 第 8 週 | Scene Management |
| 第 9 週 | Advanced Scene Management – Quadtree and Octree |
| 第 10 週 | Terrain |
| 第 11 週 | Game AI - Path finding |
| 第 12 週 | Game AI - Finite State Machine |
| 第 13 週 | Game Physics - Particle system |
| 第 14 週 | Game Effect (FX) |
| 第 16 週 | Network Gaming |
| 第 17 週 | Introduction to MMOG |
| 第 18 週 | Non-3D parts |
No textbook. ※請修課同學尊重智慧財產權!勿隨意過度影印教科書或使用未經授權之著作權與電腦軟體等。
- 地點
- Office: EC 527
- 時間
- Monday: 09:00 - 10:00
- 聯絡方式
- Phone: x56626 Email address: cswingo@cs.nycu.edu.tw