Categories
Kodu

เกม Kodu กินแอปเปิ้ล

มาลองสร้างเกมง่ายๆ ด้วยโปรแกรม Kodu กัน ในเกม Kodu กินแอปเปิ้ล (Kodu เป็นทั้งชื่อโปรแกรม และตัวละครตัวหนึ่งในโปรแกรม)

เริ่มต้นด้วยการสร้างพื้นที่สำหรับเล่นเกมก่อน จากนั้นใส่ตัวละครเอก Kodu พร้อมกับผลแอปเปิ้ลแดงอีก 6 ลูก ใส่ต้นไม้เข้าไปอีกซักหน่อยเพิ่มสีสันให้กับสิ่งแวดล้อม

Game - Kodu eat Apples

เมื่อจัดวาง Kodu แอปเปิ้ล ต้นไม้ เรียบร้อยแล้ว ก็ต้องใส่โค้ดให้กับตัว Kodu โดยเป้าหมายของเกมนี้ คือ ให้ผู้เล่นบังคับ Kodu ไปเก็บผลแอปเปิ้ลให้ได้ 5 ลูก ก็จะเป็นผู้ชนะทันที (ง่ายไปป่ะ)

เนื่องจากแอปเปิ้ลกับต้นไม้ไม่ได้ทำอะไร ดังนั้นจึงใส่โค้ดให้กับ Kodu เท่านั้น

Kodu Code

การเขียนโปรแกรมใน Kodu ใช้วิธีคลิกเลือกไอคอน เพื่อสร้างเป็นคำสั่ง โดยแต่ละคำสั่งจะมีเลขกำกับไว้ด้านหน้า (มีทั้งหมด 5 คำสั่งในตัว Kodu )

สองคำสั่งแรกเป็นการกำหนดให้ตัว Kodu เคลื่อนที่ (move) เมื่อผู้เล่นใช้ จอยสติ๊กด้านซ้ายของเกมแพดบังคับ (คำสั่งที่ 1) หรือใช้คีย์ลูกศรบนคีย์บอร์ดบังคับ (คำสั่งที่ 2)

คำสั่งที่ 3 และ 4 ทำงานต่อเนื่องกัน เมื่อ Kodu ไปชน (bump) กับผลแอปเปิ้ล ก็ให้ Kodu กิน (eat) มัน (it) ในคำสั่งที่ 3 แล้วก็เพิ่มคะแนน (score) ให้ผู้เล่น 1 คะแนน ในคำสั่งที่ 4

ในคำสั่งที่ 5 กำหนดว่าเมื่อผู้เล่นทำคะแนนได้ 5 คะแนน ผู้เล่นเป็นฝ่ายชนะ (win)

คงพอเห็นภาพการเขียนโปรแกรมใน Kodu กันแล้ว ว่าง่ายจริงๆ รูปต่อไปแสดงการเล่นเกม โดยผู้เล่นทำคะแนนไปแล้ว 3 คะแนน (แสดงอยู่มุมขวาบน)

Score 3 in Game

เมื่อผู้เล่นทำคะแนนได้ 5 คะแนน ก็ชนะ

Win Game

Categories
Kodu

สร้างเกมด้วยโปรแกรม Kodu

การสร้างเกมมีหลายขั้นตอน แต่พอแบ่งได้สองส่วน คือการออกแบบเกม และการกำหนดกลไกในการเล่นเกม

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

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

นอกจากเป้าหมายของเกมแล้ว เกมต้องมีกฎกติกา มีวิธีการให้คะแนน มีหลายๆ ด่าน (Game Levels) เพื่อเพิ่มความท้าทายให้ผู้เล่น และถ้าเกมยาวมากอาจใช้วิธีเล่าเรื่องประติดประต่อเรื่องราวในแต่ละฉาก เพื่อสร้างความตื่นเต้นเร้าใจให้ผู้เล่นติดตามเกมต่อ

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

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

ดังนั้นการเขียนโปรแกรมให้แต่ละตัวละคร จะมีลักษณะเป็นรายการหลายๆ รายการเรียงต่อกันมา โดยในแต่ละรายการจะประกอบด้วย เหตุการณ์ที่ตัวละครนั้นเฝ้ารอให้เกิดขึ้น ตามด้วยการตอบสนองต่อเหตุการณ์จากตัวละครนั้น

List of commands in Kodu

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

