แสดงบทความที่มีป้ายกำกับ เรียนสร้างเกมกับมิกิจัง แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ เรียนสร้างเกมกับมิกิจัง แสดงบทความทั้งหมด

26 พฤษภาคม 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 8 โครงเรื่อง (Plot)

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

จากบทที่แล้วเราได้เรียนรู้สิ่งที่สำคัญที่สุดในการเล่นเกมไปแล้ว ต่อจากนี้ไปเรามาเรียนรู้เรื่องการออกแบบเกมกัน การออกแบบเกมมีหลายส่วนที่เราจะต้องออกแบบ เช่น แนวเกม เป้าหมายของผู้เล่น เนื้อเรื่อง เป็นต้น ในการพัฒนาเกมที่มีเนื้อเรื่องนักพัฒนาเกมมือใหม่มักจะให้ความสำคัญไปที่การเขียนเนื้อเรื่องเป็นอันดับแรก สิ่งที่ตามมาหลังจากเขียนเนื้อเรื่องไปได้สักพักคือเนื้อเรื่องตัน เนื้อเรื่องออกนอกที่คิดเอาไว้ หรือเนื้อเรื่องไม่เสมอต้นเสมอปลาย สาเหตุมาจากการเริ่มเขียนเนื้อเรื่องทันทีโดยไม่ได้ออกแบบองค์ประกอบต่าง ๆ ของเนื้อเรื่องก่อน ในบทนี้เราจะมาเรียนรู้เรื่องการออกแบบโครงเรื่องซึ่งเป็นองค์ประกอบหนึ่งของเนื้อเรื่องกัน


ออกแบบโครงเรื่องได้อย่างไร?

โครงเรื่อง (Plot) คือเหตุการณ์ตั้งแต่ต้นเรื่องจนจบเรื่อง โครงเรื่องของเรื่องสั้น นิยาย ภาพยนตร์ และเกมทั่วไปแบ่งออกเป็น 3 ส่วน ได้แก่

1. ต้นเรื่อง - ผูกปมปัญหา ตอนต้นเรื่องตัวละครเอกมีปัญหาอะไรถึงจะทำสิ่งต่าง ๆ ที่จะเกิดขึ้นต่อมาภายหลัง ปมปัญหาเป็นส่วนที่ทำให้ผู้เล่นติดตามเนื้อเรื่อง ผู้เล่นจะลุ้นว่าสุดท้ายแล้วตัวละครเอกจะสามารถแก้ปมปัญหานั้นได้หรือไม่ ในเกมที่มีเนื้อเรื่องปมปัญหาถือว่าเป็นเป้าหมายหลักของผู้เล่น

12 พฤษภาคม 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 7 เป้าหมายของผู้เล่น

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

จากบทที่แล้ว เราได้เรียนรู้หลักการเขียนปัญญาประดิษฐ์กันไปแล้ว ก่อนหน้านั้นเราก็ได้เน้นหนักไปทางคณิตศาสตร์กันแล้ว ที่ผ่านมามีแต่เรื่องยาก ๆ หนักสมองทั้งนั้นเลย มาบทนี้เราจะมาเรียนรู้เรื่องเบาสมองกันบ้างดีกว่า จะว่าเบาสมองเลยก็ไม่เชิง เพราะก็เป็นเรื่องใหญ่ที่นักพัฒนาเกมต้องคิดและออกแบบให้ได้ นั่นคือ "ทำอย่างไรให้ผู้เล่นชอบเกมของเรา?" คำถามนี้เป็นที่ถูกถามเป็นจำนวนมากในกลุ่มนักพัฒนาเกมมือใหม่ วิธีออกแบบเกมให้ผู้เล่นชื่นชอบนั้นมีอยู่มากมายหลายวิธี ซึ่งไม่สามารถอธิบายได้หมดภายในบทเดียว ที่ผ่านมาเราเรียนรู้แต่สิ่งที่สำคัญที่สุดใน "การพัฒนาเกม" (สองเสาหลัก ได้แก่อัลกอริทึมและพื้นฐานการพัฒนาเกม) ในบทนี้เราจะมาเรียนรู้สิ่งที่สำคัญที่สุดใน "การเล่นเกม" กันบ้างดีกว่า


