สร้างเกมสร้างสรรค์

รายวิชา สร้างเกมสร้างสรรค์

หน่วยที่ 1 : รู้จัก "เกม Platform"

สรุปความรู้มั้งหมด : https://sites.google.com/site/dayinleela3/home/kem-platform

เกม Platform

เกมแนวนี้จะมีสิ่งที่เหมือนกันคือ ในฉากจะมีระดับของพื้น หรือชั้น (platform) ที่ตัวละครยืน หลายระดับ ซึ่งตัวละครจะสามารถ กระโดด หรือปีนลงระหว่างชั้นไปได้ ตัวอย่างเช่น เกม Donkey Kong

เกมแนว platform ยังมีการแตกเป็นแนวย่อยๆ ไปอีกมากมาย แต่แนวที่นิยมกันมากที่สุดคือ Platform Side-scrolling หรือเกมแพลตฟอร์มเคลื่อนที่ด้านข้าง ซึ่งฉากในเกมจะเลื่อนไปเรื่อยๆ เมื่อตัวละครเดินทางไป ตัวอย่างเช่น มาริโอ (Super Mario Bros.)

ส่วนประกอบในเกม Platform มักจะประกอบด้วย

      • Player เป็นตัวผู้เล่น เคลื่อนที่ซ้าย ขวา กระโดด
      • Monster เป็นตัวลด เช่น เมื่อเดินมาชม player แล้วชีวิตของ player จะลดลง
      • Item เป็นตัวเพิ่มคะแนน เช่น เหรียญ ผลไม้ เมื่อรับได้ หรือเดินชน จะเพิ่มคะแนนให้ player
      • Bonus เป็นคะแนนพิเศษ ที่จะออกมาไม่บ่อยนัก เป็นการเพิ่มคะแนนมากกว่าคะแนนปกติ เช่น เก็บทองได้ +5 x2
      • Score คะแนนที่เก็บ item ได้
      • Live ชีวิตของ player
      • Time/Lavel เวลาในการเล่นเกม จะนับถอยหลัง เมื่อหมดเวลาจะขึ้น Game over หรือเล่นจบด่านที่ 1 แล้วผ่านไปด่านที่ 2 ต่อไป
      • Background ฉากของตัวละคร

Concept ของเกม

      • เดิน กระโดด
        • เก็บ item ได้คะแนน
        • เก็บ bonus ได้คะแนนพิเศษ
        • ชน monster ชีวิตลด คะแนนลด หรือ ชีวิตลด คะแนนไม่ลด แล้วแต่เราออกแบบ
      • monster เดินออกมาตามวิถีชิวิตอันปกติสุขของมัน
      • item ปรากฏที่ต่างๆ เช่น พื้น ลอยในอากาศ วางบนพื้นที่ลอย
      • bonus สุ่มออกมาไม่แน่นอน ออกมาไม่บ่อย แต่ได้คะแนนมากกว่าปกติ
      • time เวลานับถอยหลัง เมื่อหมดเวลา Game over (จะมีหรือไม่มีก็ได้..แล่วแต่เราออกแบบ)
      • Game over
        • ทุกอย่างหยุดนิ่ง
        • สรุปคะแนนและชีวิต
        • มีปุ่ม Restart
      • Restart เริ่มเกมใหม่
        • ลบทุกอย่างที่ค้างอยู่หน้าจอออกหมด
        • Reset ค่าคะแนนและเวลาเดิมออก

เหตุการณ์ต่างๆ ที่เกิดในเกม จะคล้ายๆ กัน

      • player เก็บ item ได้คะแนน คะแนนแสดงที่ text score
      • player เก็บ bonus ได้คะแนนพิเศษ คะแนนแสดงที่ text score
      • player เก็บ monster ลบคะแนน/ชีวิตลด คะแนนแสดงที่ text scoreWrong/text live
      • คะแนนถึง - ผ่านด่าน
      • เวลาหมด/ชีวิตหมด - game over
      • เวลานับถอบหลัง - แสดงเวลาที่ text time
      • เก็บ / ชน / ยิง / รับ / คลิก --เหตุการณ์เดียวกัน แค่เปลี่ยนรูปแบบ
      • สุ่ม object
        • หล่นจากด้านบน
        • วิ่งแนวตรงจากด้านขวา หรือซ้าย
        • ปรากฏในหน้าเกม
        • ฯลฯ

