ผลต่างระหว่างรุ่นของ "418383/418587 ภาคปลาย 2553"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
("418383/418587 ภาคปลาย 2553" ถูกล็อก ([edit=autoconfirmed] (ตลอดกาล) [move=autoconfirmed] (ตลอดกาล)))
 
(ไม่แสดง 64 รุ่นระหว่างกลางโดยผู้ใช้ 3 คน)
แถว 2: แถว 2:
  
 
== ประกาศ ==
 
== ประกาศ ==
 +
* 21 ก.พ. 2554: ให้ไฟนอลโปรเจค
 +
* 10 ก.พ. 2554: มีไฟล์เสียงของเกม Breakout ให้ download ที่นี่: [http://theory.cpe.ku.ac.th/~pramook/418383/codes/BreakoutSound.zip ZIP]
 
* 3 พ.ย. 2553: เริ่มสร้างเวบไซต์
 
* 3 พ.ย. 2553: เริ่มสร้างเวบไซต์
  
 
== การบ้าน ==
 
== การบ้าน ==
ยังไม่มีการบ้่าน
+
=== การบ้าน 1: Tetris ===
 +
[[418383/418587 ภาคปลาย 2553/การบ้าน 1|ดูรายละเอียดที่นี่]]
 +
 
 +
[[418383/418587 ภาคปลาย 2553/คะแนนการบ้าน 1|คะแนนการบ้าน 1]]
 +
 
 +
=== การบ้าน 2: Breakout ===
 +
[[418383/418587 ภาคปลาย 2553/การบ้าน 2|ดูรายละเอียดที่นี่]]
 +
 
 +
[[418383/418587 ภาคปลาย 2553/คะแนนการบ้าน 2|คะแนนการบ้าน 2]]
 +
 
 +
=== การบ้าน 3: Pacman ===
 +
[[418383/418587 ภาคปลาย 2553/การบ้าน 3|ดูรายละัเอียดที่นี่]]
 +
 
 +
[[418383/418587 ภาคปลาย 2553/คะแนนการบ้าน 3|คะแนนการบ้าน 3]]
 +
 
 +
== ไฟนอลโปรเจค ==
 +
 
 +
ในไฟนอลโปรเจคนี้คุณจะทำเกม (สองมิติหรือสามมิิติก็ได้) อย่างง่ายๆ มาหนึ่งเกม การทำโปรเจคให้ทำตามขั้นตอนดังต่อไปนี้
 +
* ส่งอีเมล์มาหาผมที่ pramook at gmail.com ภายใน'''วันศุกร์ที่ 25 กุมภาพันธ์ 2554 เวลา 23.59 น.''' โดยมีเนื้อหาดังนี้
 +
** บอกว่าสมาชิกในกลุ่มของคุณมีใครบ้าง กลุ่มหนึ่งมีสมาชิกได้ไม่เกิน 4 คน
 +
** บอกว่าคุณจะเขียนเกมอะไร
 +
** ถ้าเป็นเกมเคยมีมาแล้วที่แนบลิงก์ไปยังไฟล์ภาพยนตร์ใน Youtube ที่มี footage การเล่นเกมนั้น หรือถ้าเกมเป็นแฟลชก็ให้แนบลิงก์เกมนั้นมาเลยก็ได้
 +
** ถ้าเป็นเกมที่ยังไม่มีคนเขียน ให้อธิบายฟีเจอร์ของเกมมาโดยสังเขป
 +
* ผมจะตอบ email พร้อมกับบอกฟีเจอร์ของเกมที่คุณต้องเขียน ภายในวันจันทร์ที่ 28 กุมภาพันธ์ 2554
 +
* ส่ง installer มาที่ pramook at gmail.com ใน'''วันศุกร์ที่ 18 มีนาคม 2554 เวลา 23.59 น.'''
 +
* '''มานำเสนอโปรเจคในวันจันทร์ที่ 21 มีนาคม 2554 เวลา 13.00 น. ที่หน้าออฟฟิศของ อ.ประมุข'''
 +
 
 +
=== ฟีเจอร์บังคับสำหรับเกมทุกเกม ===
 +
* ต้องเขียนเกมด้วย Microsoft XNA Framework 4.0 และห้ามมี dependency อื่นนอกเหนือจากข้างบน
 +
* เวลาเขียนเกมต้องใช้ Reach เท่านั้น ห้ามใช้ HiDef
 +
* มีฉาก title, ฉาก game over, และฉากจบเกม
 +
* บังคับเกมด้วยคีย์บอร์ดหรือเมาส์
 +
* มีด่านอย่างน้อย 5 ด่าน ศัตรูอย่างน้อย 5 แบบ หรือมีความหลากหลายอย่างอื่นอย่างน้อย 5 แบบ ตามความเหมาะสมของเกม (ผมจะระบุไปใน email)
 +
* ต้องมีเสียงทั้ง background music และ sound effect
 +
* ทำ installer โดยใช้ ClickOnce (ดูวิธีใช้ได้ที่ [http://msdn.microsoft.com/en-us/library/bb464156.aspx http://msdn.microsoft.com/en-us/library/bb464156.aspx])
 +
* เกมต้องรันได้บนเครื่องคอมพิวเตอร์ที่มี Microsoft XNA Framework 4.0 และ DirectX ลง
 +
 
 +
=== คะแนน ===
 +
[[418383/418587 ภาคปลาย 2553/คะแนน Final Project|คะแนน Final Project]]
  
 
== รายละเอียด ==
 
== รายละเอียด ==
แถว 14: แถว 54:
 
* เวลา
 
* เวลา
 
** ปริญญาตรี (418383)
 
** ปริญญาตรี (418383)
*** 4 สัปดาห์แรก: วันศุกร์ 17.00 น. - 20.00 น.
+
*** วันศุกร์ 17.00 น. - 20.00 น.  
*** หลังจากนั้น: วันศุกร์ 15.30 น. - 18.30 น.  
 
 
** ปริญญาโท (418587)
 
** ปริญญาโท (418587)
 
*** วันอาทิตย์ 13.00 น. - 16.00 น.
 
*** วันอาทิตย์ 13.00 น. - 16.00 น.
 
* การให้คะแนน
 
* การให้คะแนน
** การบ้าน 3 การบ้าน การบ้านละ 20%
+
** การบ้าน 3 การบ้าน
 +
*** การบ้าน 1 และ 2 การบ้านละ 25%
 +
*** การบ้าน 3 10% (เนื่องจากไม่อยากให้กระทบคะแนนมาก)
 
** Final Project 40%
 
** Final Project 40%
 
: '''หมายเหตุ:''' วิธีการให้คะแนนนี้อาจเปลี่ยนแปลงได้ในอนาคต
 
: '''หมายเหตุ:''' วิธีการให้คะแนนนี้อาจเปลี่ยนแปลงได้ในอนาคต
แถว 40: แถว 81:
 
<tr>
 
<tr>
 
<td>1</td>
 
<td>1</td>
<td>8 พ.ย. 52</td>
+
<td>
 +
* 5 พ.ย. 53
 +
* 7 พ.ย. 53
 +
</td>
 
<td>
 
<td>
 
* Games and Game Programming
 
* Games and Game Programming
แถว 47: แถว 91:
 
<td>
 
<td>
 
สไลด์
 
สไลด์
* Game and Game Structure [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-01/game-and-game-structure.pptx PPTX] [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-01/game-and-game-structure.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/2009/418383/lecture-01/game-and-game-structure.pdf PDF]
+
* Game and Game Structure [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-01/game-and-game-structure.pptx PPTX] [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-01/game-and-game-structure.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-01/game-and-game-structure.pdf PDF]
 
* สไลด์จาก [http://csharp.mckazine.com/ http://csharp.mckazine.com]: Slide 01 - 03
 
* สไลด์จาก [http://csharp.mckazine.com/ http://csharp.mckazine.com]: Slide 01 - 03
 
</td>
 
</td>
แถว 54: แถว 98:
 
<tr>
 
<tr>
 
<td>2</td>
 
<td>2</td>
<td>15 พ.ย. 52</td>
+
<td>
 +
* 12 พ.ย. 53
 +
* 14 พ.ย. 53
 +
</td>
 
<td>
 
<td>
 
The C# Programming Language
 
The C# Programming Language
แถว 62: แถว 109:
 
* สไลด์จาก [http://csharp.mckazine.com/ http://csharp.mckazine.com]: Slide 04 - 10
 
* สไลด์จาก [http://csharp.mckazine.com/ http://csharp.mckazine.com]: Slide 04 - 10
 
* สไลด์จาก University of Linz, Austria
 
* สไลด์จาก University of Linz, Austria
** Introduction to C# [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-02/Part1.pdf PDF]
+
** Introduction to C# [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-02/Part1.pdf PDF]
** Advanced C# [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-02/Part2.pdf PDF]
+
** Advanced C# [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-02/Part2.pdf PDF]
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 69: แถว 116:
 
<tr>
 
<tr>
 
<td>3</td>
 
<td>3</td>
<td>22 พ.ย. 52</td>
+
<td>
 +
* 21 พ.ย. 53
 +
* วันที่ 19 พ.ย. 53 อ. ไปราชการ
 +
* นิสิต ป.ตรีให้มาเรียนวันอาทิตย์
 +
</td>
 
<td>
 
<td>
 
* Introduction to XNA
 
* Introduction to XNA
แถว 76: แถว 127:
 
</td>
 
</td>
 
<td>
 
<td>
* สไลด์ [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-03/lecture-03.pdf PDF] [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-03/lecture-03.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-03/lecture-03.pptx PPTX]  
+
* สไลด์ [http://theory.cpe.ku.ac.th/~pramook/418383/slides/lecture-03.pdf PDF] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/lecture-03.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/lecture-03.pptx PPTX]  
* โค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-03/XNABasics.zip ZIP]
+
* โค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/codes/XnaBasics.zip ZIP]
* โค้ดตัวอย่าง Bouncing Balls [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-03/lab-03.zip ZIP]
 
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 84: แถว 134:
 
<tr>
 
<tr>
 
<td>4</td>
 
<td>4</td>
<td>29 พ.ย. 52</td>
+
<td>
 +
* 26 พ.ย. 53
 +
* 28 พ.ย. 53
 +
</td>
 
<td>
 
<td>
 
Programming Tetris
 
Programming Tetris
 
</td>
 
</td>
 
<td>
 
<td>
ดูโค้ดตัวอย่างได้ที่การบ้านที่ 1
+
* สไลด์ [http://theory.cpe.ku.ac.th/~pramook/418383/slides/tetris.pdf PDF] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/tetris.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/tetris.pptx PPTX]
 +
* โค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/codes/Tetris.zip ZIP]
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 95: แถว 149:
 
<tr>
 
<tr>
 
<td>5</td>
 
<td>5</td>
<td>6 ธ.ค. 52</td>
 
 
<td>
 
<td>
Procedural Animation
+
* 3 ธ.ค. 53
 +
* 5 ธ.ค. 53
 +
</td>
 +
<td>
 +
Content Pipeline
 
</td>
 
</td>
 
<td>
 
<td>
* สไลด์ [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-05/animation.pdf PDF] [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-05/animation.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-05/animation.pptx PPTX]  
+
* สไลด์ [http://theory.cpe.ku.ac.th/~pramook/418383/slides/content-pipeline.pdf PDF] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/content-pipeline.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/content-pipeline.pptx PPTX]  
* โ้ค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-05/GameLib.zip ZIP]
+
* โค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/codes/ContentPipeline.zip ZIP]
* โ้ค้ดตัวอย่าง (ตัวละครวิ่งตามเมาส์) [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-05/GameLib2.zip ZIP]
 
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 108: แถว 164:
 
<tr>
 
<tr>
 
<td>6</td>
 
<td>6</td>
<td>13 ธ.ค. 52</td>
 
 
<td>
 
<td>
Content Pipeline
+
* 12 ธ.ค. 52
 +
* นิสิต ป.ตรี ให้มาเรียนวันอาทิืตย์
 +
</td>
 +
<td>
 +
Procedural Animation
 
</td>
 
</td>
 
<td>
 
<td>
* สไลด์ [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-06/content-pipeline.pdf PDF] [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-06/content-pipeline.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-06/content-pipeline.pptx PPTX]  
+
* สไลด์ [http://theory.cpe.ku.ac.th/~pramook/418383/slides/animation.pdf PDF] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/animation.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/animation.pptx PPTX]  
* โ้ค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-06/ContentPipelineExample.zip ZIP]
+
* โค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/codes/Animation.zip ZIP]
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 120: แถว 179:
 
<tr>
 
<tr>
 
<td>7</td>
 
<td>7</td>
<td>10 ม.ค. 53</td>
 
 
<td>
 
<td>
Programming Breakout
+
* 17 ธ.ค. 53
 +
* 19 ธ.ค. 53
 +
</td>
 +
<td>
 +
Sound
 
</td>
 
</td>
 
<td>
 
<td>
โค้ดเริ่มต้น
+
* สไลด์ Playing sounds in XNA จาก UCSC [http://theory.cpe.ku.ac.th/~pramook/418383/slides/sound-in-xna.pptx PPTX] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/sound-in-xna.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/sound-in-xna.pdf PDF]
* [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-07/Breakout_Preliminary.zip ZIP]
+
* โค้ดตัวอย่าง: [http://theory.cpe.ku.ac.th/~pramook/418383/codes/Sound.zip ZIP]
 
</td>
 
</td>
 +
</tr>
 +
 +
<tr>
 +
<td colspan="5" align="center">สัปดาห์สอบกลางภาค</td>
 
</tr>
 
</tr>
  
 
<tr>
 
<tr>
 
<td>8</td>
 
<td>8</td>
<td>17 ม.ค. 53</td>
 
 
<td>
 
<td>
Sound
+
* 7 ม.ค. 54
 +
* 9 ม.ค. 54
 +
</td>
 +
<td>
 +
Programming Breakout
 
</td>
 
</td>
 
<td>
 
<td>
* สไลด์ Playing sounds in XNA จาก UCSC [http://access.cs.sci.ku.ac.th/~ckw/418383/sound-in-xna.ppt PPT] [http://access.cs.sci.ku.ac.th/~ckw/418383/sound-in-xna.pdf PDF]
+
* สไลด์ [http://theory.cpe.ku.ac.th/~pramook/418383/slides/breakout.pdf PDF] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/breakout.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/breakout.pptx PPTX]  
* [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-08/SoundDemo.zip โปรแกรมตัวอย่าง]
+
* โค้ดตัวอย่าง: [http://theory.cpe.ku.ac.th/~pramook/418383/codes/Breakout.zip ZIP]
* [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-08/Breakout_Preliminary_with_Sound.zip Breakout_Preliminary_with_Sound.zip]
 
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 145: แถว 213:
 
<tr>
 
<tr>
 
<td>9</td>
 
<td>9</td>
<td>24 ม.ค. 53</td>
 
 
<td>
 
<td>
Collision Detection
+
* 14 ม.ค. 54
 +
* 16 ม.ค. 54
 
</td>
 
</td>
<td>
 
*สไลด์ Colission Detection โดย Prof. Jim Whitehead จาก University of California Santa Cruz
 
** Introduction [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-09/staruml-collision-overview.pdf PDF]
 
** Grid [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-09/space-partition1-grids.pdf PDF]
 
** Quadtree [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-09/space-partition2-quadtree.pdf PDF]
 
* โค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-09/CollisionDetection.zip ZIP]
 
</td>
 
</tr>
 
 
<tr>
 
<td>10</td>
 
<td>31 ม.ค. 53</td>
 
 
<td>
 
<td>
 
Game AI Programming
 
Game AI Programming
แถว 171: แถว 227:
 
* [http://access.cs.sci.ku.ac.th/~ckw/418383/cs638-19.ppt Path Planning]
 
* [http://access.cs.sci.ku.ac.th/~ckw/418383/cs638-19.ppt Path Planning]
 
โค้ดตัวอย่าง
 
โค้ดตัวอย่าง
* [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-10/AI.zip ZIP]
+
* [http://theory.cpe.ku.ac.th/~pramook/418383/codes/AI.zip ZIP]
 +
</td>
 +
</tr>
 +
 
 +
<tr>
 +
<td>10</td>
 +
<td>
 +
* 21 ม.ค. 54
 +
* 23 ม.ค. 54
 +
</td>
 +
<td>
 +
Collision Detection
 +
</td>
 +
<td>
 +
*สไลด์ AI จาก U. of Wisconsin - Madison
 +
** [http://theory.cpe.ku.ac.th/~pramook/418383/slides/cs638-22.ppt PPT]
 +
** [http://theory.cpe.ku.ac.th/~pramook/418383/slides/cs638-23.ppt PPT]
 +
** [http://theory.cpe.ku.ac.th/~pramook/418383/slides/cs638-24.ppt PPT]
 +
* โค้ดตัวอย่าง [http://theory.cpe.ku.ac.th/~pramook/418383/codes/Collision.zip ZIP]
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 177: แถว 251:
 
<tr>
 
<tr>
 
<td>11</td>
 
<td>11</td>
<td>7 ก.พ. 53</td>
 
 
<td>
 
<td>
3D Game Programming I
+
* 28 ม.ค. 54
* Camera
+
* 31 ม.ค. 54
* Displaying Polygons
+
</td>
* Displaying Models
+
<td>
 +
Introduction to 3D Programming in XNA
 
</td>
 
</td>
 
<td>
 
<td>
แถว 189: แถว 263:
 
* Triangles and Transformations [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/triangles-translations-xna.pdf PDF]
 
* Triangles and Transformations [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/triangles-translations-xna.pdf PDF]
 
* Meshes and Models [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/meshes-xna-1.pdf PDF]
 
* Meshes and Models [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/meshes-xna-1.pdf PDF]
 +
* Introduction to Shader Programming [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-13/intro-shader-hlsl.pdf PDF]
 +
* Point lights using HSLS [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-13/point-light-shader.pdf PDF]
 
โค้ดตัวอย่าง
 
โค้ดตัวอย่าง
 
* Introduction [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/3D%20Madness.rar RAR]
 
* Introduction [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/3D%20Madness.rar RAR]
 
* Triangles and Transformations [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/ColorTexture.rar RAR]
 
* Triangles and Transformations [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/ColorTexture.rar RAR]
 
* Meshes and Models [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/3D%20Game.rar RAR]
 
* Meshes and Models [http://access.cs.sci.ku.ac.th/~pramook/418383/second2009/lecture-11/3D%20Game.rar RAR]
 +
* Shader Programming [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-13/HLSL-Madness.rar RAR]
 +
* Point Light Shader [http://theory.cpe.ku.ac.th/~pramook/418383/2009/lecture-13/PointLightShader.rar RAR]
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 198: แถว 276:
 
<tr>
 
<tr>
 
<td>12</td>
 
<td>12</td>
<td>14 ก.พ. 53</td>
 
 
<td>
 
<td>
3D Game Programming II
+
* 4 ก.พ. 54
* Animation in Computer Games
+
* 6 ก.พ. 54
 
</td>
 
</td>
 
<td>
 
<td>
สไลด์จาก MIT OpenCourseWare
+
Game Physics Programming
* Keyframe Animations and Articulated Characters [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-12/10_keyfrm_ik_opt.pdf PDF]  
+
</td>
* Quaternions and Interpolation [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-12/11_anim_ii_cov.pdf PDF]  
+
<td>
* Dynamics (Physical Simulation) [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-12/12_animation_ii.pdf PDF]  
+
สไลด์ฟิสิกส์จาก Game Developer Conference: http://www.essentialmath.com/tutorial.htm
 +
* [http://theory.cpe.ku.ac.th/~pramook/418383/slides/physics-01.ppt PPT]
 +
* [http://theory.cpe.ku.ac.th/~pramook/418383/slides/physics-02.ppt PPT]
 +
* [http://theory.cpe.ku.ac.th/~pramook/418383/slides/physics-03.ppt PPT]
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 213: แถว 293:
 
<tr>
 
<tr>
 
<td>13</td>
 
<td>13</td>
<td>21 ก.พ. 53</td>
 
 
<td>
 
<td>
3D Game Programming II
+
* 11 ก.พ. 54
* Shaders
+
* 13 ก.พ. 54
* Special Effects
+
</td>
 +
<td>
 +
Programming Pacman
 
</td>
 
</td>
 
<td>
 
<td>
สไลด์โดย Prof. Jim Whitehead จาก University of California Santa Cruz
 
* Introduction to Shader Programming [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-13/intro-shader-hlsl.pdf PDF]
 
สไลด์เกี่ยวกับโมเดลการสะท้อนแสงจาก Harvard
 
* Color and Reflectance [http://access.cs.sci.ku.ac.th/~pramook/418341/lecture-10/color-and-reflectance.pdf PDF]
 
สไลด์เกี่ยวกับ Normal Mapping
 
* Normal Mapping [http://theory.cpe.ku.ac.th/~pramook/418341/first2009/lecture-23/lecture-23.pdf PDF]
 
โค้ดตัวอย่าง
 
* [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-13/HLSL-Madness.rar RAR]
 
โค้ดตัวอย่างโดย Petri Wilhelmsen (http://digierr.spaces.live.com/blog/ และ http://forums.xna.com/forums/t/27849.aspx)
 
* Ambient Lighting [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-13/shader-examples/Tutorial1_Ambient.rar RAR]
 
* Diffuse Lighting [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-13/shader-examples/Tutorial2_Diffuse.rar RAR]
 
* Specular Lighting [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-13/shader-examples/Tutorial3_Specular.rar RAR]
 
* Normal Mapping [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-13/shader-examples/Tutorial4_NormalMapping.rar RAR]
 
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 238: แถว 306:
 
<tr>
 
<tr>
 
<td>14</td>
 
<td>14</td>
<td>28 ก.พ. 53</td>
 
 
<td>
 
<td>
* Game Design
+
* 20 ก.พ. 54
* Deployment
+
* นิสิต ป.ตรี ให้มาเรียนวันอาทิตย์
 
</td>
 
</td>
 
<td>
 
<td>
* เกมดีไซเนอร์ [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-14/GameDesigner.pdf PDF]
+
User Interface Programming
* โครงสร้างของเกม [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-14/GameStructure.pdf PDF]
+
</td>
* ออกแบบโครงสร้างของเกม [http://theory.cpe.ku.ac.th/~pramook/418383/lecture-14/DesignByElements.pdf PDF]
+
<td>
 +
สไลด์
 +
* User Interface Programming [http://theory.cpe.ku.ac.th/~pramook/418383/slides/user-interface.pptx PPTX] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/user-interface.ppt PPT] [http://theory.cpe.ku.ac.th/~pramook/418383/slides/user-interface.pdf PDF]
 +
โค้ดตัวอย่าง
 +
* [http://theory.cpe.ku.ac.th/~pramook/418383/codes/WinFormsGraphicsSample_4_0.zip ใช้งาน XNA กับ WinForms]
 +
* [http://theory.cpe.ku.ac.th/~pramook/418383/codes/Nuclex-Framework-Demos-R1323.7z Demo ของ Nuclex Framework]
 
</td>
 
</td>
 
</tr>
 
</tr>
แถว 252: แถว 324:
 
<tr>
 
<tr>
 
<td>15</td>
 
<td>15</td>
<td>TBA</td>
 
 
<td>
 
<td>
Project Presentation
+
* 25 ก.พ. 54
 +
* 27 ก.พ. 54
 +
</td>
 +
<td>
 +
Game Design Principles
 +
</td>
 +
<td>
 +
สไลด์
 +
* Game Designer [http://theory.cpe.ku.ac.th/~pramook/418383/slides/GameDesigner.pdf PDF]
 +
* Game Structure [http://theory.cpe.ku.ac.th/~pramook/418383/slides/GameStructure.pdf PDF]
 +
* Game Design by Elements [http://theory.cpe.ku.ac.th/~pramook/418383/slides/DesignByElements.pdf PDF]
 
</td>
 
</td>
<td></td>
 
 
</tr>
 
</tr>
  
 
</table>
 
</table>

รุ่นแก้ไขปัจจุบันเมื่อ 02:13, 2 ตุลาคม 2554

ขอต้อนรับเข้าสู่วิชา 418383 การเขียนโปรแกรมเกม และ 418587 การออกแบบและพัฒนาเกม ประจำปีการศึกษา 2553 ภาคเรียนที่สอง

ประกาศ

  • 21 ก.พ. 2554: ให้ไฟนอลโปรเจค
  • 10 ก.พ. 2554: มีไฟล์เสียงของเกม Breakout ให้ download ที่นี่: ZIP
  • 3 พ.ย. 2553: เริ่มสร้างเวบไซต์

การบ้าน

การบ้าน 1: Tetris

ดูรายละเอียดที่นี่

คะแนนการบ้าน 1

การบ้าน 2: Breakout

ดูรายละเอียดที่นี่

คะแนนการบ้าน 2

การบ้าน 3: Pacman

ดูรายละัเอียดที่นี่

คะแนนการบ้าน 3

ไฟนอลโปรเจค

ในไฟนอลโปรเจคนี้คุณจะทำเกม (สองมิติหรือสามมิิติก็ได้) อย่างง่ายๆ มาหนึ่งเกม การทำโปรเจคให้ทำตามขั้นตอนดังต่อไปนี้

  • ส่งอีเมล์มาหาผมที่ pramook at gmail.com ภายในวันศุกร์ที่ 25 กุมภาพันธ์ 2554 เวลา 23.59 น. โดยมีเนื้อหาดังนี้
    • บอกว่าสมาชิกในกลุ่มของคุณมีใครบ้าง กลุ่มหนึ่งมีสมาชิกได้ไม่เกิน 4 คน
    • บอกว่าคุณจะเขียนเกมอะไร
    • ถ้าเป็นเกมเคยมีมาแล้วที่แนบลิงก์ไปยังไฟล์ภาพยนตร์ใน Youtube ที่มี footage การเล่นเกมนั้น หรือถ้าเกมเป็นแฟลชก็ให้แนบลิงก์เกมนั้นมาเลยก็ได้
    • ถ้าเป็นเกมที่ยังไม่มีคนเขียน ให้อธิบายฟีเจอร์ของเกมมาโดยสังเขป
  • ผมจะตอบ email พร้อมกับบอกฟีเจอร์ของเกมที่คุณต้องเขียน ภายในวันจันทร์ที่ 28 กุมภาพันธ์ 2554
  • ส่ง installer มาที่ pramook at gmail.com ในวันศุกร์ที่ 18 มีนาคม 2554 เวลา 23.59 น.
  • มานำเสนอโปรเจคในวันจันทร์ที่ 21 มีนาคม 2554 เวลา 13.00 น. ที่หน้าออฟฟิศของ อ.ประมุข

ฟีเจอร์บังคับสำหรับเกมทุกเกม

  • ต้องเขียนเกมด้วย Microsoft XNA Framework 4.0 และห้ามมี dependency อื่นนอกเหนือจากข้างบน
  • เวลาเขียนเกมต้องใช้ Reach เท่านั้น ห้ามใช้ HiDef
  • มีฉาก title, ฉาก game over, และฉากจบเกม
  • บังคับเกมด้วยคีย์บอร์ดหรือเมาส์
  • มีด่านอย่างน้อย 5 ด่าน ศัตรูอย่างน้อย 5 แบบ หรือมีความหลากหลายอย่างอื่นอย่างน้อย 5 แบบ ตามความเหมาะสมของเกม (ผมจะระบุไปใน email)
  • ต้องมีเสียงทั้ง background music และ sound effect
  • ทำ installer โดยใช้ ClickOnce (ดูวิธีใช้ได้ที่ http://msdn.microsoft.com/en-us/library/bb464156.aspx)
  • เกมต้องรันได้บนเครื่องคอมพิวเตอร์ที่มี Microsoft XNA Framework 4.0 และ DirectX ลง

คะแนน

คะแนน Final Project

รายละเอียด

  • เนื้อหา
มีเนื้อหาเกี่ยวกับการเขียนโปรแกรมเกมโดยใช้เครื่องมือ Microsoft XNA Game Studio และภาษา C#
  • สถานที่
SCL 310
  • เวลา
    • ปริญญาตรี (418383)
      • วันศุกร์ 17.00 น. - 20.00 น.
    • ปริญญาโท (418587)
      • วันอาทิตย์ 13.00 น. - 16.00 น.
  • การให้คะแนน
    • การบ้าน 3 การบ้าน
      • การบ้าน 1 และ 2 การบ้านละ 25%
      • การบ้าน 3 10% (เนื่องจากไม่อยากให้กระทบคะแนนมาก)
    • Final Project 40%
หมายเหตุ: วิธีการให้คะแนนนี้อาจเปลี่ยนแปลงได้ในอนาคต
  • ผู้สอน: อ.ประมุข ขันเงิน
    • อีเมล์: pramook at gmail dot com หรือ fscipmk at ku dot ac dot th
    • มือถือ: ศูนย์ แปด ห้า สี่ ห้า สาม ห้า แปด ห้า เจ็ด
    • เวลาเข้าพบ: วันศูกร์ 13.00 น. - 16.00 น. หรือนัดหมายล่วงหน้า
    • ออฟฟิศ: ห้องไม่มีเบอร์เยื้องสำนักงานภาควิชา
  • แผนการสอน PDF

การเรียนการสอน

สับดาห์ที่ วัน / เดือน / ปี เนื้อหา เอกสาร
1
  • 5 พ.ย. 53
  • 7 พ.ย. 53
  • Games and Game Programming
  • Structure of Games

สไลด์

2
  • 12 พ.ย. 53
  • 14 พ.ย. 53

The C# Programming Language

สไลด์

3
  • 21 พ.ย. 53
  • วันที่ 19 พ.ย. 53 อ. ไปราชการ
  • นิสิต ป.ตรีให้มาเรียนวันอาทิตย์
  • Introduction to XNA
  • 2D Drawing
  • Keyboard and Mouse Input
  • สไลด์ PDF PPT PPTX
  • โค้ดตัวอย่าง ZIP
4
  • 26 พ.ย. 53
  • 28 พ.ย. 53

Programming Tetris

  • สไลด์ PDF PPT PPTX
  • โค้ดตัวอย่าง ZIP
5
  • 3 ธ.ค. 53
  • 5 ธ.ค. 53

Content Pipeline

  • สไลด์ PDF PPT PPTX
  • โค้ดตัวอย่าง ZIP
6
  • 12 ธ.ค. 52
  • นิสิต ป.ตรี ให้มาเรียนวันอาทิืตย์

Procedural Animation

  • สไลด์ PDF PPT PPTX
  • โค้ดตัวอย่าง ZIP
7
  • 17 ธ.ค. 53
  • 19 ธ.ค. 53

Sound

  • สไลด์ Playing sounds in XNA จาก UCSC PPTX PPT PDF
  • โค้ดตัวอย่าง: ZIP
สัปดาห์สอบกลางภาค
8
  • 7 ม.ค. 54
  • 9 ม.ค. 54

Programming Breakout

  • สไลด์ PDF PPT PPTX
  • โค้ดตัวอย่าง: ZIP
9
  • 14 ม.ค. 54
  • 16 ม.ค. 54

Game AI Programming

สไลด์ AI จาก U. of Wisconsin - Madison

โค้ดตัวอย่าง

10
  • 21 ม.ค. 54
  • 23 ม.ค. 54

Collision Detection

  • สไลด์ AI จาก U. of Wisconsin - Madison
  • โค้ดตัวอย่าง ZIP
11
  • 28 ม.ค. 54
  • 31 ม.ค. 54

Introduction to 3D Programming in XNA

สไลด์โดย Prof. Jim Whitehead จาก University of California Santa Cruz

  • Introduction PDF
  • Triangles and Transformations PDF
  • Meshes and Models PDF
  • Introduction to Shader Programming PDF
  • Point lights using HSLS PDF

โค้ดตัวอย่าง

  • Introduction RAR
  • Triangles and Transformations RAR
  • Meshes and Models RAR
  • Shader Programming RAR
  • Point Light Shader RAR
12
  • 4 ก.พ. 54
  • 6 ก.พ. 54

Game Physics Programming

สไลด์ฟิสิกส์จาก Game Developer Conference: http://www.essentialmath.com/tutorial.htm

13
  • 11 ก.พ. 54
  • 13 ก.พ. 54

Programming Pacman

14
  • 20 ก.พ. 54
  • นิสิต ป.ตรี ให้มาเรียนวันอาทิตย์

User Interface Programming

สไลด์

โค้ดตัวอย่าง

15
  • 25 ก.พ. 54
  • 27 ก.พ. 54

Game Design Principles

สไลด์

  • Game Designer PDF
  • Game Structure PDF
  • Game Design by Elements PDF