สิ่งที่สำคัญที่สุดในการเล่นเกมคืออะไร?

ลองคิดดูสิว่า เกมบางเกมใช้เวลาเล่นเป็นวัน ทำไมผู้เล่นถึงได้ติดใจมาเล่นเกมได้นานขนาดนั้น? เกมบางเกมใช้เวลาเล่นไม่ถึงครึ่งชั่วโมง ทำไมถึงมีหลายคนชื่นชอบ? เกมบางเกมดูไม่มีอะไรแปลกใหม่เลย แต่ทำไมถึงได้มีแฟนคลับกันนักหนา? ผู้อ่านคิดว่า "สิ่งที่สำคัญที่สุดในการเล่นเกมคืออะไร?" การได้เห็นภาพสวย ๆ, การได้ติดตามเนื้อเรื่องดี ๆ หรือการได้สนุกสนานเพลิดเพลินไปกับเกม ทั้งหมดที่กล่าวมานั้นเป็นสิ่งสำคัญก็จริง แต่ยังไม่ได้เป็นสิ่งที่สำคัญที่สุด สิ่งที่สำคัญที่สุดในการเล่นเกมคือ "ความพยายามในการบรรลุเป้าหมาย"

5 พฤษภาคม 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 6 ปัญญาประดิษฐ์

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

จากบทที่แล้ว เราได้เรียนรู้ขั้นตอนการพัฒนาเกม และได้ลองพัฒนาเกม TicTacToe แบบเล่นสองคนกันไปแล้ว การพัฒนาเกมแบบให้ผู้เล่นที่เป็นมนุษย์หลายคนมาเล่นกันเองนั้นสามารถทำได้ง่าย เนื่องจากเราในฐานะนักพัฒนาเกมทำเพียงแค่เขียนกฎกติกา แล้วให้เกมตรวจสอบว่าผู้เล่นได้เล่นตามกฎกติกานั้นหรือไม่เท่านั้น ในปัจจุบันการเล่นเกมด้วยกันหลายคนได้รับความนิยมเป็นอย่างมาก แต่ก็ยังคงมีอีกหลายคนที่ชอบเล่นเกมคนเดียว การพัฒนาเกมของเราให้สามารถเล่นคนเดียวได้จึงเป็นสิ่งสำคัญ ว่าแต่ "เราจะพัฒนาเกมที่ต้องมีผู้เล่นหลายคนให้เล่นคนเดียวได้อย่างไร?" คำตอบคือเราต้องพัฒนาให้เกมเป็นผู้เล่นอีกคนแทนมนุษย์จริง ๆ ซึ่งการที่เกมสามารถทำหน้าที่แทนมนุษย์นี้เราเรียกว่า "ปัญญาประดิษฐ์"


ปัญญาประดิษฐ์คืออะไร?

ปัญญาประดิษฐ์ (Artificial Intelligence) หมายถึงโปรแกรมที่มีความสามารถเหมือนมนุษย์ ทั้งด้านการคิด การวิเคราะห์ และการวางแผน อย่างที่เคยบอกไปในบทแรกว่าอุปกรณ์ทำงานตามคำสั่ง ดังนั้นการที่จะพัฒนาให้โปรแกรมทำงานเหมือนมนุษย์ได้นั้น เราต้องใส่วิธีการคิด การวิเคราะห์ และการวางแผนลงไปในอัลกอริทึมของคำสั่งด้วย ปัญญาประดิษฐ์มักถูกเรียกสั้น ๆ ว่า AI

28 เมษายน 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 5 มาสร้างเกมแรกกันเถอะ

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

