05-02-2016, 11:13 PM
ขอถามหลักการ ของระบบฉากต่อสู้ลักษณะ Turn base หน่อยครับ
เรื่องของการเลือกเมนูอะไรพวกนี้ด้วยอะครับ
เรื่องของการเลือกเมนูอะไรพวกนี้ด้วยอะครับ
Game Maker ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ
|
05-02-2016, 11:13 PM
ขอถามหลักการ ของระบบฉากต่อสู้ลักษณะ Turn base หน่อยครับ
เรื่องของการเลือกเมนูอะไรพวกนี้ด้วยอะครับ
05-02-2016, 11:30 PM
ระบบเทิร์นเบสนี่ ผมไม่มีความรู้จริงๆครับ ต้องรอผู้มีความรู้ท่านอื่นมาตอบล่ะครับ =_=
https://www.facebook.com/guless.jn สมุดหนังหน้าสำหรับการตามข้อมูลรั่วๆ ที่หื่นบ้างอะไรบ้าง
แนะนำไปหาพวก example ตามบอร์ดนอกมาแกะดูครับ ผมเองยังไม่เคยลองทำเลย แหะๆ
แต่จะบอกเท่าที่ผมพอนึกออกนะครับ แบบซิมเปิลเลย เป็นโครงๆ อ่านแล้วเอาไปประยุกต์เอาเองน่ะครับ โดยค่าที่ใช้จะมี HP , ATK , DEF จะผลัดกันตี นำ ATK - DEF จะได้ค่าดาเมจที่นำไปลบ HP อีกที ////////////////////////////////////////////////////////////////////// *ส่วนนี้ไม่ค่อยเกี่ยวเท่าไหร่นัก เริ่มจากทำให้ตัวละครที่อยู่ในแมพมาฉากต่อสู้ก่อน เขียนโค้ดให้มันบันทึกตำแหน่งของตัวละครก่อนครับ เพื่อว่าต่อสู้เสร็จจะได้มาตำแหน่งเดิมต่อ char_x = character.x char_y = character.y #สร้างตัวแปรขึ้นมา โดยอิงจากตำแหน่งของ obj character จากนั้นก็ให้ไปสู่ room ฉากแบทเทิล ////////////////////////////////////////////////////////////////////// ฉากแบทเทิลใน Room นี่ก็จะแบ่งเป็น 2 ส่วนหลักๆ คือ 1.กราฟฟิคตัวละคร รูปของผู้เล่น กับศัตรู เวลาโจมตี เวลาป้องกัน เวลาตาย เวลาแพ้ อะไรงี้ 2.Command เป็นคำสั่งให้คลิกเพื่อออกคำสั่งให้ตัวละคร ก่อนอื่นเราจะต้องไปเขียนสคริปต์สำหรับควบคุมการต่อสู้ ก่อนอื่นต้องเซ็ทค่าตัวละครและศัตรูในฉากก่อน char_hp = 10 , enemy_atk = 2 อะไรก็ว่ากันไป จัดการเซ็ทให้หมดทั้ง hp , atk , def สมมุตผมตั้ง turn โดยกำหนด 0 คือ เทิร์นผู้เล่น , 1 คือ เทิร์นศัตรู if turn = 0 #player turn { damage = char_atk - enemy_def ; enemy_hp -= damge ; turn = 1 ; } if turn = 1 #enemy turn { damage = enemy_def - char_atk ; char_hp -= damge ; turn = 0 ; } ต่อไปจะเราจะมางงกันอีกด้วยการเขียนโค้ดทำคอมมานด์ โดยสร้าง obj มาพวก โจมตี , ใช้สกิล , หนี สมมุติ ผมกำหนดตัวแปร command ถ้า 1 คือ โจมตี , 2 ใช้สกิล , 3 หนี เขียนโค้ดใส่ใน obj พวกนั้นให้เวลาคลิกมันกำหนดตัวแปรขึ้นมา if turn = 0 #player turn { if command = 1 #attack { damage = char_atk - enemy_def ; enemy_hp -= damge ; turn = 1 ; } if command = 2 #skill { ..... } if command = 3 #หนี { .... } } พวก obj command ก็ทำให้มันใช้ได้เฉพาะเทิร์นเราด้วย โดยการเขียนโค้ดใส่มัน if คลิก { if turn = 0 { command = 1;} } ก็จะได้โครงสร้างเทิร์นเบสแบบง่ายๆละ ต่อไปเรื่องกราฟฟิคตัวละคร เวลามันทำคอมมานด์อะไรเราก็สั่งเปลี่ยนรูปเป็นรูปท่าทางนั้นเลยครับ นี่คือหลักการแบบง่ายๆครับ ลองเอาไปประยุกต์ต่อนะครับ ส่วนอื่นๆที่ยุ่งยากกว่านี้จะไม่ขอพูดถึงละกัน //ไม่ต้องเชื่อผมมากก็ได้ ผมเขียนไปยังเบลอๆ งงเลยๆ เหอๆ ปล.จะทำ rpg ทำไมไม่ใช้ rpg maker ละนั่น
05-03-2016, 01:55 AM
ขอบคุณมากเลยครับ จะลองทำความเข้าใจแล้วไปทำดูนะครับ
ปล.ผมทำเป็นโปรเจคจบอะครับ อาจารย์เค้าไม่ให้ใช้ RPG Maker บอกมันง่ายไปให้โชว์ฝีมือหน่อย ผมละเศร้าเลย T^T
05-03-2016, 02:06 AM
05-03-2016, 02:21 AM
05-03-2016, 02:29 AM
05-03-2016, 09:18 AM
ทำ RPg แบบแอ็คชั่นก็ได้นะครับ อย่างเกม Zelda หรือซีรี่ย์ Tale of (ในฉากสู้) ไม่จำเป็นต้องเป็นผลัดกันตี เกมแนวผสมกำลังดีครับ
ถ้าจะผลัดกันโจมวัยรุ่นะครับ ให้ไปเป็นแนวคิดก่อนนะ 1.เทิร์นฝ่ายผู้เล่น -ถ้าผู้เล่นในทีมยังไม่ตายก็ให้ออกคำสั่งต่างๆได้ ถ้าตัวละครที่เลือกตายก่อนก็ข้ามไปตัวอื่น จนกว่าจะหมดจำนวนคนในทีม 2.เทิร์นฝ่ายศัตรู - ตั้งสุ่มเลขเงื่อนไขการออกสกิล เช่น0=โจมตีปกติ 1=ยืนนิ่งๆ 2=สกิล จากประสบการณ์ตรง ตอนทำสุ่มเลข 0กับ1จะออกบ่อยมาก ยิ่งเลขเยอะๆออกยาก ถ้าเลขที่สุ่มออกตามที่กำหนดก็ให้ศัตรูขยับ ถ้าสู้กับฝ่ายผู้เล่นที่เป็นทีมให้สุ่มเลขแทนตัวผู้เล่นแต่ละตัว ตกเลขไหนก็โจมีผู้เล่นนั้นไป แต่ถ้าตัวละครนั้นตายก่อนแล้วเราก็ต้องสุ่มเลขใหม่(ตั้งเงื่อนไขดักอีกชั้น ไม่งั้นมันจะซ้ำคนที่ตายแล้ว)
Spoiler:
The following 4 users say Thank You to arkman for this post:
• Ivan_GilDong, jojo741963, Mysticphoenix, slost
05-03-2016, 11:38 AM
ทำแนว Act RPG ง่ายกว่าครับ
RPG แบบสู้สลับเทิร์น ผมยัง งงอยู่เลย - -"
05-03-2016, 12:23 PM
ตามนั้นครับ RPG เทิร์นเบส เขียนระบบซักซ้อนมาก
ทำ Action RPG ดูก็ดีครับ //รึว่าอาจารย์ไม่ให้ทำ Action RPG อีก ?! |
« Next Oldest | Next Newest »
|