2D Game Development with PyGame



รายละเอียด

2D Game Development with PyGame

มาแล้ว! 2D Game Development with PyGame คอร์สพัฒนาเกม 2D ด้วย PyGame เขียนโปรแกรมด้วยภาษา Python โดยคอร์สนี้ลุงจะแนะนำคอนเซ็ปการสร้างเกม 2 มิติตั้งแต่เริ่มต้นไปจนเขียนเกมพื้นฐานได้หลายๆเกม นอกจากการเขียนโปรแกรมแล้วยังมีการสอดแทรกเรื่องพื้นฐาน Game Design หรือการออกแบบเกมว่าเป็นอย่างไร โดยความรู้ในคอร์สนี้สามารถต่อยอดไปสู่การพัฒนาวิดีโอเกมแบบ 3D ได้ในอนาคต

มารู้จัก PyGame กันเลย เจ้า PyGame เป็นไลบรารีของภาษา Python หรือ แพ็คเกจ หรืออธิบายง่ายกว่านั้นคือ ชุดโค้ดโปรแกรมที่พร้อมใช้งาน สำหรับการพัฒนาเกม 2 มิติ โดยใน PyGame จะมีฟังชั่นต่างๆที่สามารถนำมาใช้สร้างเกมได้เลยเช่น ฟังชั่นลูปของเกม ฟังชั่นตรวจจับคีย์บอร์ด ฟังชั่นโหลดเสียง ฟังชั่นทำภาพแอนิเมชั่นเพื่อให้ตัวละครเคลื่อนไหว ฟังชั่นโหลดภาพ แสดงข้อความ และอื่นๆ ที่สามารถประยุกต์ใช้สำหรับการสร้างเกม 2 มิติได้

โดยคอร์สนี้ลุงจะสอนตั้งแต่พื้นฐาน Python ไปจนสามารถออกแบบเกมและเขียนเกมอย่างง่ายได้ ผู้เรียนจะได้รับความรู้เพื่อนำไปต่อยอดในการเขียนโปรแกรมขั้นสูง สามารถนำไปต่อยอดในการเขียนเกมประเภทวิดีโอเกมได้ และหลังจากเรียนจบคอร์สแล้ว ลุงจะแนะนำการเขียนวิดีโอเกมในรูปแบบ 3D ในเบื้องต้นโดยจะแนะนำคอนเซปต์สำหรับการต่อยอดพัฒนาเกมด้วย Unreal Engine ว่าจะเริ่มต้นอย่างไร ไม่ว่าจะเป็นการปั้นโมเดล 3D สำหรับใช้ในเกม การเขียนโปรแกรมเบื้องต้น และความรู้ที่เกี่ยวข้องสำหรับการพัฒนาเกม ไปจนคอนเซปต์ด้าน Network สำหรับการเขียนเกมออนไลน์

<<Part 0 Basic Python>>
- พื้นฐาน Python ตั้งแต่ 0 จนถึงระดับที่เพียงพอสำหรับพัฒนาเกม

<<Part 1 Introduction to PyGame>>
- Install python and pygame in IDE
- pygame import and init ( pygame.init() )
- การสร้าง Basic pygame Program
- import pygame และ libraries ต่างๆ
- pygame.init()
- pygame.display.set_mode((screen_width, screen_height))
- while true game loop
- quit event to exit the while true loop
- background color fill with rgb color or imported background image
- draw shape with pygame.draw.circle(surface, color, center, radius)
- update the renderer engine with pygame.display.update() or pygame.display.flip()
- load assets sprite and sound effect
- Draw Assets to game with pygame.blit
- bind keyboard and mouse
- Showcase games made with Pygame

<< Part 2 Pygame Concepts: PyGame: A Primer on Game Programming in Python >>
- การเขียน Program แบบ OOP: Class and inheritance ( super().__init__() )
- อธิบาย Display and Surfaces, Images and Rects

<< Part 3 Games List + Expected lessons to learned >>
เกมที่จะสอนสร้างใน Course เรียน ได้แก่ (เรียงลำดับจากความง่ายไปยาก)

