1-21 ต.ค.(จันทร์-ศุกร์)
เรียนเวลา 14:00-17:00
เปลี่ยนการสอน "วิทยาศาสตร์" ให้ใช้ 3D Space เป็นพื้นที่เล่นให้น้อง ได้เข้าใจตั้งแต่ตั้งสมมติฐาน ออกแบบการทดลอง พิสูจน์ สรุปผล แล้วได้ประยุกต์ทำให้เกมตัวเองบรรลุภารกิจ เล่นสนุก
ไม่เชื่อใช่ไหม? ว่าเด็กเกลียดวิทย์ ก็กลายเป็นท็อปห้องได้ มาดูกันว่าทำได้ไง
ทำความคุ้นเคยกับ Unity ที่สร้างเกมของตัวเองอย่างสนุกใน 3 วัน
Day 1 :
- Basic Unity: Windows, Scene, Game Object, Component, Asset Store
- Import Asset : ฝึกใช้ Asset สร้าง Gameplay สุดเจ๋ง
- Quest : Make Fun Game!
Day 2 :
- Mock Up : แข่งกันใครทำเกมสนุกกว่า
- Production : ต่อด้วยจัดฉาก จัดแสง ใส่ Effect ทำเกมให้สวยเวอร์!
Day 3 :
- Comment & Polish : พี่ๆช่วยแนะนำ เก็บงานให้กริบ
Mini-Boss: Presention & Ranking : นำเสนอเกม และจัดอันดับเกมใครเจ๋งสุด
ใช้เวลาทำแค่ 3 วัน ก็เป็นเกมเล่นได้สนุก
หลักการฟิสิกส์ระดับมัธยม เอามาใช้ควบคุมปืนใหญ่
Day 4: แรงและการเคลื่อนที่เชิงเส้น
- ทฤษฎี: อธิบายกฎการเคลื่อนที่ของนิวตัน (Newton's Laws of Motion) และแนวคิดเรื่องแรง, มวล, และความเร่ง
- การประยุกต์ใช้: ใช้ Unity Physics เพื่อให้กระสุนปืนใหญ่มีแรงโน้มถ่วง (Gravity) และความเร็วเริ่มต้นที่กำหนด
SP : Gravity (Quick Challenge) : แสดงการใช้แรง กับมวลที่แตกต่างกัน เพื่อเล็งเป้าหมายให้แม่น
Day 5: การเคลื่อนที่แบบโพรเจกไทล์ (Projectile Motion)
- ทฤษฎี: อธิบายแนวคิดของการเคลื่อนที่แบบโค้งของวัตถุภายใต้แรงโน้มถ่วง
- การประยุกต์ใช้: สร้างโปรแกรมคำนวณวิถีโค้งของกระสุน โดยรับค่าความเร็วต้นและมุมยิง เพื่อให้กระสุนสามารถยิงไปตกยังตำแหน่งที่ต้องการได้
SP : Gravity (Challenge) : เราสามารถปรับรูปแบบเกมให้เล่นกับแรงโน้มต่างๆ กันในแต่ละ stage เพิ่มความสะใจได้อีก พอเข้าใจการคำนวณ Projectile ก็ง่ายละทีนี้
Boss: สร้างเกมยิงปืนสู่โจมตี enemy ที่บุกเข้ามาด้วยความเร็วที่แตกต่างกัน ใครทำได้หลาย stage จะได้คะแนนเพิ่ม
เกมที่ต้องใช้หลัก Physics มาแก้ปัญหาต่างๆ
ใช้ Python เพื่อให้น้องเข้าใจคณิตศาสตร์ได้ง่ายขึ้น
Day 6: ฝึกการเขียนโปรแกรมภาษา Python (Python Foundation)
- Presentation: ฝึกนำเสนอเกมให้เพื่อนเข้าใจ
- ทฤษฎี: ฝึกใช้ Python คำนวณหามุมยิงที่เหมาะสม เพื่อให้กระสุนตกถึงเป้าหมายที่กำลังเคลื่อนที่ โดยใช้หลักการคณิตศาสตร์เชิงเวกเตอร์ (Vector Mathematics)
- การประยุกต์ใช้: สร้างระบบเล็งเป้าหมายอัตโนมัติ (Aiming System) ที่คำนวณมุมยิงที่เหมาะสมเพื่อยิงศัตรูที่กำลังเคลื่อนที่อยู่
SP : Projectile (Challenge) : ออกแบบ Free body Diagram แสดงการยิงศัตรูจาก Vector ของกระสุน
Day 7: เรขาคณิตในเกม 2D และ 3D
- ทฤษฎี: อธิบายแนวคิดเรื่องพิกัด (Coordinates), ระยะทาง (Distance), และเวกเตอร์ (Vectors) ใน Unity
- การประยุกต์ใช้:
Day 8: ความน่าจะเป็น (การสุ่มเกิด Enemy)
- ทฤษฎี: ฝึกการเขียน Python สุ่มเกิด Enemy ตามความสามารถ หลังจากมี Enemy ถูกยิงจะเกิดผลกระทบกับ Enemy ตามค่าพลัง
- การประยุกต์ใช้:
ใช้ Python แก้ไขสมสมการที่ซับซ้อน และสร้างเกมที่สนุกไปกับคณิตสาสตร์
เพิ่มความสนุกในความแม่นและ Damage ในการยิง
Day 9: การคำนวณ Damage จากค่าสถิติ
- ทฤษฎี: สอนหลักการคำนวณเชิงเส้น (Linear Functions)
- การประยุกต์ใช้:
Day 10: การชนและการคำนวณแรงปะทะ
- ทฤษฎี: อธิบายแนวคิดเรื่องการชน (Collision)
- การประยุกต์ใช้:
ป้องกันฐานจากการบุกรุกของศัตรูกับเกมแนว Tower Defense
ฝึกใช้หลักการเคลื่อนที่ แรง ความเร็ว ความเร่ง และคณิตศาสตร์ ทำให้เกมสนุก
Day 11: การเพิ่มประสิทธิภาพของเกม
- ทฤษฎี: สอนเรื่องการจัดการวัตถุในเกม (Object Pooling) เพื่อลดการใช้ทรัพยากร
- การประยุกต์ใช้: สร้างระบบจัดการจำนวนกระสุนและศัตรูเพื่อเพิ่ม Frame Rate
- ฝึกทำงานเป็นกลุ่ม
Day 12: การปรับแต่งความสวยงามของฉาก และระบบแสง
- ทฤษฎี: ฝึกการจัดแสง และองค์ประกอบในเกม
- การประยุกต์ใช้: ฝึกออกแบบเกมให้สวยงาม
- ฝึกทำงานเป็นกลุ่ม
Day 13: การปรับแต่ง Animation และ Effect ในเกม
- ทฤษฎี: สร้าง Animation ของ Enemy กระสุน และ Player รวมทั้งองค์ประกอบสำคัญต่างๆ เพิ่มเติมระบบ Effect ให้น่าสนใจ
- การประยุกต์ใช้: ฝึกออกแบบเกมให้เคลื่อนไหวอย่างน่าเล่น
- ฝึกทำงานเป็นกลุ่ม
การเก็บรายละเอียดทีให้เกมสวยงาม และน่าเล่นมากยิ่งขึ้น!
Day 14: Final Boss พัฒนาเกม Game Tower Defense ที่สมบูรณ์ สวยงาม
Day 15: นำเสนอผลงาน และนำไปอวดชาวโลก
- ทฤษฎี: ทบทวนสิ่งที่เรียนรู้ทั้งหมด
- นำเสนอ: ผู้เรียนแต่ละคนนำเสนอเกม Tower Defense ที่ตัวเองสร้างขึ้น พร้อมอธิบายการนำหลักทางคณิตศาสตร์และฟิสิกส์มาใช้ในเกม
ถ้าทำเกมที่ลงลึก และเก็บรายละเอียดได้ดีก็คว้ารางวัลระดับประเทศได้