บทท่ี 1 แนะนํา Game Design และ Kodu Game lab กจิ กรรมท่ี 1.1 แนะนําตวั เอง กจิ กรรมท่ี 1.2 แนะนํา Kodu Game Lab กจิ กรรมท่ี 1.3 เกมคืออะไร กจิ กรรมท่ี 1.4 Kodu Gameบทท่ี 2 พืน้ ฐานโปรแกรมม่งิ กจิ กรรมท่ี 2.1 แนะนําภาษาโปรแกรมม่งิ ของ Kodu กจิ กรรมท่ี 2.2 การแก้ไข Tutorial 2 และ 3 กจิ กรรมท่ี 2.3 ทาํ ความรู้จักกบั Bot และ Object กจิ กรรมท่ี 2.4 การใช้ Programming Bots กจิ กรรมท่ี 2.4 การสร้าง bot สองตวับทท่ี 3 กระบวนการออกแบบอย่างไม่เป็ นทางการ กจิ กรรมท่ี 3.1 ระดมสมองลองไอเดีย กจิ กรรมท่ี 3.2 ไอเดยี ดีๆ สาํ หรับเกม กจิ กรรมท่ี 3.3 ตัวอย่างของโรงเรียน และกรณีตัวอย่างบทท่ี 4 การสร้าง Game World กจิ กรรมท่ี 4.1 การออกแบบ Game Space กจิ กรรมท่ี 4.2 การสร้าง Design Pattern และ Recipe กจิ กรรมท่ี 4.3 ทาํ ความรู้จักกับ Game Space Patternsบทท่ี 5 ใช้งาน Game Design Patterns กจิ กรรมท่ี 5.1 Game Progress Patterns กจิ กรรมท่ี 5.2 Game Play Patterns กจิ กรรมท่ี 5.3 Game Information Design Patternsบทท่ี 6 ใช้งาน Game Design Approach กจิ กรรมท่ี 6.1 กจิ กรรมท่ี 6.2บทท่ี 7 ขัน้ ต่อไป
บทนํา Kodu Game Lab คือโปรแกรมช่วยเขียนโปรแกรมมิ่งที่ชว่ ยให้คณุ สร้างเกมสามมิติ (3D) ได้เอง แม้จะไมม่ ีพืน้ ความรู้เร่ืองการเขียนโปรแกรมเลยกต็ าม Kodu มีไอคอนท่ีคอยควบคมุ คาแรคเตอร์ (Character) และออ็ ปเจค (Object) ตา่ งๆ ด้วยการสงั่ ให้คาแรคเตอร์แสดงพฤติกรรมออกมาในรูปแบบท่ีจบั ต้องได้ คอร์สนีอ้ อกแบบมาเพ่ือให้ครูท่ีต้องการนําวชิ า Game Design มาใช้กบั กิจกรรมในห้องเรียน หลงั การอบรม ผ้เู รียนจะได้รู้จกั กบั Kodu Game Lab และสาธิตให้นกั เรียนของตนเองเข้าใจวา่ ใครๆ ก็สามารถสร้างเกมที่น่าตื่นตาตื่นใจได้ คอร์สนีค้ รอบคลมุ ทกั ษะที่ต้องใช้ในการออกแบบ สร้างโลกสมมติและเกมด้วย Kodu Game Lab รวมทงั้ สามารถวเิ คราะห์หรือติดตามกระบวนการออกแบบ ตลอดจนแนะนําวา่ ครูผ้สู อนสามารถนํา Kodu ไปใช้กบั หลกั สตู รของโรงเรียนได้อยา่ งไรด้วย ด้วยความสามารถในการออกแบบและสร้างเกมได้ด้วยตนเอง ผ้เู รียนจะสามารถสร้างเกมท่ีนา่ สนใจและมีความดงึ ดดู ผ้เู ลน่ ได้ ด้วยการใช้เทคนิคง่ายๆ เพียงไมก่ ี่ขนั้ ตอนของโปรแกรมนี ้ประโยชน์ ท่ีจะได้ รับจากหลักสูตรนี ้ • ชว่ ยให้ผ้เู รียนสามารถเขียนโปรแกรมสง่ั การให้แก่คาแรคเตอร์และออ็ ปเจคได้ • ชว่ ยให้ผ้เู รียนสร้างโลกสามมิตไิ ด้ • แนะนําองค์ประกอบหลกั ของการออกแบบเกมได้ • มอบตวั อยา่ งของ code ที่มีหลากหลายรูปแบบ • มอบตวั อยา่ ง game play ที่มีหลากหลายรูปแบบ • สร้างตวั อยา่ งการใช้ Kodu Game Lab ในโรงเรียนได้ • มอบความชว่ ยเหลอื ได้ตรงเวลาเพ่ือให้ผ้เู รียนมนั่ ใจในการใช้งาน Kodu Game LabหมายเหตุKodu Game Lab ยงั เป็นโปรแกรมท่ีกําลงั พฒั นาอยู่ ตวั อยา่ งตา่ งๆ ในเอกสารฉบบั นีจ้ ะต้องใช้งานบนเวอร์ชนั่ 1.48 ซง่ึ เป็นเวอร์ชนั่ ลา่ สดุ ของ Kodu Game Lab ในขณะนี ้หากคณุ ใช้งานเวอร์ชนั่ อ่ืนที่ต่ํากวา่ โปรดตรวจสอบที่ http://media.planetKodu.com/workshop/resources.html เพื่ออพั เดตและเรียกดเู อกสารประกอบการอบรมเอกสารฉบบั นีม้ ีไว้สาํ หรับผู้ให้การอบรมนักเรียน ผู้สอนจะมีบนั ทกึ ย่อปรากฏในกรอบโดยตลอด แต่กรอบนีจ้ ะไม่ปรากฏในเอกสารฉบับผู้เรียน 1
บทท่ี 1แนะนํา Game Design และ Kodu Game labกจิ กรรมท่ี 1.1 แนะนําตัวเองใช้กิจกรรมนีเ้พื่อให้สมาชิกในกลมุ่ ทําความรู้จกั กนั ใช้เวลา 10 นาทีเพ่ือให้แตล่ ะคนสร้างคาแรคเตอร์ของตวั เองและใช้เวลาอีก10 นาทีเพ่ือให้แตล่ ะคนแบง่ ปันคาแรคเตอร์กบั คนอื่นๆ ในกลมุ่สมมตวิ า่ คณุ เป็ นคาแรคเตอร์ในเกม (Game Character) คณุ ต้องการให้คาแรคเตอร์มีลกั ษณะอยา่ งไรช่ือ ________________________________________________________________พาวเวอร์ (Power) ________________________________________________________________ระบุลักษณะพเิ ศษของคาแรคเตอร์ของคุณ 3 อย่าง:________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________วาดภาพคาแรคเตอร์ ของคุณลงในกรอบ 2
กจิ กรรมท่ี 1.2 แนะนํา Kodu Game Labประเดน็ สําคญั : • Kodu เหมาะสาํ หรับการพฒั นาเกมแบบเร่งดว่ น โดยใช้อินเทอร์เฟสและภาษาที่ง่ายตอ่ การใช้งาน • Kodu ใช้ภาษาโปรแกรมมงิ่ ที่เป็ นรูปไอคอนหรือสญั ลกั ษณ์ให้เข้าใจได้ง่ายๆ • Kodu เหมาะสาํ หรับเกมขนาดเลก็ ในกิจกรรมนี ้เราจะลองสาํ รวจ Kodu Game Lab กนั ก่อน ในเรื่องของวตั ถปุ ระสงค์และสงิ่ ที่ได้พฒั นาเอาไว้ให้ในโปรแกรม ใช้เนือ้ ท่ีด้านลา่ งตอ่ ไปนีเ้พ่ือบนั ทกึ รายละเอียดสําคญั เก่ียวกบั Kodu Game Lab________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________กจิ กรรมท่ี 1.3 เกมคืออะไรถามสมาชิกในกลมุ่ วา่ ชอบเลน่ เกมอะไรมากท่ีสดุ 5 เกม แนะให้พวกเขาเขียนรายช่ือเกมในแตล่ ะหมวดที่แตกตา่ งกนัตวั อยา่ งเช่น เกมประเภท Sport Game เกมประเภท Board Game หรือ เกมประเภท Computer Game เป็นต้น เม่ือแตล่ ะคนได้เขียนรายชื่อแล้ว ให้ผ้เู รียนหาคําตอบวา่ แตล่ ะเกมมีอะไรท่ีเหมือนกนั และอะไรที่ทําให้เกมเหลา่ นีท้ ํางานได้ ใช้ Diamond 9เพื่อแสดงปัจจยั สาํ คญั เก่ียวกบั สง่ิ ที่สร้างเกม โดยปัจจยั สําคญั จะอยตู่ ําแหนง่ บนสดุควรแลกเปลย่ี นความคิดเหน็ กนั เมื่อจบกิจกรรมนี ้ประเดน็ สําคญั : • เกมเน้นท่ีความสนกุ สนาน • เกมต้องมีกฎ • เกมต้องมีวตั ถปุ ระสงค์ / เกมต้องมีผ้ชู นะและผ้แู พ้ • ผ้เู ลน่ เกมต้องตดั สนิ ใจและต้องมีทกั ษะอยา่ งใดอยา่ งหนง่ึ เพ่ือเลน่ เกม • เกมคือประสบการณ์ 3
ในกิจกรรมนี ้เราจะมาดกู นั วา่ จะสร้างเกมขนึ ้ ได้อยา่ งไรเขียนเกม 5 อยา่ งท่ีคณุ ชอบเลน่______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ลองคดิ เกี่ยวกบั เกมที่คณุ ได้เขียนไว้ แล้วระบปุ ัจจยั สาํ คญั ในการสร้างเกมเหลา่ นนั้ ขนึ ้ มาได้ ใช้กราฟ Diamond 9 ตอ่ ไปนีเ้พ่ือจดั ระเบียบความคิดของคณุ โดยที่ปัจจยั แรกที่สําคญั ที่สดุ ต้องอยใู่ นกรอบบนสดุ ของ Diamond 4
“หากคณุ เคยเขียน Software Subroutine แล้วพบวา่ ต้องเจอ arguments มากกวา่ 10 arguments ลองกลบั ไปดอู ีกที คณุ อาจจะลืมอะไรบางอยา่ งไป” Alan Kay “เกมคือกิจกรรมแก้ปัญหา ที่ซงึ่ เข้าถงึ ได้ด้วยความคดิ ที่สนกุ สนาน” Jesse Schellกจิ กรรมท่ี 1.4 Kodu Gamesกิจกรรมนีอ้ อกแบบมาเพ่ือให้ผ้เู รียนได้ค้นพบรูปแบบตา่ งๆ ของเกมที่สามารถสร้างขนึ ้ ด้วย Kodu Game Lab และระบไุ ด้วา่อะไรท่ีทําให้เกมเหลา่ นีม้ ีความสนกุ สนาน ใช้เวลา 15 นาที สาํ หรับการเลน่ เกม และอีก 5 นาทีสาํ หรับบนั ทกึ ผลการเลน่ จากนนั้ใช้เวลา 10 นาทีสาํ หรับการอภิปรายซกั ถาม ใช้ “Kodu Game” PowerPoint เพ่ือแสดงเกมบางอยา่ งท่ีสร้างจาก Xbox Koducommunityเน่ืองจากตวั อยา่ งมี quick play ของ Bonk Out 18 และอภิปรายวตั ถปุ ระสงค์ กฎ และเหตผุ ลวา่ ทําไมเกมถงึ สนกุ สนานไว้แล้ว Kodu Game Lab มีโลกสมมติ (World) ที่รวมเกมเอาไว้อยปู่ ระมาณ 50 แหง่ ในกิจกรรมนี ้เราจะสาํ รวจ worldเหลา่ นีแ้ ละเกมตา่ งๆ เพื่อเรียนรู้วา่ อะไรท่ี Kodu Game Lab สามารถสร้างได้ และเราต้องใช้อะไรบ้างเพ่ือสร้างเกมขนึ ้ มาโดยใช้โปรแกรม Kodu Game Lab 5
ตวั อย่างการสาํ รวจเกมช่ือเกม: Bonk-Out v18วัตถุประสงค์: ทําลายปราสาทในขณะท่ีปกป้ องไม้ (Stick) ของคณุ ไว้กฎ: ใช้ป่ มุ ใดป่ มุ หนง่ึ เพื่อปลอ่ ยจกั ร หรือใช้ Push Bot เพ่ือปลอ่ ยได้เชน่ กนั กงจกั รจะทําลายทกุ อยา่ ง ยกเว้นตวั ผ้เู ลน่ ผ้เู ลน่ สามารถควบคมุ ให้จกั รพงุ่ ไปตรงไหนกไ็ ด้โดยควบคมุ ทศิ ทางการเด้งของจกั รทาํ ไมจงึ สนุก: เกมนีง้ า่ ยตอ่ การเข้าใจเพราะมีพืน้ ฐานเหมือนกบั เกมBreakout ที่คนสว่ นใหญ่รู้จกั เกมนีม้ ีความ สนกุ ตรงท่ีเป็นเกมที่เคลื่อนไหวอยา่ งรวดเร็ว และจะสนกุ มากขนึ ้ เม่ือเลน่ ไปนานๆสาํ รวจเกมท่ีคุณชอบช่ือเกม: _________________________________________________________________________วัตถุประสงค์: _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________กฎ: _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ทาํ ไมจงึ สนุก: _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ 6
บทท่ี 2พนื้ ฐานโปรแกรมม่งิกจิ กรรมท่ี 2.1 แนะนําภาษาโปรแกรมม่งิ ของ Kodu ในกิจกรรมนีเ้ราจะเขียนโปรแกรมแรกโดยใช้ Kodu Game Lab กนั Kodu Game Labมี Tutorial พืน้ ฐานอยู่ 3 อยา่ งและเราจะเรียนรู้ทงั้ หมดในกิจกรรมนี ้สาธติ Tutorial 1 และวธิ ีการแก้ไขปัญหาประเดน็ สาํ คญั :การแสดงด้วยสญั ลกั ษณ์ และบอกวา่ เม่ือไรควรต้องใช้ข้อความเพ่ือนิยามคา่ ของภาษาโปรแกรมมง่ิไฮไลต์ตรงเมนู Help ที่อยใู่ นเกม ซง่ึ แสดงให้เหน็ วา่ มี Key และ button ใดบ้างที่สามารถใช้เพ่ือสง่ั การโปรแกรมและเข้าถงึหน้าจอและ toolbar ตา่ งๆ ได้บันทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ใช้งาน Tutorial 11. เปิ ด Tutorial 1 worldKodu Bot จะบอกคณุ วา่ “I want to visit the castle.”2. กด ESC บนแป้ นคีย์บอร์ดหรือป่ มุ Start บน controller เพ่ือแก้ไข world 7
3. เลอื กไอคอน “Add and Program Objects” จาก toolbar โดยจะมีหน้าตาแบบนี ้4. เลอื กคาแรคเตอร์โดยคลกิ ขวาหรือเลือก Y บนแป้ น gamepad จากนนั้ คาแรคเตอร์จะเรืองแสงเป็นสีเหลอื งและจะปรากฏediting menu ขนึ ้ มา5. คลกิ Program Bots code จะปรากฏขนึ ้ มา และคณุ จะมีทางเลือก 2 ทางในการแก้ไข line 1 บน code ที่มีอยู่ หรือ เพม่ิ line ใหมเ่ ข้าไปบนcode นนั้ ในกิจกรรมนีเ้ราจะแก้ไข line แรก แตก่ ารเพิ่ม line ใหมเ่ ข้าไปกส็ ามารถทําได้Line แรกจะอา่ นได้ดงั นี ้แตเ่ ราต้องเปล่ียนให้เป็นดงั นี ้6. เอากรอบคําสงั่ (Tile) ที่ช่ือ express และ heart ออก โดยคลกิ ขวาบนกรอบคําสง่ั เหลา่ นนั้ หรือกด บนแป้ น gamepad7. เพม่ิ กรอบคําสงั่ ใหมโ่ ดยคลกิ ซ้ายท่ีไอคอน ตรงตําแหนง่ ขวามือของกรอบคําสง่ั Do (หรือกด บนแป้ น gamepad)8. เลอื ก move 8
9. เลือก towardsจากนนั้ code จะปรากฎเป็น9. กด ESC บนคีย์บอร์ด (หรือกด สองครัง้ บนแป้ น game pad) เพื่อออกจากหน้าจอโปรแกรมมิง่ และกลบั สหู่ น้าจอtoolbar10. คลกิ ไอคอน Play เพ่ือรันโปรแกรมหรือกด บนแป้ น gamepad แล้วกด เพ่ือเลน่ เกม11. Kodu Bot ควรจะสามารถเดนิ ไปยงั ปราสาทได้แล้วในตอนนี ้ 9
กจิ กรรมท่ี 2.2 การแก้ไข Tutorial 2 และ 3 ในกิจกรรมนีเ้ราจะมาแก้ไขปัญหาใน Tutorial 2 และ 3 กนั วธิ ีแก้ไขปัญหาเหลา่ นีน้ นั้ มีอธิบายในสว่ นตอ่ จากนีไ้ ป แต่ขอให้พยายามแก้ไขปัญหาด้วยตนเองกอ่ นเสมอ และดวู ิธีแก้ไขปัญหาเม่ือจําเป็ นเทา่ นนั้ถามสมาชิกในกลมุ่ วา่ จะแก้ไข Tutorial 2 และ 3 อยา่ งไร สนบั สนนุ ให้พวกเขาใช้วิธีแก้ไขปัญหาได้หากจําเป็นบันทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________การแก้ไขปัญหาใน Tutorial 2วตั ถปุ ระสงค์: เราต้องการ reprogram ตวั cycle bot เพื่อให้มนั สามารถกระโดดข้ามแมน่ ํา้ ได้ 1. เปิ ด Tutorial 2 2. กด ESC บนคีย์บอร์ดหรือ Start บน controller เพื่อแก้ไข world3. เลอื กไอคอน “Add and Program Objects” จาก toolbar4. เลอื กคาแรคเตอร์โดยคลกิ ขวา หรือย้าย cursor รูป ด้วย gamepad จากนนั้ จะเรืองแสงเป็นสเี หลืองและหน้าเมนู editing menu จะปรากฏขนึ ้ มา 5. คลกิ ซ้ายเลอื ก Program หรือกดป่ มุ บน gamepad จากนนั้ จะปรากฏ bots code ขนึ ้ มา และคณุ จะมีทางเลอื ก 2 ทางในการแก้ไข line 3 และ 4 บน code ที่มีอยู่ หรือเพ่มิ line ใหมๆ่ เข้าไปบน code นนั้ ในกิจกรรมนีเ้ราจะแก้ไข line แรก แตก่ ารเพิ่ม line ใหมเ่ ข้าไปก็สามารถทําได้ ณ ตอนนี ้line ปรากฏเป็น 10
แตเ่ ราจะเปลี่ยนให้ปรากฎเป็น6.. เพิ่มกรอบคําสง่ั ใหมโ่ ดยคลกิ ซ้ายที่ไอคอน ตรงตําแหน่งขวามือของกรอบคําสง่ั Do (หรือกด บนแป้ นgamepad)7. เลอื กกรอบคําสง่ั โดยคลกิ ซ้ายบนเม้าส์ หรือกด บนแป้ น gamepadหมายเหต:ุ คลิกบน action ที่เป็นรูป คณุ กจ็ ะพบกรอบคําสง่ั ได้เช่นกนั 11
จากนนั้ code จะปรากฏเป็น9. กด ESC บนคีย์บอร์ด (หรือกด สองครัง้ บนแป้ น gamepad) เพ่ือออกจากหน้าจอโปรแกรมมิง่ และกลบั สหู่ น้าจอtoolbar10. คลกิ ไอคอน Play เพื่อรันโปรแกรมหรือกด บนแป้ น gamepad แล้วกด เพ่ือเลน่ เกม11. Kodu Bot ควรจะสามารถกระโดดได้ด้วยการกด spacebar หรือการกดป่ มุการแก้ไขปัญหาใน Tutorial 3วตั ถปุ ระสงค์: เราต้องการสงั่ ให้ตวั cycle bot สามารถหยบิ แอปเปิ ล้ ได้1. เปิ ด Tutorial 32. กด ESC บนคีย์บอร์ดหรือ Start บน controller เพ่ือแก้ไข world3. เลอื กไอคอน “Add and Program Objects” จาก toolbar4. เลอื กคาแรคเตอร์โดยคลกิ ขวาบนคาแรคเตอร์ หรือย้าย cursor รูป ด้วย gamepad จากนนั้ จะเรืองแสงเป็นสีเหลืองและหน้าเมนู editing จะปรากฏขนึ ้ มา5. คลกิ ซ้ายเลือก Program หรือกดป่ มุ บน gamepad 12 ณ ตอนนี ้line ที่ 2 ของ code จะปรากฏเป็น
แตเ่ ราต้องการเปล่ียนให้เป็นดงั ตอ่ ไปนี ้6. เพิม่ กรอบคําสงั่ ใหมโ่ ดยคลกิ ซ้ายที่ไอคอน ตรงตําแหนง่ ขวามือของกรอบคําสง่ั Do (หรือกด บนแป้ นgamepad)7. เลือกกรอบคําสง่ั โดยคลกิ ซ้ายบนเม้าส์ หรือกด บนแป้ น gamepadหมายเหตุ: คลิกบน holding group ท่ีเป็นรูป คณุ ก็จะพบกรอบคําสง่ั ได้เชน่ กนัจากนนั้ code จะปรากฏเป็น 13
9. กด ESC บนคีย์บอร์ด (หรือกด สองครัง้ บนแป้ น gamepad) เพ่ือออกจากหน้าจอโปรแกรมม่ิงและกลบั สหู่ น้าจอtoolbar10. คลกิ ไอคอน Play เพ่ือรันโปรแกรมหรือกด บนแป้ น gamepad แล้วกด เพื่อเลน่ เกม11. Kodu Bot ควรจะสามารถเก็บผลแอปเปิ ล้ ที่กําลงั เรืองแสงได้และสามารถข้ามสะพานได้ด้วย 14
กจิ กรรมท่ี 2.3 ทาํ ความรู้จักกับ Bot และ Object ในกิจกรรมนีเ้ป็ นการจะสํารวจ bot และ object ตา่ งๆ ที่มีใน Kodu Game Lab เราจะเรียนรู้วา่ ต้องใช้ attribute และability ของ bot ตา่ งๆ อยา่ งไรด้วยใช้ Bots and Objects World เพ่ือสาธิตให้เหน็ ตวั bot ตา่ งๆ ที่มีใน Kodu Game Labประเดน็ สาํ คัญ:1. ตวั bot ตา่ งๆ จะมี attribute และ ability ท่ีแตกตา่ งกนั2. ใช้สีเพ่ือแยกแยะ character role ให้แตกตา่ งกนั ตวั อยา่ งเชน่ วงกลมสแี ดง หรือ วงกลมสีดํา3. bot และ object ทกุ ตวั มีคา่ setting ท่ีสามารถตงั้ คา่ ในตอนท่ีสร้างเกม แตไ่ มส่ ามารถตงั้ คา่ ในชว่ งท่ีเกมกําลงั ดําเนินอยไู่ ด้บันทกึ :________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 15
กจิ กรรมท่ี 2.4 การใช้ Programming BotsBot ท่ีควบคุมโดยผู้เล่น (Player Controlled bots) เมื่อเราได้ผา่ นการทํา Tutorial มาแล้ว เราจะสามารถเขียนโปรแกรมเพื่อให้ควบคมุ bot ได้ ด้วยการใช้คีย์บอร์ดหรือXbox Controller เรายงั สามารถทําการจบั คู่ action ตา่ งๆ เช่น การจบั คกู่ ารกระโดดเข้ากบั คีย์บางตวั บนคีย์บอร์ดหรือบนgamepad ได้Bot อัจฉริยะ (AI Bot) 16 ลองดวู า่ เราสามารถโปรแกรม bot ตา่ งๆ ที่ต้องปฏิสมั พนั ธ์กบั bot ของผ้เู ลน่ ได้อย่างไร
หรือ เราสามารถใช้ see แทน hear ในหลายกรณีเชน่ กนัหากเราต้องการให้ bot เคลอ่ื นท่ีไปมากกวา่ การเดนิ ตาม เราสามารถใช้กรอบคําสง่ั ตอ่ ไปนี ้และเม่ือมี Physical Sensors:ประเดน็ สาํ คญั :1. Physical action คือกิริยาอาการที่ต้องการให้ bot หรือ object ทํา เชน่ see, hear, got, bump, shot hit, health, held by, on land และ on water2. External action เชน่ timer, scored, gamepad, keyboard และ mouse คือสงิ่ ที่ bot หรือ object สามารถตอบสนองได้3. bot และ object แสดง action ได้ไมเ่ หมือนกนั ทกุ ตวั 17
การแสดง physical action ตา่ งๆ Bot และ object มีคา่ setting ท่ีกําหนด attribute บางตวั ท่ีควบคมุ ให้พวกมนั แสดงออกและปรากฏตวั ขนึ ้ มาในเกมการโปรแกรมม่งิ ไมส่ ามารถแก้ไขคา่ setting เหลา่ นีไ้ ด้ในขณะที่เกมยงั ดําเนินอยู่ และต้องทําในชว่ งของการออกแบบเทา่ นนั้บนั ทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 18
กจิ กรรมท่ี 2.4 การสร้าง bot สองตัวกิจกรรมนีจ้ ะสอนการสร้าง bot ในเกมขนึ ้ มาสองตวั เชน่ tag หรือ similarกิจกรรมดงั กลา่ วเป็นการสอนการสร้าง bot อยา่ งงา่ ยๆ เกมจงึ ไมค่ วรซบั ซ้อนแต่ควรเป็นเกมที่สามารถเลน่ ให้ชนะในระยะเวลาอนั สนั้ ได้ไมย่ ากนกั1. เปิ ด Small World with Water2. กด ESC บนคีย์บอร์ดหรือ Start บน controller เพื่อแก้ไข world3. เลอื กไอคอน “Add and Program Objects” จาก toolbar4. เพิม่ คาแรคเตอร์โดยคลกิ ซ้ายที่คาแรคเตอร์ กดป่ มุ บน gamepad จากนนั้ เลือก bot หรือ object ท่ีคณุต้องการ5. เพ่ือสง่ั การ bot หรือ object ให้คลกิ ซ้ายเลอื ก Program หรือกดป่ มุ บน gamepad6. เพม่ิ code ที่คณุ ต้องการลงไป สองครัง้ บนแป้ น game pad) เพื่อออกจากหน้าจอโปรแกรมมง่ิ และกลบั สู่7.กด ESC บนคีย์บอร์ด (หรือกดหน้าจอ toolbar8. คลกิ ไอคอน Play เพื่อรันโปรแกรมหรือกด บนแป้ น gamepad แล้วกด เพื่อเลน่ เกม9. ทําแบบเดมิ อีกครัง้ หากต้องการเพิ่ม bot ตวั ที่สองบนั ทกึ :__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 19
บทท่ี 3กระบวนการออกแบบอย่างไม่เป็ นทางการกจิ กรรมท่ี 3.1 ระดมสมองลองไอเดยีสอบถามในกลมุ่ วา่ มีความคิดเห็นอยา่ งไรเก่ียวกบั เกมท่ีพวกเขาได้สร้างขนึ ้ มาหรือท่ีกําลงั พฒั นาขนึ ้ และคดิ ด้วยวา่ จะทําอยา่ งไรให้เกมของพวกเขามีความน่าสนใจยง่ิ ขนึ ้เขียนรายการส่งิ ท่ีคุณอยากทาํ เพ่ือพัฒนาเกมให้ดูน่าสนใจย่งิ ขนึ้ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________กจิ กรรมท่ี 3.2 ไอเดยี ดีๆ สาํ หรับเกม ในกิจกรรมนีเ้ราจะสร้างไอเดียสําหรับเกมท่ีสร้างโดย Kodu Game Labลองเขียนไอเดียตา่ งๆ เก่ียวกบั เกมท่ีคณุ มีตวั อย่างช่ือเกม Duck-Outวัตถุประสงค์ เกมนีค้ ล้ายกบั Bonk-out แตแ่ ทนที่จะมีปราสาทและ stick bot จะมีเรือและเตา่ แทน และเกมนีม้ ี ฉากท่ีเลน่ บนนํา้ เตา่ จะสามารถดําลงไปใต้นํา้ ได้สองวนิ าทีเพื่อหลบก้อนหนิกฎ ผ้เู ลน่ ต้องควบคมุ ปลา ปลาต้องปกป้ องเตา่ สามตวั จากก้อนหินที่บนิ มา ผ้เู ลน่ สามารถทําให้เตา่ หลบลงใต้นํา้ ได้ชวั่ คราวเพ่ือหลบก้อนหินท่ีบินมาBot ท่ีใช้ เรือ เตา่ ปลา และ ก้อนหนิ บนิ 20
ช่ือเกม: _________________________________________________________________________วัตถุประสงค์: _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________กฎ: _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________Bot ท่ีใช้: _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________กจิ กรรมท่ี 3.3 ตัวอย่างของโรงเรียน และกรณีตวั อย่างในกิจกรรมนี ้เราจะเร่ิมคิดกนั เกี่ยวกบั เกมและสาํ รวจดวู า่ โรงเรียนตา่ งๆ ท่ีเคยใช้ Kodu Game Lab เขาใช้ประกอบหลกั สตู รการเรียนรู้ของโรงเรียนอยา่ งไรกนั บ้างบันทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 21
22
KODU GAME DESIGN TEMPLATE ออกแบบเกม อธบิ ายเกม (อะไรท่ีผ้เู ลน่ ตอ้ งทาํ บา้ ง) ตัวละคร วัตถุ และหนา้ ที่ เปา้ หมาย อธิบายวธิ ีการเล่นให้ชนะ เล่นอย่างไร ใชเ้ วลา............................................ ............................................. เท่าไร........................................................................... ............................................ ........................................................................................ ............................................ ........................................................................................ ............................................ ........................................................................................ ............................................ ........................................................................................ ............................................ ........................................................................................ ............................................ ........................................................................................ ............................................ ......................................................................................... ............................................ ........................................................................................ ............................................ ............................................ 23
บทท่ี 4การสร้าง Game Worldกจิ กรรมท่ี 4.1 การออกแบบ Game Space กิจกรรมนีส้ ร้างความเข้าใจในเร่ืองของการพิจารณาใช้ทรัพยากรตา่ งๆ การตงั้ คา่ World Setting และการตงั้ คา่ กล้องWorld Large กิจกรรมนีใ้ ช้ทรัพยากรจํานวนมากแตก่ ต็ ้องใช้ land ให้น้อยท่ีสดุ เทา่ ท่ีจะเป็นไปได้เปิ ดวิดีโอของ Tavish Hill ใน PowerPoint ให้สมาชิกในกลมุ่บนั ทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________กจิ กรรมท่ี 4.2 การสร้าง Design Pattern และ Recipe Design Pattern และ Recipe ช่วยให้โปรแกรมเมอร์มีกระบวนการที่ง่ายในการแก้ไขปัญหาเรื่องโปรแกรมมิง่กิจกรรมนีจ้ ะอธิบายวา่ Game Design Pattern จะสามารถช่วยให้นกั ออกแบบเกมสามารถทดสอบ pattern เพ่ือแก้ไขปัญหาด้าน Game Design ได้อยา่ งไร รวมทงั้ อธิบายเรื่องของคอนเซปต์การใช้ Code Recipe ซงึ่ เป็นโซลชู น่ั ด้านภาษาที่เหมาะกบัปัญหาด้านโปรแกรมมงิ่ ทวั่ ๆ ไปกิจกรรมนีจ้ ะแนะนําแนวคดิ ของ design pattern และ code recipe ท่ีเราจะใช้ในหลกั สตู รนี ้PowerPoint : สนบั สนนุ ให้สมาชิกในกลมุ่ ถามคําถามเมื่อต้องการประเดน็ สําคญั : Design pattern เป็นโซลชู น่ั มาตรฐานสาํ หรับเอกสารที่สามารถแก้ไขปัญหาท่ีพบสว่ นใหญ่ได้Recipe คือตวั อยา่ งของ code ท่ีเหมาะกบั การแก้ไขปัญหาเรื่องโปรแกรมม่งิ โดยเฉพาะ 24
บนั ทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________กจิ กรรมท่ี 4.3 ทาํ ความรู้จักกับ Game Space Patternsกิจกรรมนีจ้ ะแนะนํารูปแบบของ Game World Design Pattern ตา่ งๆ แต่ละ pattern มีคําอธิบายที่แตกตา่ งกนั ตามที่ได้อธิบายใน PowerPoint และยงั มีเกมสาธิตให้ชมอีกหนงึ่ เกมด้วยDesign Pattern : Open Worldเกมท่ีใช้ open world design pattern จะชว่ ยให้ผ้เู ลน่ เดนิ ทางไปไหนก็ได้ตามที่ต้องการ Open world game มกั เกี่ยวข้องกบัเกมประเภท non-linear game ท่ีผ้เู ลน่ สามารถเลือก sequence ท่ีต้องการจะเร่ิมเลน่ ก่อนได้ กล้องจะตดิ ตามตวั ผ้เู ลน่ (ซง่ึ เป็นคา่ ตงั้ ต้นของ Kodu Game Lab อยแู่ ล้ว) และดงั นนั้ open world game จงึ เหมาะสมมากกวา่ สาํ หรับเกมท่ีต้องใช้ผ้เู ลน่ เพียงคนเดียวประเดน็ สําคญั : Open world สนบั สนนุ การเลน่ เกมแบบ open game play เกมบางเกมไมม่ ีสว่ นของการเลน่ บนพืน้ ดิน(land) และ open world เหมาะกบั เกมประเภท strategy game มากกวา่ และเหมาะกบั เกมท่ีการเลน่ แบบ non-linearบันทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 25
ใช้ Ground Brush เพื่อเพ่ิมและลบ ground กดป่ มุ right trigger หรือคลิกซ้ายบนเม้าส์เพ่ือเพม่ิ ground และกด left trigger หรือคลกิ ขวาท่ีเม้าส์เพื่อลบ groundมีแปรงอยหู่ ลายรูปแบบและหลายขนาด โดยสามารถปรับเปล่ยี นได้เพื่อเพ่ิมขนาดของ land areaแตจ่ ะทําให้ design มีความซบั ซ้อนมากขนึ ้ ด้วยเชน่ กนั สีของพืน้ ดนิ สามารถเลอื กได้จากตวั เลือกตา่ งๆ ที่ต้องการใช้ Up/Down Brush เพื่อสร้างภเู ขาและทวิ เขากดป่ มุ หรือคลกิ ซ้ายที่เม้าส์เพื่อทําให้หน้าดินเรียบแปรงที่มีหลายขนาดและหลายรูปแบบนนั้ สามารถนํามาใช้เพ่ือสร้าง effect ท่ีแตกตา่ งกนั ได้ใช้ Water Brush เพื่อเพิ่ม ลบ หรือเพิม่ สใี ห้นํา้กด right trigger หรือคลกิ ซ้ายท่ีเม้าส์เพื่อเพิม่ ระดบั ของนํา้ ใน world ให้สงู ขนึ ้ และกด lefttrigger หรือคลิกขวาท่ีเม้าส์เพ่ือลดระดบั ของพืน้ นํา้ใช้ Flatten Brush เพ่ือสร้างพืน้ ท่ีเรียบและเนินเขาเอียงๆกด right trigger หรือคลกิ ซ้ายท่ีเม้าส์เพื่อเพมิ่ ระดบั ของเนินและกด left trigger หรือคลกิ ขวาท่ีเม้าส์เพ่ือทําให้หน้าดินเรียบใช้ Roughen Brush เพ่ือสร้างพืน้ ที่ท่ีเป็นเนินสงู ๆ ต่ําๆกด right trigger หรือคลกิ ซ้ายที่เม้าส์เพ่ือเพิม่ ระดบั ของเนินให้มีความสงู ชนั สลบั กนั และกดleft trigger หรือคลกิ ขวาท่ีเม้าส์เพื่อทําให้พืน้ ท่ีตรงนนั้ เป็นแบบเนินเขาเหมือนคลนื่ เบาๆใช้ Delete Tool เพื่อลบ bot และ object จาก world ของคณุ 26
ในตอนท่ีกําลงั แก้ไข world อยนู่ นั้ ให้กด F3 เพ่ือเปิ ดฟังก์ชน่ั Snap to Grid เพ่ือลอ็ คขนาดของ brush size ให้คงท่ีตวั cursor จะคอยเคลือ่ นตามในมมุ ซ้ายลา่ งของจอ กด และ หรือหมนุ mouse scroll เพื่อซมู เข้าหรือซมู ออก การซูมเข้าจะช่วยหา cursor งา่ ยขนึ ้ ซง่ึ อาจถกูซอ่ นอยหู่ ลงั land หมายเหต:ุ ขณะสร้าง world ควรระวงั ไมใ่ ห้วาง world ในพืน้ ท่ีสแี ดง (Red Area) เร่ืองนีส้ าํ คญั มากเม่ือต้องสร้างlarge open worldรูปแบบของ Design Pattern : Race เกมประเภท racing game ต้องให้ผ้เู ลน่ แขง่ กนั บนเส้นว่งิ หรือพืน้ ที่ที่กําหนดไว้แล้ว หลายกรณีมีจดุ ที่ต้องเข้าไปทําcheckpoints เมื่อเป้ าหมายคือการโจมตีศตั รูหรือแขง่ กนั วา่ ใครถงึ เร็วท่ีสดุ เกมประเภทนีค้ ล้ายกบั การแขง่ ขนั ในความเป็นจริงและดงั นนั้ จงึ มี pattern ท่ีเข้าใจง่ายและไมย่ ากเกินไปนกัสาธิต Pure Plasma Racing game ให้ผ้เู รียนชมประเดน็ สําคญั : ใช้ Path เพื่อสร้างถนนสาํ หรับ AI Characterบนั ทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Recipe: การแข่งขันกับฝ่ ายตรงเข้า (Racing track opponents) หากต้องการโปรแกรมให้ bot ของผ้เู ลน่ แขง่ กนั คณุ เพียงแคส่ ร้าง Path และจากนนั้ สร้าง โปรแกรม ให้ bot เดนิ ทางตาม path ที่วางไว้ • สาํ หรับผ้ทู ี่ใช้ Xbox controller คณุ ต้องสร้าง Path ด้วย Object Tool • สําหรับผ้ทู ่ีใช้คีย์บอร์ดและเม้าส์ ให้ใช้ Add Path button บนเมนู tool 27
เลือก Object Group และจากนนั้ เลือก path type ท่ีคณุ ต้องการ (เช่นพืน้ เรียบ (Plain), ถนน (Road) กําแพง (Wall)หรือ ต้นไม้ (Flora)) ใช้ป่ มุ button เพื่อเพ่มิ node แล้วย้าย cursor ไปยงั จดุ ท่ีต้องการตอ่ ไป และจากนนั้ กด เพื่อเพิม่node อีก หากเส้นทางสําหรับวิ่งนนั้ จะมีลกั ษณะเป็นวง (loop) ที่ซงึ่ จะทําให้เกิดการวงิ่ ทบั เส้นกนั ได้ ดงั นนั้ จงึ ต้องวาง nodeสดุ ท้ายไว้บน node แรก จากนนั้ กด เพ่ือจบกระบวนการวาง bot ไว้บน path จากนัน้ ใช้ recipe ต่อไปนี้Design Pattern : เกมประเภท Side Scrolling Game Platform game คือเกมท่ีผ้เู ลน่ สามารถเคล่ือนท่ีในลกั ษณะ 2 มิติ หรือเรียกวา่ side scroller เกมประเภท SideScrolling game มกั ให้ผ้เู ลน่ กระโดด ข้ามชอ่ งวา่ ง หรือ ข้ามสง่ิ กีดขวางที่อาจหรืออาจจะเคลอ่ื นที่ไปมาได้ เกมประเภทนีเ้ป็นท่ีนิยมมากในยคุ 1980 และทําให้รู้สกึ เหมือนได้ย้อนยคุ ทกุ ครัง้ เวลาที่ได้เลน่ เกมประเภทนี ้สาธิตเกม Coins and Platform Cycleประเดน็ สําคญั :1. ใช้ East/West constraint กบั การเคลอ่ื นไหว2. ปรับกล้องให้เป็น offset ใน world setting (เป็นประโยชน์มาก)บนั ทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 28
Recipe: Side Scrolling ปกติแล้ว Path จะเป็นสง่ิ ท่ีดีที่สดุ ในการสร้าง side scrolling game แตค่ ณุ สามารถสร้าง land กไ็ ด้เชน่ กนัเราต้องจดั ให้กล้องติดตามตวั คาแรคเตอร์ของผ้เู ลน่ จากข้างๆ ในการทําแบบนี ้เราจะตงั้ camera mode ให้อยทู่ ่ี fixed offset1. คลกิ World Settings เพ่ือตงั้ ตําแหน่งที่ต้องการ2. เลือก Camera Mode: เป็น Fixed Offset3. กดป่ มุ เพ่ือวางกล้องในจดุ เร่ิมต้น และกดป่ มุ 29
รูปแบบ Design Pattern: Maze ใช้ maze เม่ือต้องสร้างเกมประเภท puzzle ท่ีต้องการให้ผ้เู ลน่ ใช้ทกั ษะในการหาเส้นทางท่ีถกู ต้อง maze หรือเขาวงกตบางอนั มีเส้นทางออกเพียงเส้นทางเดียว แตห่ ลายๆ maze มีทางออกได้มากกวา่ 1 ทางประเดน็ สําคญั :1. สาธิตการใช้กล้องในตําแหน่งจดุ เริ่มต้นบันทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Recipe: Maze Game ในการสร้างเขาวงกต ต้องเร่ิมจากการสร้างพืน้ ที่เขาวงกตของทงั้ หมดก่อน จากนนั้ ให้ลดเขาวงกตลงไปให้อยรู่ ะหวา่ งกําแพง การยกกําแพงของเขาวงกตนนั้ เป็นเร่ืองท่ียากกวา่ มาก สําหรับเกมนี ้ควรต้องตงั้ กล้องให้เป็น Fixed offset (เหมือนที่ทํากบั side scrolling game) หลงั ตวั bot ของผ้เู ลน่หรืออาจเซต็ ให้กล้องเลง็ ไปท่ีตวั first person ในการเซต็ กล้องไปที่ first person ให้ใช้ recipe ตอ่ ไปนี ้ 30
รูปแบบของ Design Pattern : Fixed Game Board เกมบางเกมมีพืน้ ท่ีเลน่ อยบู่ นพืน้ ที่ท่ีลอ็ คไว้ตายตวั game space เหลา่ นีเ้หมาะกบั การเลน่ หลายคนโดยที่ไมต่ ้องแยกฟังก์ชนั่ ของจอออกจากกนั ด้วยการที่มีพืน้ ที่ท่ีลอ็ คไว้ตายตวั และการมี fixed camera ผ้เู ลน่ ทกุ คนก็จะมีมมุ มองจากท่ีเดียวกนัเกมตา่ งๆ อยา่ งเชน่ PacKodu เป็นตวั อยา่ งท่ีดี ประเดน็ สําคญั : เหมาะสาํ หรับการเลน่ ด้วยผ้เู ลน่ หลายๆ คนบันทกึ :______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Recipe: Fixed Game Board เราต้องตงั้ ให้กล้องอยใู่ นตําแหนง่ เดิมตลอดเวลาตลอดทงั้ เกม ในการทําเช่นนีเ้ราต้องตงั้ camera mode ให้อยใู่ นตําแหน่ง fixed position 1. คลกิ World Settings 2. เลือก Camera Mode: เป็น Fixed Position 31
3. กดป่ มุ เพ่ือวางกล้องในจดุ เริ่มต้น และกดป่ มุ เพื่อตงั้ ตําแหน่งท่ีต้องการ 32
บทท่ี 5ใช้งาน Game Design Patternsกจิ กรรมท่ี 5.1 Game Progress Patternsกิจกรรมนี ้อธิบายแนวคิดของการเขียนโปรแกรมมิง่ โดยใช้ Kodu แบบขนั้ สงู อยา่ งเชน่ การสร้างตาราง การสร้างเพจ และการใช้ score เพ่ือเป็น variable เป็นต้นDesign Pattern: Time Limits Time Limits ต้องการให้ผ้เู ลน่ แสดงอาการบางอยา่ งหรือมงุ่ มนั่ ฝ่ าฟันให้ถงึ เป้ าหมายหรือตงั้ เวลาให้ผ้เู ลน่ ต้องรักษาระดบั อยใู่ นดา่ นนนั้ จนครบเวลาเพ่ือให้ชนะและผา่ นดา่ นนนั้ ได้ นาฬกิ าจบั เวลาจะแสดงหน้าจอขนึ ้ มาเพ่ือบอกให้ผ้เู ลน่ รู้วา่จะต้องรีบทําเวลาให้ทนั บางเกมมีฟี เจอรี่ให้ Time Bonus ท่ีจะได้เม่ือผ้เู ลน่ ทํากิจกรรมอยา่ งใดอยา่ งหนงึ่ จนสําเร็จได้บนั ทกึ :________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Kode Recipe: Time Limitบนั ทกึ ย่อ1. แนใ่ จวา่ คณุ ตดิ game timer ไว้ที่ bot หรือ object ท่ีไมส่ ามารถถกู ทําลายได้ในช่วงของการเลน่ เกม2. เลือกสีเพ่ือใช้เป็ น timer ของคณุ เป็นระยะเวลา 30 วนิ าที และห้ามใช้ color score สาํ หรับอยา่ งอ่ืน3. ตวั อยา่ งของ recipe นีจ้ ะตงั้ เวลาไว้ 30 วินาที และใช้สีดําเพื่อเป็ นตวั กําหนดเวลา หรือ timer4. อ้างองิ ถงึ เกม Wack-a-Lama เพ่ือดวู า่ recipe นีใ้ ช้อยา่ งไร 33
Design Pattern: Scores Score หรือคะแนนคือการแสดงตวั เลขที่ชีว้ ดั ความสําเร็จของผ้เู ลน่ เราสามารถเพม่ิ Point เข้าไปท่ี Score ได้ เมื่อผู้เลน่ ได้ผา่ นดา่ นแตล่ ะดา่ นแล้วหรือสามารถหกั point ออกได้หากล้มเหลวในการฝ่ าฟันอปุ สรรคในดา่ นนนั้ score ของผ้เู ลน่มกั จะถกู แสดงขนึ ้ มาเป็นแบบ overlay เม่ือผ้เู ลน่ สาํ เร็จดา่ นแตล่ ะดา่ น เพื่อทําให้ผ้เู ลน่ รู้สกึ ถงึ ความภมู ิใจที่ได้ชนะดา่ นนนั้ 34
บนั ทกึ :________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Kode Recipe: Scoresบนั ทกึ ยอ่ :1. Recipe นีเ้พม่ิ point จํานวน 1 point เข้าไปที่ blue score ในแตล่ ะครัง้ ที่การยิงได้ยิงโดนเป้ าลอ่ และเพ่มิ 10 point เม่ือยงิ ถกู จานร่อนในแตล่ ะครัง้ เมื่อ score มีคา่ มากกวา่ 100 ผ้เู ลน่ จะชนะเกมทนั ที2. เพ่ิม recipe นีเ้ข้าไปที่ bot ท่ีต้องเป็นตวั ยงิ เป้ า3. Recipe นีท้ ํางานได้กบั ทงั้ คีย์บอร์ดและ gamepad4. อ้างอิงถงึ Xevon v06 เพื่อศกึ ษาเกี่ยวกบั recipe นี ้ 35
Pattern: Health Health ของ bot ของผ้เู ลน่ คือสง่ิ ท่ีระบคุ วามก้าวหน้าของผ้เู ลน่ ในเกม health bar แสดงสถานะปัจจบุ นั ของคาแรคเตอร์นนั้ และทําให้ตวั ผ้เู ลน่ รับรู้วา่ ตวั เองมีกําลงั มากแคไ่ หนในเกมบนั ทกึ :________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Recipe: Healthบนั ทกึ ยอ่1. เม่ือ bot สมั ผสั เหรียญ จะถกู หกั คะแนน 10 point จาก health ของ bot และเหรียญกจ็ ะหายไป2. เม่ือ bot สมั ผสั และกินแอปเปิ ล้ กจ็ ะได้ คะแนน 10 point เพิม่ เข้าไปใน health ของ bot3. เม่ือ health ของ bot ถงึ ระดบั 0 เกมจะจบทนั ที4. จํานวนของ Hit Point (ระดบั ของ health) ที่ bot เร่ิมมีตงั้ แตต่ ้นนนั้ ถกู เซต็ ไว้ setting ของตวั bot นนั้ จะมีคา่ จะอยตู่ งั้ แต่ 0 ถงึ 1,000 โดยสามารถเซต็ ให้เพิ่มเพม่ิ ได้ทีละ 5 คะแนนได้ 36
Pattern: Save Points Save Point หรือที่เรียกวา่ Check Points คือคา่ point ที่ชว่ ยให้ผ้เู ลน่ มีความสะดวกในการเลน่ เกม สว่ นมากมกั จะได้หลงั จากที่ชนะดา่ นท่ียากๆ ไปแล้ว และเป็นจดุ ท่ีเกมจะเซฟข้อมลู ไว้แบบอตั โนมตั หิ รือผ้เู ลน่ ถกู ร้องขอโดยระบบให้เซฟเก็บไว้เมื่อได้ point นนั้ แล้ว หากผ้เู ลน่ ไมส่ ามารถผา่ นไปยงั ดา่ นถดั ไปได้ เกมจะเริ่มต้นใหมจ่ ากจดุ save point มากกว่าย้อนกลบั ไปเร่ิมต้นใหม่ การทําแบบนีจ้ ะให้กําจดั ปัญหาของผ้เู ลน่ ท่ีต้องการเลน่ ดา่ นท่ีงา่ ยแบบซํา้ ไปซํา้ มาเพื่อเกบ็ คะแนนเอาไว้มากๆบันทกึ :________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Recipe: Save Points 1. Cycle bot ซง่ึ เป็นคาแรคเตอร์ที่ควบคมุ โดยตวั ผ้เู ลน่ เอง และสามารถสร้างขนึ ้ มาได้ 2. Red score ใช้เพ่ือคอยติดตามคา่ ชีวิตของผ้เู ลน่ คา่ 1 บอกวา่ ผ้เู ลน่ ยงั มีชีวติ อยใู่ นเกม และกําลงั เลน่ ในขณะท่ี 0 บอกวา่ bot ของผ้เู ลน่ ต้องการการฟื น้ ฟู 3. Black score มีไว้เพื่อบนั ทกึ คา่ save point คา่ 0 บอกวา่ ผ้เู ลน่ ยงั อยใู่ นชว่ งต้นของเกม และคา่ 1 บอกวา่ ผ้เู ลน่ ได้เกบ็ คา่ save point ที่ 1 แล้ว และกําลงั จะเกบ็ ตอ่ ไป 4. ต้องสร้าง Bot และต้องโปรแกรมไว้ในแตล่ ะ save point เกิดขนึ ้ ในตวั อยา่ งนี ้เราได้ใช้ stick bot แตร่ ูปแบบ (Type) ของ bot ไมใ่ ชป่ ัญหาในกรณีนี ้คณุ จะใช้ type ใดกไ็ ด้ 37
5. ยงั ไมม่ ี code สําหรับ page 3 ของ save points 6. ใช้ setting ของ save point เพื่อลดการฟังลงให้เหลือเป็นคา่ ตํ่าสดุ เพ่ือวา่ stick bot จะได้ยนิ แค่ cycle bot เม่ือมนั อยู่ ใกล้กนั เทา่ นนั้ 7. Color score ท่ีตา่ งกนั จะนํามาใช้เพ่ือติดตามและจํากดั จํานวนของชีวติ ใหมท่ ี่ยอมให้ผ้เู ร่ิมขอเลน่ ใหมไ่ ด้ แตจ่ ะไม่ แสดงเทคนิคนีใ้ น recipe นี ้Bot ควบคมุ โดยผ้เู ลน่ เป็น bot ท่ีสามารถสร้างได้เสมอจุด starting point (Save point มีค่าเป็ น 0) 38
39
การเพ่มิ save point อยา่ งตอ่ เน่ืองต้องทําให้ black point เหลา่ นีเ้พ่มิ ขนึ ้ ทีละหนึง่ 40
Design Pattern: Multi Levels การที่มี level หลายๆ level ในเกม คือวิธีท่ีดีในการทําให้ผ้เู ลน่ รู้สกึ วา่ ตนเองมีความก้าวหน้าในการเลน่ เกม เกมมกั ใช้level ในการเพ่ิมความยากและ/หรือสอดแทรกกลไกใหมๆ่ เข้าไปตวั อยา่ งของการใช้หลายๆ level คือเกม Dualและ Portal ของ halox ทงั้ สองเกมสามารถดไู ด้บน Youtubeประเดน็ สําคญั : ตวั อยา่ งนีเ้ป็นตวั อยา่ งท่ีเป็นขนั้ สงู ไมใ่ ช่สาํ หรับคนท่ียงั ไมก่ ล้าพอ !บันทกึ :________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Recipe: Multiple Levelsบนั ทกึ ยอ่ 1. Black score จะใช้เพื่อเกบ็ บนั ทกึ วา่ ผ้เู ลน่ เลน่ ไปถงึ level ใดแล้ว 2. Bot ของผ้เู ลน่ นนั้ สามารถสร้างได้ และดงั นนั้ จงึ ต้องสร้างไว้ตงั้ แตเ่ ร่ิมต้นเลน่ เกม 3. Level ตอ่ ๆ มาสามารถสร้างได้โดยใช้การ copy ตรง start point และ end point ของ level 2 และด้วยการเพิ่มคา่ ของ black score เข้าไปใน code 4. ตงั้ คา่ ให้ black score เป็น Off Bot ท่ีควบคมุ โดยผ้เู ลน่ และสามารถสร้างได้เอง 41
จดุ starting point บน level 1จดุ finishing point บน level 1 42
ตวั Stickbot: จดุ Starting point บน level 2 ตวั Stickbot: จดุ Finishing point บน level 2กจิ กรรมท่ี 5.2 Game Play PatternsPattern: Power Ups Power-up คือประโยชน์สําหรับผ้เู ลน่ แตต่ ้องรีบใช้ภายในเวลาที่กําหนดและต้องทําการ activate เพ่ือใช้มนั ผ้เู ลน่ต้องทําการตดั สินใจวา่ เมื่อไรที่จําเป็นต้องใช้ Power-up และเม่ือไรท่ีต้องหาเพิม่ หรือต้องใช้เวลาเพ่ือทําการ recharge 43
Power-up แก้ไขปัญหาของการท่ีต้องทํางานตา่ งๆ ให้สําเร็จในระดบั ความยากท่ีแตกตา่ งกนั เพราะผ้เู ลน่ จะเพ่ิมระดบั ความสามารถของตวั เองขนึ ้ เรื่อยๆ และจะต้องพบกบั ความท้าท้ายมากขนึ ้ โดยจะไมม่ ีโอกาสได้เจอดา่ นท่ีง่ายกวา่ เดิม(หากไมใ่ ช้ power-up ชว่ ยในดา่ นท่ียาก) ตวั อยา่ งเช่น คาแรคเตอร์อาจจะไมส่ ามารถเคลื่อนไหวได้เร็วขนึ ้ สกั ระยะหลงั จากท่ีเกบ็ item หรือหลงั จากที่กด keyบางตวั sound effect หรือ visual effect จะนํามาใช้เพ่ือบอกวา่ ผ้เู ลน่ ได้รับการ power up แล้วหรือ power up กําลงั จะหมดลงประเดน็ สาํ คญั : recipe นีแ้ สดงการใช้งาน pages และ timerบนั ทกึ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Recipe: Power Up บนั ทกึ ยอ่ : recipe นีจ้ ะทําการโปรแกรมให้ bot ท่ีถกู ควบคมุ โดยผ้เู ลน่ ต้องแพ้ในเกมเมื่อถกู ชนโดย red cycle botเม่ือ bot ของผ้เู ลน่ เอาตวั เองไปกระแทก bot อื่น หรือกินแอปเปิ ล้ ก็จะได้รับ power up แล้วจะสามารถําลาย red cycle botได้ Power up จะสามารถแสดงพลงั ได้นาน 5 วินาที และจากนนั้ bot ของผ้เู ลน่ จะย้อนกลบั ไปยงั สภาพเดิม 44
1.สังเกตการใช้ฉันและเจ้าตวั นัน้ (Notice the use of me and it.) 45
Pattern: การย้ายการควบคุม (Transfer of Control) เกมบางเกมยอมให้ผ้เู ลน่ ควบคมุ คาแรคเตอร์ที่แตกตา่ งกนั ได้ ในแตล่ ะ stage ตา่ งๆ ของเกม การทําเชน่ นีจ้ ะรวมถงึตอนท่ีคาแรคเตอร์ของผ้เู ลน่ ได้เข้าไปในรถหรือลงเรือ คาแรคเตอร์ตวั ใหมม่ กั จะมีความสามารถที่แตกตา่ งออกไป ดงั นนั้ การเลน่ เกมต้องมีผลลพั ธ์ที่ออกมาแตกตา่ งกนั ทําให้เพ่มิ ความสนใจของผ้เู ลน่ มากขนึ ้บนั ทกึ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Recipe: Transfer of Controlบนั ทกึ ย่อ:1. ตวั อยา่ งนีแ้ สดงให้เหน็ วา่ bot ท่ีควบคมุ โดยผ้เู ลน่ นนั้ สามารถถกู สง่ั “ให้ไปลงเรือ” ได้ ซงึ่ ผ้เู ลน่ สามารถสง่ั การได้เองCyclebot: bot ท่ีผู้เล่นสามารถควบคุมได้เอง 46
Floatbot: bot ผู้เล่นควบคุมได้เอง เม่ือ cyclebot ได้ลงไปบนเรือแล้วPattern: Big Boss เกมหรือ level ในเกมมกั จะจบด้วยการตอ่ ส้กู บั หวั หน้าใหญ่สดุ หรือ Big Boss ตวั Big Boss นีถ้ ือเป็นคปู่ รับท่ียากท่ีสดุ และมกั มีความสามารถที่แตกตา่ งจากศตั รูตวั ก่อนๆ การตอ่ ส้กู บั Big Boss คือสง่ิ ที่ทําให้ผ้เู ลน่ รู้สกึ วา่ ตวั เองมีพฒั นาการเพม่ิ ขนึ ้ ในการเลน่ เกม และรู้วา่ ตวั เองใกล้ท่ีจะถงึ ชยั ชนะแล้วบนั ทกึ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 47
Recipe: Big Bossบนั ทกึ ยอ่ :1. Bot hit point setting ของตวั Big Boss สามารถเพม่ิ ขนึ ้ ได้และดงั นนั้ จงึ ทําให้เป็นสงิ่ ท่ียากขนึ ้ ในการเอาชนะ2. Bot damage point จะเพิ่มขนึ ้ เพ่ือเพมิ่ ความรุนแรงของการโจมตี3. มีตวั อยา่ งของการสร้าง Big Boss เพียงตวั อยา่ งเดียวก้อนหินถกู โยนโดย Big Boss ดงั นนั้ ต้องสร้างหิน (Creatable Rock) ขนึ ้ มาอีกหนง่ึ ก้อน 48
Search