irpg Community
ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella Game Maker Academia (https://irpg.in.th/forum-29.html)
+--- Forum: Game Maker Engine School (https://irpg.in.th/forum-30.html)
+--- Thread: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ (/thread-2847.html)

Pages: 1 2


ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - iceman30107 - 05-02-2016

ขอถามหลักการ ของระบบฉากต่อสู้ลักษณะ Turn base หน่อยครับ

เรื่องของการเลือกเมนูอะไรพวกนี้ด้วยอะครับ


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - jin - 05-02-2016

ระบบเทิร์นเบสนี่ ผมไม่มีความรู้จริงๆครับ ต้องรอผู้มีความรู้ท่านอื่นมาตอบล่ะครับ =_=


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - slost - 05-03-2016

แนะนำไปหาพวก 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 ละนั่น


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - iceman30107 - 05-03-2016

ขอบคุณมากเลยครับ จะลองทำความเข้าใจแล้วไปทำดูนะครับ

ปล.ผมทำเป็นโปรเจคจบอะครับ อาจารย์เค้าไม่ให้ใช้ RPG Maker บอกมันง่ายไปให้โชว์ฝีมือหน่อย ผมละเศร้าเลย T^T


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - slost - 05-03-2016

(05-03-2016, 01:55 AM)iceman30107 Wrote: ขอบคุณมากเลยครับ จะลองทำความเข้าใจแล้วไปทำดูนะครับ

ปล.ผมทำเป็นโปรเจคจบอะครับ อาจารย์เค้าไม่ให้ใช้ RPG Maker บอกมันง่ายไปให้โชว์ฝีมือหน่อย ผมละเศร้าเลย T^T

เวรกำเลย เขาจำกัดเหรอครับว่าต้องทำเป็นแนว RPG

//ลองหา example ดูรึยังครับ


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - iceman30107 - 05-03-2016

(05-03-2016, 02:06 AM)slost Wrote: เวรกำเลย เขาจำกัดเหรอครับว่าต้องทำเป็นแนว RPG

//ลองหา example ดูรึยังครับ

ตอนแรกบอกเค้าเองว่าจะทำ RPG ไม่รู้ว่ามันยากครับ 555 ตอนนี้เปลี่ยนไม่ได้แล้ว
ผมลองหาดูบ้างแล้วครับ ก็ลองเอามาปรับ แต่อยากรู้เรื่องหลักการทำงานของระบบ
จะได้แกะง่ายมากขึ้น


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - iceman30107 - 05-03-2016

(05-02-2016, 11:30 PM)jin Wrote: ระบบเทิร์นเบสนี่ ผมไม่มีความรู้จริงๆครับ ต้องรอผู้มีความรู้ท่านอื่นมาตอบล่ะครับ =_=

ไม่เป็นไรครับ เดี๋ยวผมมีเรื่องอื่นมาถามอีกเยอะ แหะๆๆ


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - arkman - 05-03-2016

ทำ RPg แบบแอ็คชั่นก็ได้นะครับ อย่างเกม Zelda หรือซีรี่ย์ Tale of (ในฉากสู้) ไม่จำเป็นต้องเป็นผลัดกันตี เกมแนวผสมกำลังดีครับ

ถ้าจะผลัดกันโจมตีนะครับ ให้ไปเป็นแนวคิดก่อนนะ
1.เทิร์นฝ่ายผู้เล่น
-ถ้าผู้เล่นในทีมยังไม่ตายก็ให้ออกคำสั่งต่างๆได้ ถ้าตัวละครที่เลือกตายก่อนก็ข้ามไปตัวอื่น จนกว่าจะหมดจำนวนคนในทีม

2.เทิร์นฝ่ายศัตรู
- ตั้งสุ่มเลขเงื่อนไขการออกสกิล เช่น0=โจมตีปกติ 1=ยืนนิ่งๆ 2=สกิล จากประสบการณ์ตรง ตอนทำสุ่มเลข 0กับ1จะออกบ่อยมาก ยิ่งเลขเยอะๆออกยาก ถ้าเลขที่สุ่มออกตามที่กำหนดก็ให้ศัตรูขยับ ถ้าสู้กับฝ่ายผู้เล่นที่เป็นทีมให้สุ่มเลขแทนตัวผู้เล่นแต่ละตัว ตกเลขไหนก็โจมีผู้เล่นนั้นไป แต่ถ้าตัวละครนั้นตายก่อนแล้วเราก็ต้องสุ่มเลขใหม่(ตั้งเงื่อนไขดักอีกชั้น ไม่งั้นมันจะซ้ำคนที่ตายแล้ว)


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - sitplay - 05-03-2016

ทำแนว Act RPG ง่ายกว่าครับ

RPG แบบสู้สลับเทิร์น ผมยัง งงอยู่เลย - -"


RE: ขอถามเรื่องระบบฉากต่อสู้หนอ่ยครับ - slost - 05-03-2016

ตามนั้นครับ RPG เทิร์นเบส เขียนระบบซักซ้อนมาก

ทำ Action RPG ดูก็ดีครับ

//รึว่าอาจารย์ไม่ให้ทำ Action RPG อีก ?!