หลังจากที่ได้อ่านเนื้อหาทฤษฎีมา 4 บทแล้ว มาถึงบทนี้ผู้อ่านหลายคนคงอยากลองสร้างเกมจริง ๆ ขึ้นมาบ้างแล้ว ในบทนี้ผู้เขียนเลยจะมาพาผู้อ่านทุกคนมาสร้างเกมแรกกัน ไม่ต้องตกใจไปหรอก บางคนอาจสงสัยว่า "เพิ่งเรียนแค่นิดเดียวจะมีความรู้พอให้สร้างเกมได้หรือ?" คำตอบคือได้แน่นอน การสร้างเกมไม่ต้องใช้ความรู้มากก็ได้ เพียงแค่ทราบพื้นฐานที่จำเป็นก็พอ สิ่งที่สำคัญในการสร้างเกมเลยคือการนำอัลกอริทึมมาประยุกต์ใช้ ในบทนี้เราจะมาสร้างเกม TicTacToe หรือที่เราเรียกภาษาบ้าน ๆ ว่าเกม XO กัน ผู้อ่านก็ลองสร้างเกมนี้ตามไปพร้อม ๆ กันเลย


จะนำตัวอย่างเกมในบทนี้ไปสร้างจริง ๆ ได้อย่างไร?

เนื่องจากบทความ "เรียนสร้างเกมกับมิกิจัง" เป็นบทความเชิงทฤษฎีที่ไม่เจาะจงอุปกรณ์ ภาษาอุปกรณ์ และเกมเอนจินใด ๆ ดังนั้นตัวอย่างเกมในบทความนี้จะใช้ Pseudo Code ในการอธิบายเป็นหลัก ผู้อ่านจะต้องแปลง Pseudo Code เหล่านี้เป็นภาษาอุปกรณ์หรือคำสั่งในเกมเอนจินที่ผู้อ่านใช้เอาเอง ส่วนวิธีแปลง Pseudo Code เป็นภาษาอุปกรณ์หรือคำสั่งในเกมเอนจิน ผู้อ่านต้องศึกษาคำสั่งต่าง ๆ จากบทความที่สอนภาษาอุปกรณ์หรือเกมเอนจินตัวนั้น แล้วเลือกใช้คำสั่งที่คล้ายหรือใกล้เคียงกับ Pseudo Code มากที่สุด ตัวอย่างเกมในบทนี้จะเลือกใช้คำสั่งที่ง่ายสำหรับมือใหม่ เพื่อให้ผู้อ่านสามารถแปลง Pseudo Code ได้ง่ายที่สุด

21 เมษายน 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 4 นิพจน์ (Expression)

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

จากบทที่แล้ว เราได้เรียนรู้วิธีการเขียนอัลกอริทึมแบบต่าง ๆ กันไปแล้ว การเขียนอัลกอริทึมส่วนใหญ่นั้นจะต้องมีการคำนวณเกิดขึ้นด้วย ดังนั้นในบทนี้เราจะมาเรียนวิธีการดำเนินการต่าง ๆ ทางคณิตศาสตร์เพื่อใช้ในการเขียนอัลกอริทึมกัน


ตัวแปรคืออะไร?

ตัวแปร (Variable) หมายถึงค่าที่ถูกเก็บไว้ในหน่วยความจำของอุปกรณ์ สามารถเปลี่ยนแปลงได้ตามที่เราต้องการ ตัวแปรสามารถใช้ประโยชน์ได้หลายอย่าง เช่น นับจำนวนครั้งที่วนลูป, คำนวณเลข, รับข้อมูลจากคีย์บอร์ด, เก็บคะแนนของผู้เล่น เป็นต้น การที่เราจะใช้ตัวแปรได้นั้นเราจะต้องประกาศตัวแปรก่อน การประกาศตัวแปร (Variable Declaration) เราต้องตั้งชื่อที่จะใช้เรียกและกำหนดประเภทของตัวแปรนั้น กฎการตั้งชื่อตัวแปรมีคร่าว ๆ ดังนี้

