3D遊戲程式
3D Game Programming
| 節 | 週一 |
|---|---|
5 13:20–14:10 | 3D遊戲程式 ED102 3 節連堂 |
6 14:20–15:10 | |
7 15:30–16:20 |
* 根據陽明交大上課時間表所列
課程內容兼具理論、技術、實務、與系統實習。課程內容涵蓋設計、製作一個3D遊戲所需的程式設計。除了理論與技術之學習之外,學生需完成一個term project,在一個3D遊戲引擎核心之上加上自己的程式模組,以設計一個3D遊戲。 The course content combines theory, technology, practice, and system implementation. The course content covers the programming required to design and produce a 3D game. In addition to learning theory and technology, students need to complete a term project and add their own program modules to a 3D game engine to design a 3D game. 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. Unity, C# (Optional) 2. Computer Graphics 3. Some knowledge of graphics libraries, such as OpenGL or Direct3D 4. Programming experience on .NET platform 5. Ogre3D 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. Furthermore, there are in-class activities that allow students to experience working as a team and improve their presentation skills. Useful websites: Ogre3D: http://www.ogre3d.org Game Development: http://www.gamedev.net Design Patterns: http://en.wikipedia.org/wiki/Design_Patterns Unity: https://unity.com Unity Asset Store: https://assetstore.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. Course project: Mini-project exercises. (15%) Each student must implement the predefined mini-project exercises or propose other mini-exercises that can be useful for the course project. Thus, the students of a group can reuse the projects of the mini-exercises to work on the final course project. Therefore, the students of a group should plan carefully to divide their project program into meaningful game units. Then each student selects a subset of the game units to implement. Consequently, the students of a group can finish the game project successfully. Finally, these small exercises are important for students to complete their course projects in a progressive manner. Final course project (50%); Project Program + Live Demo + Presentation + Report. Students can use Unity, Ogre3D, or Unreal to implement the project program. The students can integrate the mini-project exercises into their final course projects. Thus, the students of a group can implement rich features in their own games. Bonus exercises: There will be a few bonus exercises that are required to finish under a time-limited budget. Students can receive bonus points based on their class/teamwork performance.
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction to Game Development; The Main Game Loop |
| 第 2 週 | 3D Game Engine Training (1) |
| 第 3 週 | 3D Game Engine Training (2) |
| 第 4 週 | Introduction to Large Language Models, Prompts, Prompt Engineering |
| 第 5 週 | Unity Tutorial |
| 第 6 週 | Hero Journey; Game System Analysis |
| 第 7 週 | Game Mathematics |
| 第 8 週 | Geometry for Games |
| 第 9 週 | Scene Management |
| 第 10 週 | Advanced Scene Management – Quadtree and Octree |
| 第 11 週 | Terrain |
| 第 12 週 | Game AI - Path finding |
| 第 13 週 | Game AI - Finite State Machine |
| 第 14 週 | Game Physics - Particle system |
| 第 15 週 | Game Effect (FX) |
| 第 16 週 | Network Gaming, Introduction to MMOG |
No textbook. ※請修課同學尊重智慧財產權!勿隨意過度影印教科書或使用未經授權之著作權與電腦軟體等。
- 地點
- Office: EC 527
- 時間
- Monday: 09:00 - 10:00
- 聯絡方式
- Phone: x56626 Email address: cswingo@cs.nycu.edu.tw