> Snake game เกมงู
- Drawing Grid in pygame ทำตารางหมากรุกใน GUI
- Basic Player input ( รับค่าการควบคุมด้วย Arrrow key)
- Python Array เก็บค่าความยาว ขนาด ของตัวงูโดยใช้ Array ( งูกินจุด Member ใน Array เพิ่มขึ้น งูตัวจะยาวขึ้น)
- Basic Collision Detection เมื่องูชนตัวเอง Gameover

> เกม Pong
- Set Position and movement of pygame.Rect (Paddle 2 ข้าง และ Ball)
- Paddle and ball movement คำนวนว่าจะให้ ball ขยับอย่างไรเมื่อสะท้อนจาก Paddle
- Collision เมื่อ Ball ชน Paddle
- การนับคะแนนเบื้องต้น + การเปลี่ยน Text Score
- pygame.sound.mixer() เล่นเสียง Sound Effect เบื้องต้น

> เกม Flappy Bird PyGame
- Drawing Sprite Render ภาพตัวนกและท่อในเกม
- Collision Detection นกชนท่อ = Gameover
- Scrolling Background Image พื้นและภาพ Background มีการเลื่อนจากขวาไปซ้าย
- Game Physics การบินของนก, แรงโน้มถ่วง
- Random Level Generator (สุ่มความสูงและความห่างของท่อ)
- Score Counter เมื่อนกผ่านท่อไปได้ Score += 1
- Sound Effect และ Background Music

> เกม ShootemUp
- In-Depth Game Mechanic

> Platformer Game
- Platformer Physics and Movement Mechanic
- UseTiled for level design

<<< Part 4 Game Design Breakdown และสรุป Concept ของเกมที่จะสร้าง >>>

> Concept ของเกม Platformer
- Player ต้องเคลื่อนที่จาก ข้างซ้ายไปขวา ex. Mario, ข้างล่างขึ้นข้างบน ex. Doodle Jump
- Movement กระโดด วิ่ง เก็บ Item
- ผ่านด่าน โดยการเดินจากจุดเริ่มต้นไปเป้าหมายของเกม หรือ จุด A ไป จุด B
- วิเคราะห์เกม Super Mario ว่าสร้างอย่างไร มีการออกแบบเป็นอย่างไร

> Concept ของเกม Platformer
- ตัวอย่างเกม SHMUPS Galaga, Space Invader, 1942, Twinbee
- Theme ของเกมส่วนใหญ่เป็นเกมขับเครื่องบินยิง เครื่องบินฝั่งศัตรูที่เคลื่อนที่จากข้างบนลงมาข้างล่าง
- มีการเก็บ Item เพื่อ Benefit ต่อตัว Player เช่น DPS สูงขึ้น, Extra Life and etc.

<<< Part 5 PyGame + Hardware >>>
- ทดลองสร้างเกมที่สามารถเชื่อมต่อกับอุปกรณ์ได้
- การเชื่อมต่อ joystick กับคอมพิวเตอร์เพื่อใช้ควบคุมเกม
- ตัวอย่างการเขียนเกมบน Raspberry Pi + สร้างปุ่มกดเพื่อควบคุมเกม

<<< Part 6 PyGame + Network = 2D Game Online >>>
- พื้นฐานการเขียนโปรแกรมด้าน Network
- เขียนเกม 2D แข่งกับเพื่อนใน network เดียวกัน
- เตรียม server สำหรับสร้าง game online
- เขียนเกม 2D ที่สามารถเล่นกับเพื่อนผ่าน internet ได้

<<< Part 7 Introduction to Video Game >>>
- แนะนำการพัฒนาวิดีโอเกมแบบ 3D ด้วย Unreal Engine