14 เมษายน 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 3 อัลกอรึทึม (Algorithm)

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

จากบทที่แล้ว เราได้เรียนรู้ว่า "เกมเอนจินคืออะไร?" และผู้อ่านคงได้เลือกเกมเอนจินที่ตนเองสนใจแล้ว ผู้อ่านทราบแล้วว่าการพัฒนาเกมได้จะต้องป้อนคำสั่งให้กับอุปกรณ์ และในการพัฒนาเกมผู้อ่านคงมีความคิดอยู่แล้วว่าอยากจะให้เกมเป็นแบบไหน อยากให้เกมมีรูปร่างหน้าตาอย่างไร แต่ติดปัญหาตรงที่ว่า "เราจะเปลี่ยนความคิดเหล่านั้นเป็นคำสั่งในเกมได้อย่างไร?" ในบทนี้เราจะมาเรียนวิธีการเปลี่ยนความคิดต่าง ๆ ให้เป็นอัลกอริทึมกัน


อัลกอริทึมคืออะไร?

อัลกอริทึม (Algorithm) หมายถึงวิธีการแก้ปัญหาแบบเป็นลำดับขั้นตอน โดยลำดับขั้นตอนนั้นจะต้องมีความละเอียด ชัดเจน และสามารถตีความได้อย่างเดียวเท่านั้น ถ้าลองเปิดหนังสือสอนทำอาหาร ส่วนที่เป็นอัลกอรึทึมคือวิธีการทำอาหาร ในการพัฒนาเกมส่วนที่เป็นอัลกอริทึมคือวิธีการทำงานของเกม จากที่ได้เรียนไปในบทที่ 1 ว่า "อุปกรณ์จะทำงานโดยการอ่านคำสั่ง" ดังนั้นอัลกอริทึมของเกมก็คือวิธีการป้อนคำสั่งให้กับอุปกรณ์นั่นเอง


ทำไมต้องเขียนอัลกอริทึม?

จากที่ได้กล่าวไปตั้งแต่บทที่ 1 แล้วว่า "อุปกรณ์จะทำงานโดยการอ่านคำสั่งทีละบรรทัด" และอัลกอริทึมคือลำดับขั้นตอนในการดำเนินการที่ต้องเขียนเป็นข้อ ๆ ทีละบรรทัด ดังนั้นการเขียนอัลกอริทึมทำให้เราสามารถป้อนคำสั่งให้กับอุปกรณ์ทีละบรรทัดได้อย่างถูกต้อง ถ้าผู้อ่านเขียนอัลกอริทึมไม่ได้ ผู้อ่านก็ป้อนคำสั่งให้กับอุปกรณ์ไม่ได้ เมื่อผู้อ่านป้อนคำสั่งให้กับอุปกรณ์ไม่ได้ ผู้อ่านก็พัฒนาเกมเป็นของตนเองไม่ได้ ต่อให้ผู้อ่านใช้เกมเอนจินที่ใช้งานง่ายแค่ไหนก็ตาม แต่ถ้าผู้อ่านเขียนอัลกอริทึมไม่ได้ ผู้อ่านก็พัฒนาเกมไม่ได้ ดังนั้นอัลกอริทึมจึงเป็นสิ่งสำคัญมากในการพัฒนาเกม

7 เมษายน 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 2 เกมเอนจิน (Game Engine)

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

***จากนี้ไปจะเรียก "การสร้างเกม" ว่า "การพัฒนาเกม (Game Development)"***