หน่วยที่ 2 : เตรียมข้อมูล

เตรียมไฟล์ภาพสำหรับสร้างเกม

      • เตรียมฉากเกม
      • เตรียมไฟล์เสียง
      • เตรียมภาพอื่นๆ เช่น ยานพาหนะ อาวุธ ระเบิด ต้นไม้ ผลไม้ ฯลฯ
      • ดาวน์โหลดไฟล์ทั้งหมดไว้
      • อัพโหลดไว้ใน Google drive ของตนเอง (ควรสร้าง folder สำหรับทำเกม)

แหล่งดาวน์โหลด

ออกแบบตัวละครสำหรับสร้างเกม

      • http://maplestory.design
      • ใช้ Google Chrome หรือ FireFox ค่ะ
      • ตั้งชื่อตัวละควรแต่ละตัว
          • Player
          • Monster
          • Item
          • Bonus
      • ดาวน์โหลดตัวละครทุกตัว
      • อัพโหลดไปเก็บไว้ที่ photo ของตนเอง

หนังสือเรียนรายวิชาการสร้างเกม (E-Book)


หน่วยที่ 3 : รู้จักโปรแกรม Construct 2

โปรแกรม Construct2 ถูกสร้างขึ้นจาก 2 นักพัฒนาโปรแกรมชาวอังกฤษ 2 คน ที่ร่วมกันพัฒนาช่วงเรียนมหาวิทยาลัย และปล่อยโปรแกรมแรกออกมาชื่อว่า Construct Classic ซึ่งใช้ในการพัฒนาเกมส์ Direct X 9 แล้ว Export เป็น .exe เพื่อเล่นบน Desktop PC แต่เวลาผ่านไปไม่นาน ทั้งคู่เชื่อว่ากำลังจะเข้าสู่ยุคทองของ HTML5 จึงหยุดพัฒนา Construct Classic แล้วหันมาพัฒนาโปรแกรมใหม่ภายใต้ชื่อ Construct2 ที่ช่วยให้ผู้ต้องการสร้างเกมส์ สามารถใช้เป็น Tool สร้างสรรค์งานได้ โดยใช้คอนเซ็ปต์ที่ว่า “No programming required” หรือ “เขียนโปรแกรมไม่เป็น ก็สร้างเกมส์ได้”

Construct2 เป็นโปรแกรมสร้างเกมส์แบบ 2D แสดงผลแบบ WebGL ซึ่งหมายถึง เว็บที่ใช้ JavaScript ดึงศักยภาพของ Graphic Card มาช่วยประมวลผลให้การเคลื่อนที่ของเกมส์เร็วขึ้นไม่กระตุก ซึ่ง WebGL นี้ถูกพัฒนาขึ้นโดยทีม Firefox ร่วมกับ Chrome browser ทำให้การแสดงผลแบบ WebGL เริ่มนำมาใช้กับการแสดงผลเกมส์ในยุคปัจจุบัน มีเพียง Internet Explorer ที่ยังไม่ support การแสดงผลแบบ WebGL

นักพัฒนาโปรแกรมผู้ให้กำเนิด Construct2 และ Construct Classic

Download : https://www.scirra.com/construct2


Thomas Gullen

Ashley Gullen

หน่วยที่ 4 : Layout size & Window size

Layout size คือ พื้นที่ทั้งหมดของเกม

Window size คือ พื้นที่ๆ จะแสดงผลที่หน้าจอ


หน่วยที่ 5 : Insert new object

