2 項進行中

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
選課資源

加入行事曆

選擇訂閱 Google Calendar,或下載通用的 ICS 檔案。

使用 Google Calendar 時,Google 會收到這份課表的公開連結。

3D遊戲程式

3D Game Programming

學期
115-1
學分
3 學分
當期課號
535652
永久課號
CSIC30001
開課單位
電機資訊國際碩士學位學程、電機資訊國際博士學位學程、數據科學與工程研究所碩士班、多媒體工程研究所、創創工坊、資通安全碩士學位學程、資訊科學與工程研究所、網路與資訊系統博士學位學程、國際資訊碩士班、資訊學院博士班、網路工程研究所
授課教師
黃世強
校區
光復
類別
選修
上課時間表
週一
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 + Describe 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 Unity to learn basic programming skills for games. Platform: Visual Studio or other editors. Students should be familiar with Unity, C# Programming. The students will learn how to implement some game concepts in Unity.

先修科目

1. Unity, C# (Better) 2. Programming experience on Visual Studio, .NET platform 3. Computer Graphics 4. Some knowledge of graphics libraries, such as OpenGL or Direct3D (Optional) 5. Know how to write reports 6. C++ Programming Language (Optional)

備註

無備註

教學方式

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: Unity: https://unity.com/ Unity: https://learn.unity.com/ Unity Tutorials: https://learn.unity.com/pathway/junior-programmer Unity Asset Store: https://assetstore.unity.com/ Game Development: http://www.gamedev.net Design Patterns: http://en.wikipedia.org/wiki/Design_Patterns

評分方式

Assignments (35%, Individual), mini-exercises (15%, Individual; For the team project), and Final Course Project (50%, Team). There are programming assignments, exercises, and a team-based course project. Unity is the core engine that 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# in Unity. 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 may 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

2026-09-07(一)
第 2 週

3D Game Engine Training (1)

2026-09-14(一)
第 3 週

3D Game Engine Training (2)

2026-09-21(一)
第 4 週

Introduction to Large Language Models, Prompts, Prompt Engineering

2026-09-28(一)
第 5 週

Unity Tutorial

2026-10-05(一)
第 6 週

Hero Journey Game System Analysis

2026-10-12(一)
第 7 週

Game Mathematics

2026-10-19(一)
第 8 週

Geometry for Games

2026-10-26(一)
第 9 週

Scene Management

2026-11-02(一)
第 10 週

Advanced Scene Management – Quadtree and Octree

2026-11-09(一)
第 11 週

Terrain

2026-11-16(一)
第 12 週

Game AI - Path finding

2026-11-23(一)
第 13 週

Game AI - Finite State Machine

2026-11-30(一)
第 14 週

Game Physics - Particle system

2026-12-07(一)
第 15 週

Game Effect (FX)

2026-12-14(一)
第 16 週

Network Gaming, Introduction to MMOG

2026-12-21(一)
教科書

No textbook. ※請修課同學尊重智慧財產權﹗勿隨意過度影印教科書或使用未經授權之著作權與電腦軟體等。

Office Hours
地點
Office: EC 527
時間
Monday: 09:00 - 10:00
聯絡方式
Phone: x56626 Email address: cswingo@cs.nycu.edu.tw