進行中 校際選修

115-1 選課時程

進行中

  • 初選第一階段 6/15 – 6/18
  • 初選第二階段 6/22 – 6/25
  • 校際選修 8/24 – 9/18
  • 初選第三階段 8/31 – 9/3
  • 開學後加退選 9/7 – 9/21
  • 逾期加退選 9/21 – 9/24
選課資源

3D遊戲程式

3D Game Programming

學期
111-1
學分
3 學分
當期課號
535651
永久課號
CSIC30001
開課單位
多媒體工程研究所
授課教師
黃世強
校區
光復
類別
選修
上課時間表
週一
週四
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 Hours
地點
Office: EC 527
時間
Monday: 09:00 - 10:00
聯絡方式
Phone: x56626 Email address: cswingo@cs.nycu.edu.tw