ในที่นี้เราจะเพิ่มตัวละครเข้ามาในเกม ได้แก่

    • player (ผู้เล่น)
    • monster (ตัวลดคะแนน)
    • item (ตัวเพิ่มคะแนน)
    • bonus (คะแนนพิเศษ)
    • solid (พื้น)
    • background (ฉากหลัง)
  • การเพิ่ม object เข้ามา ทำได้โดย
  • คลิกขวาที่ layout เลือก Insert object หรือ ดับเบิ้ลคลิกที่ layout

การเพิ่ม Object แบบ Sprite หรือ Title Background เข้ามา ทำได้ 2 วิธี

    • วาดภาพ player
    • เรียกภาพจากแหล่งอื่นเข้ามา
  • คลิกขวาที่ layout เลือก Insert object หรือ ดับเบิ้ลคลิกที่ layout
  • สร้าง Sprite 5 ตัว
    • ตั้งชื่อ player (ผู้เล่น)
    • ตั้งชื่อ monster (ตัวลดคะแนน)
    • ตั้งชื่อ item (ตัวเพิ่มคะแนน)
    • ตั้งชื่อ bonus (คะแนนพิเศษ)
    • ตั้งชื่อ solid (พื้น)
  • คลิกขวาที่ layout เลือก Insert object หรือ ดับเบิ้ลคลิกที่ layout
  • เลือก Title Background
    • ตั้งชื่อ background (ฉากหลัง)

หน่วยที่ 6 : Behaviors พฤติกรรมของ object

Behaviors คือ พฤติกรรมของ object ต่างๆ ใน construct2 แต่ละตัวอย่างมี 1 พฤติกรรมหรือมากกว่าก็ตามที่เราออกแบบเอาไว้

Behaviors ของ player

  • คลิกที่ตัว player
  • เลือก Behaviors จะปรากฏหน้าต่าง
  • เลือกประเภทของ Behaviors ตามภาพ
    • เลือกประเภท Platform
    • เลือก Bound to Layout เพื่อไม่ให้ตัว player ออกนอกหน้าจอ (จะเลือกหรือไม่ ก็แล้วแต่เกม)
    • เลือก ScrollTo เพื่อให้กล้องจับที่ตัว player ตลอดเวลา การเลือกแบบนี้ทำให้ภาพฉากเคลื่อนไหวได้ และมีความรู้สึกว่าเราได้กระโดดไปพร้อมกับ player ***
  • ปิดหน้าต่าง Behaviors

Behaviors ของ solid (พื้น)

  • เลือก solid เพื่อให้พื้นแข็ง ตัว player สามารถเหยียบและเดินได้
  • ปิดหน้าต่าง Behaviors

พื้นและก้อนอิฐ เลือกเป็น Solid เพราะทำให้กลายเป็นของแข็ง สามารถเดินหรือเหยียบได้

    • คลิกเลือกที่ภาพพื้น (ในกรณีที่ต้องการใช้ภาพฉากหลังเป็นพื้นของเกม)
    • เลือก Opacity ปรับให้เป็นภาพใส
    • เลือก Invisible เพื่อไม่ให้แสดงเวลา Run game
  • คลิกเลือกที่ภาพพื้นหรือก้อนอิฐ
  • เลือก behaviors
  • คลิกเครื่องหมาย +
  • เลือก behaviors ตามที่เราออกแบบไว้ เช่น
    • พื้น อิฐ ที่ต้องการให้เดินหรือเหยียบได้ เลือก Solid
    • อิฐ หรือ object อื่นๆ ต้องการให้เคลื่อนที่ไปมา เลือก Sine เป็นต้น
  • คลิกเลือกที่ภาพพื้นหรือก้อนอิฐ
  • เลือก behaviors
  • คลิกเครื่องหมาย +
  • เลือก behaviors ตามที่เราออกแบบไว้ เช่น
    • พื้น อิฐ ที่ต้องการให้เดินหรือเหยียบได้ เลือก Solid
    • อิฐ หรือ object อื่นๆ ต้องการให้เคลื่อนที่ไปมา เลือก Sine เป็นต้น

