เปิดโปรแกรม Mappy GBA FE ขึ้นมา ถ้าจำไม่ได้มันคืออะไรก็ย้อนไปอ่าน Link นี้
พื้นฐานโปรแกรมต่างๆที่จำเป็น
หลังจากนั้นคลิก File ----- New Map
2 ช่องแรก ช่อง Pixels wide กับ Pixels high ให้ใส่ 16 ทั้งคู่
2 ช่องด้านล่างคือความกว้างกับความสูงของแผนที่แล้วแต่จะกำหนด ผมใส่ไป 20x20
ด้านล่างติ๊ก Truecolour เหมือนเดิม
จากนั้นกด OK
ตรงช่องความกว้างกับความสูงของแผนที่อย่างต่ำเลยต้องใส่ให้พอดีกับหน้าจอ GBA ห้ามต่ำกว่านั้น ผมจำไม่ได้ว่าเท่าไรคงจะ สูง 10 กว้าง 15 มั้ง ถ้าใส่ต่ำกว่านี้จะไม่สามารถนำไปใส่ในเกมส์ได้ หลังจากกด OK แล้วจะขึ้นหน้าจอว่าจะต้อง Import กราฟฟิคเข้ามาถึงจะสร้างแผนที่ได้ ก็กดตกลงไป จากนั้นคุณก็จะได้แผนที่ดำๆมาแบบนี้
เอาล่ะทีนี้วาดไปเลย อยากใส่อะไรก็ใส่ไป ภูเขา แม่น้ำ ปราสาท ตามสบาย ตรงช่องที่มันบั๊กเป็นตัวเลขก็ไม่ต้องไปสนใจมัน ผมวาดแบบนี้
จากนั้นก็ไปที่ File ---- Save As เพื่อเซฟแผนที่ซะ ผมตั้งชื่อว่า TEST ปกติแล้วมันจะเป็นนามสกุล .FMP เพราะฉะนั้นไฟล์แผนที่ของผมคือ TEST.FMP
หลังจากเซฟแล้วก็ต้องทำการ Export ด้วย เพราะการ Save ธรรมดาก็แค่เอาไว้เปิดแก้ไข เพิ่มเติมในโปรแกรมนี้เท่านั้น ยังไม่สามารถเอาไปใส่ในเกมส์ได้ ถ้าจะเอาไปใส่ในเกมส์ต้องทำการ Export ให้ไปที่ File ----- Export ติ๊กถูกตามลูกศรสีแดงตามรูป จากนั้นกด OK ทีนี้เราก็จะได้ไฟล์นามสกุล .MAR เอาไว้ใส่ในเกมส์แล้ว ส่วนอีกอันเป็นไฟล์รูปภาพไว้ดูเฉยๆ
ต่อไปเราจะเอาแผนที่ที่เราทำนี้ไปใส่ในเกมส์ โดยโปรแกรมต่อไปที่จำเป็นที่ต้องใช้คือ HxD Hex Editor เอาไว้ใช้ดูตำแหน่งหรือแก้ไขข้อมูลเลขฐาน 16 ในเกมส์ การที่เราจะเอาแผนที่ไปใส่ในเกมส์นั้นเราจำเป็นต้องรู้ตำแหน่งที่จะต้องนำไปใส่ก่อน แล้วจะรุ้ได้ยังไงล่ะว่าต้องเอาไปใส่ในตำแหน่งไหน ? คำตอบคือใส่ตำแหน่งไหนก็ได้ที่มันว่างไม่มีข้อมูลอยู่ในเกมส์ (Free Space) ซึ่งตำแหน่งที่ว่างนี้มันจะแทนด้วย FFFFFF หรือ 000000
เปิดโปรแกรม HxD ขึ้นมาก่อน จากนั้นเลือก File ---- Open แล้วเลือกเกมส์ Fire Emblem 7 จะได้ดังรูป
ด้านซ้ายสุดเขาเรียกว่า Offset (ตัวเลขสีน้ำเงิน 8 ตัว) เอาไว้อ้างอิงตำแหน่ง วิธีดูคือดูแถวซ้ายก่อน แล้วตัวขวาสุดค่อยแทนด้วยแถวบน เช่น ตำแหน่ง 00000000 จะมีข้อมูลคือ 2E ตำแหน่ง 0000001 จะมีข้อมูลคือ 00 ตำแหน่ง 00000003 จะมีข้อมูลคือ EA ตำแหน่ง 0000000A จะมีข้อมูลคือ A2 ตำแหน่ง 00000127 จะมีข้อมูลคือ E3 ถ้าเข้าใจตัวอย่างที่ยกมานี้ก็แสดงว่าดูเป็นแล้ว ใครยังไม่เข้าใจก็ค่อยๆอ่านดูอีกรอบ
ด้านบนนั้นจะเห็นว่าข้อมูลมันอัดแน่นมาก ไม่มี Free space อยู่เลย ตัวอย่าง Free space จะเป็นแบบนี้
Search ---- Goto... แล้วพิมพ์ DE9640 กด OK โปรแกรมก็จะพามาตำแหน่งตามภาพ
พวกนี้คือ Free space หรือพื้นที่ว่าง ไม่มีข้อมูล เราสามารถนำแผนที่หรืออะไรก็ได้ที่เราทำเองสามารถนำมาใส่ในพื้นที่ตรงนี้ได้ แต่ผมไม่แนะนำเท่าไร เพราะบางทีจะสับสน ข้อมูลมันจะไม่เป็นระเบียบต้องคอยย้อนไปย้อนมาหาพื้นที่ว่าง ผมแนะนำให้ใส่ไว้ล่างสุดเลย เพราะยังไงก็เป็นพื้นที่ว่างอยุ่แล้ว ลองเลื่อนลงมาล่างสุดเลยคับจะเห็นตามรูป
ตำแหน่ง 00FFFFFF จะมีข้อมูลคือ BF (ขวาล่างสุด) นั่นคือข้อมูลตัวสุดท้ายของเกมส์แล้ว หลังจากนี้จะเป็นพื้นที่ว่างทั้งหมด เราสามารถใส่อะไรก็ได้หลังจากนี้ โดยตั้งแต่ตำแหน่ง 01000000 ลงไปจะว่างทั้งหมด (นับเอาเองต่อจาก 00FFFFFF ก็คือ 01000000) ซึ่งผมแนะนำให้ใส่ตรงนี้มากกว่า จะได้เรียบเรียงง่าย ไม่ต้องไปยุ่งกับพื้นที่ด้านบนของเกมส์ด้วย เพื่อหลีกเลี่ยง Error
เอาล่ะต่อไปผมจะเอาแผนที่ที่เพิ่งได้มามาใส่ไว้ตรงตำแหน่ง 01000000 ปิดโปรแกรมนี้ไปก่อน จากนั้นให้เปิดโปรแกรม MAR array inserter เพื่อนำแผนที่ที่เราสร้างไปใส่ในเกมส์
ช่อง MAR File ให้เลือกตัวแผนที่ที่ Export จากโปรแกรมก่อนหน้านี้
ROM ใส่ Rom เกมส์ท่ต้องการ (ผมใส่ FE7)
Map size ใส่ขนาดที่กำหนดไว้ตั้งแต่แรกก่อนที่จะเริ่มสร้างแผนที่
Offset ตำแหน่งที่จะใส่ ผมใส่ไปในตำแหน่ง 1000000
จากนั้นกด Run แล้วจะขึ้นกล่องข้อความมาว่า Finshed ก็กดปิดโปรแกรมได้
ทีนี้หลังจากใส่แล้วลองไปเช็คในโปรแกรม HxD ดู ให้เปิด HxD ขึ้นมาแล้วโหลด Rom FE7 ตัวที่เราใส่แผนที่ลงไป แล้วเลื่อนลงมาล่างสุดเลยจะเห็นว่าตำแหน่งล่างสุดต่อจาก 00FFFFFF คือ 1000000 จะมีข้อมูลใหม่ปรากฏขึ้นมา ซึ่งนั่นก็คือข้อมูลแผนที่ที่เราใส่ไปนั่นเอง
หลังจากดูเสร็จก็ปิดโปรแกรม HxD ไปได้เลย ทีนี้ต่อไปเราจะไปกำหนดค่าใน Nightmare Program ให้มันแสดงแผนที่นี้ออกมาในเกมส์
เปิด Nightmare Program ขึ้นมาแล้วโหลด Rom FE7 ที่เราใส่แผนที่เข้าไป จากนั้นไปที่ Modules ---- Load Modules แล้วเข้าไปในโฟลเดอร์ตามนี้ GBA Nightmare Modules\GBA Nightmare Modules\FE7 Nightmare Modules\Event Modules เลือก FE7 Event References.nmm
พอโหลด FE7 Event References.nmm มาแล้วทีนี้เราจะไปเปลี่ยนตำแหน่งให้แสดงแผนที่ใหม่ที่เราใส่ไป ช่องที่สองให้เลือก Prologue map
ช่อง Pointer ให้ใส่ 0x9000000
ตำแหน่งแผนที่ใหม่ของเราคือ 1000000 แต่เวลาใส่ต้องใส่ 0x8 + 1 = 0x9000000
เหตุที่ใส่เป็น 0x9 ก็เพราะต้องเอาตัวเลขหลักที่สองไปบวกกับ 0x8 ทุกครั้ง ก็เลยได้ใส่เป็น 0x9
ตำแหน่งแผนที่เต็มๆคือ 01000000 จะเห็นว่าหลักที่สองมันเป็น 1 ก็เลยเอาไปบวก 8 = 9 เพราะฉะนั้นข้อมูลทั้งหมดที่เราจะใส่ต่อจากนี้ไปเวลาเปลี่ยนก็ต้องเป็น 0x9 ทั้งหมด (ข้อมูลตั้งแต่ 01000000 ขึ้นไป) ส่วนตัวหลังก็ใส่ตามเดิม เช่น ข้อมูลตำแหน่งใหม่คือ 010000044 เวลาใส่ก็ต้องใส่เป็น 0x9000044 เป็นต้น
จากนั้นก็กด Apply Change แล้ว Save Rom
ช่องที่สองที่เขียนว่า 0x03-0x04 Prologue Map คือ Event แผนที่ ถ้าเริ่มด่าน Prologue จะโหลดแผนที่ที่ตำแหน่งนี้ทุกครั้ง
เอาล่ะทีนี้ลองเล่นดู จะเห็นว่าปราสาทหาย พื้นน้ำแปลกๆ ช่องดำๆคืออะไร ? ทั้งๆที่ตอนวาดก็วาดแผนที่ปกติ
ที่เป็นแบบนี้ก็เพราะว่า Object และ Palette มันไม่ตรงกัน เลยทำให้แสดงผลผิดพลาด เอาล่ะทีนี้ก็เปิด Nightmare Program อีกรอบ แล้ว Load Modules ChapterDataEditor.nmm
จากตัวอย่าง
Object Set1 ผมใส่ 1C
Object Set1 ผมใส่ 1D
Palette ผมใส่ 1E
Tile Configuration1 ผมใส่ 1F
จะได้ตามรูป Tile Animation คือพวกภาพเคลื่อนไหว เช่น แม่น้ำ ลาวา อะไรพวกนี้
จากนั้นกด Apply Change แล้ว Save Rom แล้วปิดโปรแกรม เอาล่ะทีนี้ลองเล่นเกมส์ใหม่อีกรอบ จะเห็นว่าปราสาทโผล่มาแล้ว จะได้แผนที่ตรงตามที่เราสร้างไว้ทุกอย่าง
พอสร้างแผนที่และเอาไปใส่ในเกมส์แล้วคุณไม่ต้องกลัวว่าเราจะเดินทะลุได้ทุกอย่าง เรายังเดินติดกำแพง เดินข้ามน้ำไม่ได้เหมือนเดิม และพวกป้อมหรือหน้าปราสาทก็จะฟื้นฟู HP ได้ตามปกติ ส่วนถ้าสร้างมาแล้วศัตรูหรือฝั่งเรามันดันไปอยุ๋กลางน้ำหรือติดกำแพงก็สามารถใช้ Modules Chapter Unit Editor แก้ไขตำแหน่งเกิดของศัตรูได้ โดยที่ตำแหน่งซ้านบนสุดคือ x=0 , y=0 (นับเริ่มที่ 0)
แต่เวลาผมสร้างแผนที่เองแล้วเอาไปใส่ในเกมส์แบบนี้ผมก็ทำ Event เองด้วย เพราะจะได้กำหนดตำแหน่งเกิดของศัตรูและฝ่ายเราได้เลย โดยที่ไม่ต้องไปตามนั่งแก้ทีหลังว่าตัวไหนอยู๋ในน้ำบ้าง เพราะถ้าเราแค่เอาแผนที่ไปใส่เฉยๆแบบนี้ ตำแหน่งศัตรูกับฝ่ายเราจะอ้างอิงจากข้อมูลเดิมของ FE7 บางทีก็ไปเกิดบนน้ำ บนภูเขา ตามแก้กันวุ่นวาย
ครั้งนี้ขอจบเพียงเท่านี้ก็แล้วกัน ไว้มาต่อกันครั้งหน้า เท่านี้ก็สามารถสร้างแผนที่แล้วเอาไปใส่ในเกมส์กันได้เองแล้ว ถึงจะต้องตามแก้ตำแหน่งเกิดทีหลังก็ตาม
ไม่มีความคิดเห็น:
แสดงความคิดเห็น