จากบทที่แล้ว เราได้เรียนรู้หลักการทำงานของเกม เราได้รู้ว่าอุปกรณ์อ่านคำสั่งทีละบรรทัด และได้รู้ว่าการพัฒนาเกมจะใช้วิธีใส่คำสั่งต่าง ๆ ให้อุปกรณ์อ่านและทำงานตาม การใส่คำสั่งด้วยวิธีตรงคือการเขียนโปรแกรม ซึ่งยังไม่เหมาะสมสำหรับนักพัฒนาเกมมือใหม่ที่ไม่เคยเรียนเขียนโปรแกรมมาก่อน สำหรับนักพัฒนาเกมมือใหม่ผู้เขียนแนะนำให้ใช้เกมเอนจินในการพัฒนาเกม โดยเลือกใช้เกมเอนจินที่ยังไม่ต้องเขียนโปรแกรมอะไรเพิ่มเติมก่อนในช่วงแรก


เกมเอนจินคืออะไร?

เกมเอนจิน (Game Engine) คือโปรแกรมที่เป็นเครื่องมือช่วยพัฒนาเกม โดยเราจะให้คำสั่งง่าย ๆ กับเกมเอนจิน แล้วเกมเอนจินจะนำคำสั่งของเราไปแปลเป็นคำสั่งที่อุปกรณ์เข้าใจได้อีกทีหนึ่ง ซึ่งจะช่วยลดความยุ่งยากในการพัฒนาเกม เกมเอนจินทำหน้าที่เปรียบเหมือนล่ามที่คอยแปลจากภาษาคนเป็นภาษาของอุปกรณ์นั้น ๆ ทำให้เราสามารถพัฒนาเกมได้โดยไม่จำเป็นต้องเรียนรู้ภาษาเครื่องของอุปกรณ์นั้นเลย จึงทำให้การพัฒนาเกมเป็นเรื่องที่ง่ายขึ้น

30 มีนาคม 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 1 ปฐมบท - เกม (Game)

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

มีความฝันอยากสร้างเกมเป็นของตัวเอง แต่ไม่รู้ว่าต้องทำอย่างไร ที่นี่มีคำตอบ......


เกมคืออะไร?

ก่อนจะสร้างคิดจะสร้างเกมสักเกม ต้องตอบคำถามนี้ให้ได้ก่อนว่า "เกมคืออะไร?" เพื่อที่จะได้สร้างเกมได้ตรงตามความหมายและความต้องการของเรา ผู้เขียนเชื่อว่าคนที่เข้ามาอ่านบทความนี้ทุกคนเคยเล่นเกมมาก่อน ว่าแต่เกมคืออะไรกันนะ? ด้านล่างนี้คือตัวอย่างนิยามของคำว่าเกม (Game)

"(N.) An activity that one engages in for amusement or fun." - Oxford Dictionary
"กิจกรรมที่สร้างความบันเทิงหรือความสนุกสนาน"
"(N.) an entertaining activity or sport, especially one played by children, or the equipment needed for such an activity: a board game, indoor/computer games" - Cambridge Dictionary
"กิจกรรมบันเทิงหรือกีฬา, มักถูกเล่นโดยเด็ก, หรืออุปกรณ์ที่ใช้ในการทำกิจกรรม เช่น เกมกระดาน, เกมในร่ม, เกมคอมพิวเตอร์"
"น. การแข่งขันที่มีกติกากำหนด เช่น เกมกีฬา, การเล่นเพื่อความสนุก เช่น เกมคอมพิวเตอร์, การแสดงเพื่อสาธิตกิจกรรม เช่น เกมการบริหาร, โดยปริยายหมายถึงการแสดงที่ใช้กลวิธีหรือเล่ห์เหลี่ยมเพื่อหักล้างกัน เช่น เกมการเมือง, ลักษณนามเรียกการแข่งขันหรือการเล่นที่จบลงด้วยการแพ้ชนะกันครั้งหนึ่ง ๆ เช่น เล่นแบดมินตัน ๓ เกม. (อ. game)." - พจนานุกรมฉบับราชบัณฑิตสถาน พ.ศ.2554
"กิจกรรมที่สร้างความสนุกสนานให้กับผู้เข้าร่วมกิจกรรม" - ผู้เขียน