Player เลือกได้หลายแบบตามที่เราออกแบบเกม เช่น

    • platform สำหรับเกมแพลตฟอร์ม เดิน ยืน กระโดด
    • 8 Direction เคลื่อนที่ได้อย่างอิสระ
    • Drag & Drop ลากแล้ววาง

ทำได้โดย

    • คลิกเลือกที่ Player
    • เลือก behaviors
    • คลิกเครื่องหมาย +
    • เลือก behaviors ตามที่เราออกแบบไว้ เช่น
      • Platform สำหรับเกมแพลตฟอร์ม เดิน ยืน กระโดด
        • Max speed กำหนดความเร็วสูงสุดของการเคลื่อนที่
        • Acceleration กำหนดอัตราเร่งของการเคลื่อนที่ในแนวนอน
        • Deceleration กำหนดอัตราการถ่วงความเร่งเมื่อมีการเคลื่อนที่ไปในทิศทางตรงกันข้ามกับทิศทางเดิม
        • Jump strength กำหนดความเร็วเริ่มต้นของการกระโดดเมื่อกดลูกศรขึ้น
        • Gravity กำหนดค่าแรงโน้มถ่วง
        • Max fall speed กำหนดความเร็วสูงสุดของการเคลื่อนที่ลง
        • Double jump กำหนดให้เป็น enable จะทำให้ตัวละครสามารถกระโดดกลางอากาศได้
        • Jump sustain กำหนดเวลาเป็นมิลลิวินาทีในการกระโดด ก่อนที่จะใช้ค่าแรงโน้มถ่วงมาจัดการกับตัวละคร
        • Default controls
          • กำหนดค่าเป็น yes จะใช้การควบคุมการเคลื่อนที่ด้วยลูกศรซ้าย ขวา และขึ้นด้านบน ใช้กับ Player 1
          • กำหนดเป็น No จะต้องใช้การกำหนดค่าของการเคลื่อนที่ด้วยตัวเอง ใช้กับ Player 2
        • Initial state ถ้ากำหนดเป็น enable จะใช้ behavior นี้เป็นสถานะเริ่มต้นของตัวละคร เมื่อเริ่มเล่นเกม
      • Flash ให้กระพริบ
      • Fade ให้จางหายไป (เลือก No เพื่อให้แสดงเวลาถูกกระทำเท่านั้น)
      • Bound to layout ไมให้ออกนอกกรอบของเกม
      • Destroy outside layout ออกนอกกรอบเกม player จะถูกทำลาย เป็นต้น

Monster เลือกได้หลายแบบตามที่เราออกแบบเกม เช่น

    • Bullet เคลื่อนที่ในแนวเส้นตรงตามทิศทางที่เราเลือก บน-ล่าง ซ้าย-ขวา
    • Sine เคลื่อนที่ตามลักษะที่เลือก เช่น เดินกลับไปกลับไปมา
    • Flash ให้กระพริบ
    • Fade ให้จางหายไป (เลือก No เพื่อให้แสดงเวลาถูกกระทำเท่านั้น)

ทำได้โดย

    • คลิกเลือกที่ Player
    • เลือก behaviors
    • คลิกเครื่องหมาย +
    • เลือก behaviors ตามที่เราออกแบบไว้ เช่น
      • Bullet เคลื่อนที่ในแนวเส้นตรงตามทิศทางที่เราเลือก บน-ล่าง ซ้าย-ขวา
      • Flash ให้กระพริบ
      • Fade ให้จางหายไป (เลือก No เพื่อให้แสดงเวลาถูกกระทำเท่านั้น)
      • Sine เคลื่อนที่ตามลักษะที่เลือก เช่น เดินกลับไปกลับไปมา