irpg Community

Full Version: การสร้าง Homebrew DS ด้วย DS Game Maker
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
บทความนี้เกิดจากการเรียบเรียง ผสมแนวคิดส่วนของผู้เขียน หากผิดพลาดประการใดขออภัย ณ ที่นี้ด้วยครับ

[Image: logo.png]
DS Homebrew คืออะไร
DS Homebrew เป็นซอร์ฟแวร์สำหรับเครื่องเล่นเกม นินเทนโดดีเอส ที่พัฒนาโดยไม่ใช้ Official Development Tools ของนิน จึงไม่สามารถนำมาใช้งานในเชิงพาณิชย์ได้ เนื่องจากไม่มี Official License จากทางนิน ส่วนใหญ่ถูกพัฒนาในลักษณะเป็นงานอดิเรกของโปรแกรมเมอร์ เมื่อตอบสนองความต้องการในฐานะแฟนเกม เพื่อเรียนรู้ระบบ หรือแม้แต่เพื่อเปิดช่องโหว่ของระบบก็มี

วิวัฒนาการการพัฒนา DS Homebrew
ช่วงแรกเริ่มนั้นไม่มีอะไรเลยจึงใช้วิธีการแกะชุดคำสั่งออกมาใช้อย่างเดียว(Re assembler) จากนั้นได้มีการรวบรวมคำสั่งต่างๆเข้าด้วยกันจนกลายมาเป็น Devkit Pro ในปัจจุบัน แต่ว่าตัว Devkit Pro นั้นเป็นเพียง Library เท่านั้น การพัฒนา DS Homebrew จึงมีแต่โปรแกรมเมอร์ที่ทำเป็นส่วนใหญ่ จนกระทั่งการมาของ
DS Game Maker (ปัจจุบัน Homebrew ส่วนใหญ่ก็ยังคงใช้ Devkit Pro อย่างเดียวอยู่ดี)

แนะนำ DS Game Maker
dsgamemaker.com
DS Game Maker เป็นซอร์ฟแวร์สำหรับพัฒนา DS Homebrew มีรูปแบบโปรแกรมเป็นแบบกราฟฟิก คล้าย Game Maker รุ่นเก่า เดิมทีขายในราคา 14.99$ ปัจจุบันตัวเต็มแจกฟรีในเว็บเลย แมวร้อง

โปรแกรมจะเป็นแบบคลิก/ลาก/วาง ทำให้ผู้สร้างที่ไม่เคยใช้มาก่อนหรือไม่มีทักษะด้านโปรแกรมมิ่งสามารถใช้งานได้

ผลลัพธ์ที่ได้หลังจาก compile จะเป็นไฟล์ .nds ซึ่งสามารถนำไปใส่ตลับ Flash เพื่อเล่นบนเครื่องดีเอส หรือเล่น emulator อย่าง no$gba ก็ได้
[Image: 3.png]

ข้อมูลจำเพาะโดยย่อ ของ DS
1.จอล่างและบนของ DS มีความละเอียดเพียง 256x192
2.จอล่างเท่านั้นที่สามารถ Touch screen ได้
3.CPU เป็น ARM7 33 MHz (ในตระเราล DSi เป็น ARM9 67 MHz) โดยมี Ram 4 MB
4.ไฟล์ save ของตลับมีความจุ 256 KB
5.มี WiFi ในตัว

รายละเอียดเพิ่มเติม
หาอ่านวิธีใช้ได้ที่ dsgamemaker.com/help

หัวข้อพิเศษ (ตาม Request)
0.ปัญหาที่พบและข้อเสนอ
  • DS Game Maker และ Devkit Pro ต้องติดตั้งใน Drive C เท่านั้น
  • DS Game Maker จะต้องรันในโหมด admin เท่านั้น (run as administrator)
  • หากพบ error: too few arguments to function 'nitroFSInit'
    สาเหตุ: เกิดจาก bug ใน toolchain version ใหม่ของ Devkit Pro
    วิธีแก้: ไปที่เมนู Tools เลือก Game Setting... จากนั้นจะปรากฏหน้าต่าง ให้เอาเครื่องหมาย ถูก ออกจากตัวเลือก Perform NitroFS Initialize จากนั้นกด OK เป็นอันเสร็จ
    [Image: 1.jpg]

  • หากพบ In function `PA_WaitForVBL': หรือ In function `Set_Sprite': และ undefined reference to `DSGMPal0_Pal'
    สาเหตุ: เกิดจากมีการเพิ่มหรือเปลี่ยนรูป Sprite แล้ว compiler หาไม่เจอ จึงทำการ link ไม่ได้
    วิธีแก้: ไปที่เมนู Tools เลือก Advance จากนั้นเลือก Signify Graphics Change
    [Image: 2.jpg]


  • ทุกครั้งที่ทำการเพิ่มหรือเปลี่ยนไฟล์รูปภาพ/เสียง ของ Sprite, Background และ Sound
    ต้องทำการ Signify Graphics/Sound Change ทุกครั้งเพื่อให้ compiler หาเจอ (จะทำก่อน compile หรือ test game ครั้งเดียวเลยก็ได้)

    [Image: 28.jpg]

1.การเคลื่อนที่ตัวละคร (Request โดย ท่านอาร์ค)
การอ่านค่าตำแหน่ง x,y ของแต่ละ object นั้นสามารถทำได้ง่ายๆโดยการใช้ [X] และ [Y]
มาดูวิธีการกันดีกว่า
เคลื่อนที่ Player ด้วยปุ่มขึ้น/ลง/ซ้าย/ขวา
1.สร้าง Sprite Player ขึ้นมา
Show ContentSpoiler:
2.สร้าง Object Player
Show ContentSpoiler:
3.สร้าง Room
Show ContentSpoiler:
4.ทดลองรัน
Show ContentSpoiler:
จองไว้เพื่อมีเพิ่มนะครับ (ถ้ามีเยอะๆตรงนี้จะใส่เป็นสารบัญแทน)
ติดตามต่อไปครับ เผื่อทำเกมลง DS อิๆ(ฝันอยู่)
โฮ่ย แจ๋วๆๆ
ท่าน XthemeCore เชียวชาญหลายเครื่องมือจัง แพนด้าจ๊าก
สุดยอดคับ เป็นกำลังใจให้คับ