คอร์สนี้เรียนทั้งหมด 40 ชั่วโมง+ ยาว 20 สัปดาห์ (สัปดาห์ละ 2 ชั่วโมง) ในราคาถูกที่มาก นักเรียนประถม-มัธยม ปวช ปวส 100 บาท นักศึกษาป.ตรี-ป.เอก ครู อาจารย์ บุคคลากรทางการศึกษา 200 บาท บุคคลทั่วไป 500 บาท (มีบัตรคนพิการ เรียนฟรี! แนบบัตรคนพิการแทนสลิปได้เลย ปิดเลขบัตรประชาชน) (วัยเกษียณ 60ปี+ เรียนฟรี แนบบัตรประชาชนแทนสลิปได้เลย ปิดเลขบัตรประชาชน ห้ามแอบอ้างนะ ลุงจะสุ่มโทรไปถามความคืบหน้าการเรียน 555)

สมัครผ่านลิ้งค์นี้ https://www.uncle-engineer.com/course/pygame หรือสแกน QR ตามโปสเตอร์

เรียนทุกวันจันทร์เวลา 19.00 - 21.00 น. ในกลุ่มเฟสบุ๊ค
เริ่มคลาสแรกวันที่ 7 พฤศจิกายน 2565 (ดูย้อนหลังได้ทุกตอน)
ชำระค่าใช้จ่ายผ่านทางบัญชีนี้ช่องทางเดียวเท่านั้น
----------------------------
บัญชี ออมทรัพย์ ธนาคารกรุงเทพ สาขา สยามพารากอน
ชื่อบัญชี: บริษัท คอนส์ โรโบติกส์ จำกัด
เลขบัญชี: <<<< 855-0-65158-5 >>>>
----------------------------
ขั้นตอนการสมัคร [โอนเงิน]
1- ชำระค่าใช้จ่ายตามประเภทที่สมัคร
2- กรอกรายละเอียดทางฟอร์มสมัครพร้อมแนบสลิป
3- รอรับอีเมลยืนยันภายใน 24 ชั่วโมง (หากเกินให้ทัก inbox ทางเพจลุง เพราะอีเมลของท่านอาจพิมพ์ผิด)

ปล. ตัวอย่างเกมที่ลุงเคยสอนในยูทูป
- ลุงสอนเขียน “เกมงู Nokia 3310” ด้วย Python (2:50 ชั่วโมง) : https://www.youtube.com/watch?v=erczw3GqCDA
- Basic PyGame (8:50 ชั่วโมง): https://www.youtube.com/watch?v=XhJ2YqH4OJk
- เขียนเกม 3D ด้วย Panda3D (Python): https://www.youtube.com/watch?v=1yvhs_DBUeA
- ตัวอย่างวิดีโอเกมที่พัฒนาด้วย Unreal Engine: https://www.youtube.com/watch?v=Ac-OU3gcdGE

-------------------

ราคาปกติ:

1,000 บาท

ส่วนลดบุคคลทั่วไป ลด 50% เหลือ:

500 บาท

ส่วนลดนักศึกษา ป.ตรี - ป.เอก ครู อาจารย์ บุคลากรการศึกษา ลด 80% เหลือ:

200 บาท

ส่วนลดนักเรียน ประถม-มัธยม ปวช-ปวส. ลด 80% เหลือ:

100 บาท


สมัครเรียนกรอกแบบฟอร์มทางนี้

กรอกข้อมูลแล้ว
จำเป็นต้องกรอก
กรอกข้อมูลแล้ว
จำเป็นต้องกรอก
กรอกข้อมูลแล้ว
จำเป็นต้องกรอก
กรอกข้อมูลแล้ว
จำเป็นต้องกรอก

เฉพาะนักเรียน นักศึกษา ครู อาจารย์ บุคลากรทางการศึกษา
จำเป็นต้องอัพโหลด

วิธีการชำระเงิน
โอนผ่านธนาคาร
บัญชี ออมทรัพย์ ธนาคารกรุงเทพ สาขา สยามพารากอน
ชื่อบัญชี: บริษัท คอนส์ โรโบติกส์ จำกัด
เลขบัญชี: 855-0-65158-5
โอนผ่าน Promptpay
0105561008411 ชื่อบัญชี: บริษัท คอนส์ โรโบติกส์ จำกัด
Scan QR Code ผ่าน app ธนาคาร
อัพโหลดแล้ว
จำเป็นต้องอัพโหลด