เพื่อให้เห็นภาพในการเขียนโปรแกรม คราวหน้ามาลองเขียนเกมง่ายๆ กัน

Categories
Kodu

โลกของเกม 3 มิติ ใน Kodu

Kodu มีสภาวะแวดล้อมเป็นแบบ 3 มิติ ที่สามารถควบคุมทิศทางการเคลื่อนที่ในเกมได้ด้วยเมาส์ (ในโหมดการเคลื่อนที่ของกล้อง รูปมือด้านล่างของโปรแกรม) มุมบนซ้ายของโปรแกรม แสดงการใช้เมาส์ในการสำรวจโลกของเกม 3 มิติ 

Kodu using mouse

หรืออีกวิธีหนึ่ง คือใช้เกมแพด (ความเห็นส่วนตัว รู้สึกว่าง่าย สะดวกรวดเร็วกว่าการใช้เมาส์) มุมบนซ้ายของโปรแกรม จะแสดงการใช้เกมแพดแทน

Kodu using gamepad

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

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

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

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

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

พูดไปอาจไม่เห็นภาพหรือไม่เข้าใจ อย่างนี้ต้องทดลองเองนะครับ ถ้ามีเกมแพดด้วย จะสามารถเปรียบเทียบความรู้สึกในการใช้งานเทียบกับเมาส์ได้ เกมแพดน่าจะเป็นจุดแข็งจุดหนึ่งสำหรับเกม Kodu ทีเดียว

Categories
Kodu

โปรแกรมเขียนเกม Kodu

Imagine Cup เป็นการประกวดแข่งขันการพัฒนาโปรแกรมในหลายๆ ด้าน จัดโดย Microsoft เป็นงานใหญ่ทีเดียว แข่งขันโดยตัวแทนจากหลายๆ ประเทศ และเมื่อผลการแข่งขันในปี 2012 ออกมาเมื่อไม่นานมานี้ ทีมแตงไทย ของเด็กไทยจากรั้วมหิดล คณะ ICT ก็ได้รางวัลชนะเลิศในการเขียนเกม ก็ขอแสดงความยินดีด้วยนะครับ

เมื่อพูดถึงโปรแกรมที่ใช้ในการเขียนเกม ก็ทำให้นึกถึงโปรแกรม Kodu จากค่าย Microsoft ซึ่งเป็นโปรแกรมให้ใช้ฟรี !

Kodu overview

ในการอบรม Scratch ที่ผ่านมา ก็ได้ทำความรู้จักกับโปรแกรมนี้จากครูท่านหนึ่ง ช่วงนี้ก็ได้เรียนรู้ ทดลองเล่นและสนุกไปกับมัน เนื่องจากการสร้างเกมใน Kodu ใช้การคลิกไอคอน (icon-based) เป็นหลัก ตั้งแต่ออกแบบโลกของเกม ตัวละครในเกม รวมถึงการเขียนโปรแกรม เราอาจต้องการคีย์บอร์ดบ้าง ในกรณีที่ต้องการพิมพ์ข้อความ

สิ่งหนึ่งที่หน้าสนใจกับโปรแกรมนี้ ก็คือนอกจากจะเขียนเกมด้วยเมาส์และคีย์บอร์ดแล้ว เราสามารถใช้เกมแพด (Gamepad) ในการเขียนเกมได้ คนที่ถนัดใช้เกมแพดจะสามารถสร้างเกมได้อย่างสะดวกรวดเร็ว และให้ความรู้สึกเหมือนเล่นเกมไปด้วยเลย

การลงโปรแกรมก็ไม่ยุ่งยาก ไปที่เว็บไซต์ของ Kodu หรือคลิกลิงค์ดาวน์โหลดโปรแกรม Kodu Game Lab ในการติดตั้งโปรแกรมนี้ จะต้องติดตั้ง .NET Framework 3.5 และ XNA Framework 3.1 ก่อน ดังนั้นในระหว่างการติดตั้งโปรแกรม Kodu จะมีการตรวจสอบเครื่องที่กำลังติดตั้งโปรแกรมอยู่ ว่ามีโปรแกรมดังกล่าวหรือไม่ ถ้าไม่มี โปรแกรมจะให้เราติดตั้งไปพร้อมๆ กันเลย

พร้อมแล้ว Kodu ลุย!Kodu ตัวละคร