้ข้อห้ามข้อที่ 1 ในการจัด Event ภายในเกม by

29
Jun
0

**ที่เขียนไว้ว่า ข้อที่ 1 ตั้งแต่ใน Title เลย เพราะว่า ณ ตอนนี้มีข้อเดียวที่เจอมากับตัวแบบชัดเจนครับ ว่าอนาคตจะไม่ทำแบบนี้อีกแล้ว ถ้าอนาคตเจอเหตุการณ์แบบเดียวกันอีกจะมาอัพเพิ่มเป็น ข้อ ที่ 2 3 4 ละกัน**

ในเดือนนี้(มิ.ย.57) เกม Cybermon มีกิจกรรมพิเศษเป็น อีเวนท์ล่าบอสครับ

สิ่งที่เกิดขึ้นคือ ผมกำหนดไว้ว่า พออีเวนท์เหลือ 3 วันสุดท้ายแล้ว ของรางวัลจะดรอปมากขึ้นเป็น 2 เท่า เพื่อจูงใจคนเล่นให้มาร่วมืกิจกรรมเยอะๆ (ทั้งอีเวนท์มีเวลา14วัน) ซึ่งส่วนนี้เป็นส่วนที่ไม่ได้แจ้งกับคนเล่นไว้ก่อนเพราะว่า แน่นอนถ้าคนเล่นรู้ก่อน ก็จะไม่มีใครเล่นเลยในช่วงแรกของกิจกรรม จะมาเล่นกันในช่วงท้ายหมดเพราะว่าคุ้มกว่า

ผลที่เกิดขึ้นก็คือคนเล่นส่วนใหญ่ไม่พอใจครับ เพราะว่าเค้ารู้สึกเหมือนโดนหักหลัง กับแรงกายแรงใจ ทรัพยากรต่างๆในเกมที่เค้าทุ่มไปแล้ว ตั้งแต่ช่วงแรกของกิจกรรม แต่ถ้ามาเล่นในช่วงท้ายของกิจกรรมจะได้ผลตอบแทนเยอะกว่ามาก

สุดท้ายทีมเลยจำเป็นต้องมอบรางวัลให้กับคนเล่นที่ทุ่มไปแล้วในช่วงแรกในได้เท่าๆกับในช่วงท้าย นั่นก็คือการเพิ่มของรางวัลที่คนเล่นได้รับไปแล้วในช่วงแรกอีกเท่านึง

ดังนั้นสิ่งที่ผมสรุปได้ว่าห้ามทำอีกในการจัด Event ภายในเกมคือ

“ห้ามทำEvent ซ้อน Event ที่ทำให้คนที่เล่น Event เดียวกันในช่วงแรกเสียเปรียบคนที่เล่นในช่วงที่สอง ถ้ามันคือ Event เดียวกันก็ควรมีกฎเหมือนกันชัดเจนตั้งแต่แรกไปเลย”

Limit จำนวน Resource คนเล่นเถิด จะเกิดผล by

27
Feb
0

การ Limit จำนวน Resource ที่ว่านี้ก็เช่น

  • จำนวน Monsters ที่ผู้เล่นทั้งหมดจะเก็บไว้ได้
  • จำนวนไอเทมใน inventory
  • เงินในเกม

ที่ผ่านมา ผมมักคิดว่าให้คนเล่นมีไอเทมหรือมอนเยอะๆไปก็ไม่เสียหายนี่่น่า ตัวไหนเค้าไม่ใช้ก็เก็บๆไว้ยังงั้นแหละ หรือ ไม่ก็คนเล่นจะมีปัญญาหาได้ซักแค่ไหนเชียว

แต่เมื่อเปิดให้บริการเกมไปเรื่อยๆแล้ว จึงได้เจอว่าเป็นสิ่งที่คิดผิดโดยแท้ การลิมิตทรัพยากรที่คนเล่นนั้นมีข้อดีเยอะกว่าที่คิด ดังนี้ครับ

1.มันขายได้

เช่น เมื่อเกมแจกของที่ดีพอสมควรเรื่อยๆ จนกระทั่งคนเล่นไม่มีที่จะเก็บ ถ้าคนเล่นเสียดายที่จะทิ้งหรือขาย(ซึ่งขายกับระบบจะไม่คุ้มอยู่แล้ว) ก็จำเป็นต้องซื้อช่องเพิ่ม

2.กระตุ้นการใช้ทรัพยากรของคนเล่น

ต่อเนื่องจากข้อที่แล้วครับ เมื่อคนเล่นไม่อยากจะซื้อ ก็ต้องใช้ของที่มีนั้นให้หมดไป ทั้งๆที่จริงๆแล้วคนเล่นอาจจะเสียดาย หรืออยากเก็บไว้เพื่อรอใช้ในเวลาที่เหมาะสมก็ได้ ซึ่งการที่กระตุ้นให้คนเล่นใช้ทรัพยากรเรื่อยๆ ก็เป็นผลดีต่อระบบเพราะ ทรัพยากรแต่ละอย่างมักจะเกี่ยวโยงกัน เืมื่อคนเล่นใช้ทรัพยากรอย่างนึง ก็ต้องมีทรัพยากรอีกอย่างด้วย เมื่อมันไม่พอดีกัน ก็ต้องหามาเพิ่มเหมือนกับ เราได้โซดามา 3 ลัง แต่เรามีเหล้าแค่ 1 ขวด ก็ต้องไปหาเหล้ามาเพิ่ม จริงไหมครับ?

3.ลดปัญหาด้าน Performance

เคยมีเหตุการณ์คนเล่นคนนึงไม่สามารถเข้าเกม Cybermon ได้ครับ ทีมงานหาสาเหตุแล้วก็พบว่าเป็นเพราะ จำนวนมอนสเตอร์ของคนๆนั้นเยอะเกินไป เมื่อพยายามโหลดข้อมูลมหาศาลนั้นแล้ว ก็เลยเจอ Timeout ไป คนเล่นจึงเข้าเกมไม่ได้

4.ลดความเสียหายจากบั๊กหรือการผิดสมดุลของเกม

ในการเปิดให้บริการเกมนั้น เราเลี่ยงไม่ได้ที่จะต้องเจอบั๊กหรือการที่ระบบให้ของไม่สมดุล ซึ่งก็มีสิทธิ์ที่ความผิดพลาดเหล่านั้นจะทำให้คนเล่นได้ทรัพยากรไปมากเกินกว่าที่ควรจะเป็น ถ้าเราไม่ลิมิตจำนวนสูงสุดไว้ความเสียหาย หรือ ทรัพยากรที่หลุดไปนั้น อาจจะเป็นเท่าไรก็ได้(สูงสุดก็ค่า max int)

Event ใหม่ทุกๆ 1-2 วัน แบบ LINE Pokopang by

27
Jan
0

จากที่ผมได้ลองเล่น(ติด)เกมฮิต LINE Pokopang มาพักใหญ่ๆ จนถึงตอนนี้ก็ยังติดอยู่
เลยสังเกตุได้ว่า ทุกๆครั้งที่เข้าเกม มักจะพบ popup event ใหม่ทุึกๆ1-2วัน
หลังจากเล่นไปอีกพักใหญ่ๆ ก็เริ่มสังเกตุอีกว่า event มันก็ซ้ำๆนี่หว่า

ตัวอย่าง event ในเกม LINE Pokopang




ก็เลยลองตั้งใจดู สรุปได้ว่า LINE Pokopang จะมี event เดิมๆออกมาใหม่ทุกๆ 1-2วัน
แต่ละ Event กินระยะเวลา 3 วัน โดยอันนี้ไม่รวมกับ Event เทศกาล และ update content ใหม่




ผลที่ได้คือ คนเล่นจะรู้สึกว่าเกมมีอะไรใหม่ๆตลอดเวลา หนึ่งเพราะ popup แทบจะเปลี่ยนทุกๆวัน




ซึ่งจะไม่เหมือนกับ event ของเกม Rage of bahamut ที่ผมเคยเล่น(ติด)มาก่อน Rage of bahamut นั้น event มักจะกินเวลาประมาณ 10 วัน มีบ้างที่เป็น 5วัน เช่นพวก event pvp

ตัวอย่าง event ในเกม Rage of bahamut



รายการ event ที่เคยผ่านๆมาของเกม Rage of bahamut http://wiki.rageofbahamut.com/Rage_of_Bahamut:Current_events

ทำข้อมูล Stat Monsters ด้วย Excel แบบคนขี้เกียจ by

30
Nov
0

พูดถึงข้อมูลในเกมแล้ว สิ่งนึงที่ขาดไปเสียไม่ได้เลยคือ ข้อมูลของค่าพลัง(Stat)ของตัวละครต่างๆ
ไม่ว่าจะเป็นตัวละครคนเล่นก็ดี หรือของมอนสเตอร์ก็ดี ซึ่งมักจะเป็นข้อมูลที่เยอะมาก เช่น
ในเกมมีมอนอยู่ 100 แบบ มีทั้งแบบตัวอ่อนๆตั้งแต่โปริ่ง ไปจนถึงโหดนรกอย่างบาโฟ
สมมติให้แต่ละตัวมี Stat แค่ 2 แบบคือ Atk และ Def แค่เท่านี้เราต้องกรอกตัวเลขถึง 200 ช่องแล้ว
นี่ยังไม่ันับว่ามันต้องสมดุลกันด้วยอีกนะ

เนื่องด้วยว่าผมขี้เกียจจะต้องมานั่งกรอกตัวเลขทีละตัวๆ ผมเลยใช้วิธีแบบขี้เกียจๆดังนี้ครับ

1. ขั้นแรกต้องกำหนดกฎของ Stat มอนขึ้นมาก่อน ในตัวอย่างต่อไปนี้ผมตั้งกฎไว้ว่า

  • Atk และ Def มีคุณค่าเท่ากัน
  • Stat ขึ้นอยู่กับ MP(ค่าร่ายมอน) ถ้า MP เยอะ Stat เยอะตาม
  • Monster มี ความเก่งแบ่งเป็น 1-5 ดาว ยิ่งเยอะ Stat ต่อ MP จะเยอะตาม
    • 1 ดาว – stat ต่อ mp = 220
    • 2 ดาว – stat ต่อ mp = 230
    • 3 ดาว – stat ต่อ mp = 250
    • 4 ดาว – stat ต่อ mp = 265
    • 5 ดาว – stat ต่อ mp = 280
  • Monster ในแต่ละดาวมี MP ไม่เท่ากัน แบ่งเป็นช่วงๆ เช่น มอน 1 ดาวมี MP 2-8

2.เมื่อตั้งกฎคร่าวๆแล้ว ก็เปิด excel สร้างข้อมูลคร่าวๆมาเลยครับ ตามกฎที่เราตั้งไว้

3.เริ่มจากใส่ค่าของ ATK ก่อน ก็ใส่สูตรในช่องของ Excel เลยครับตามนี้
=FLOOR(D2*E2*RANDBETWEEN(45,55)/100,1)

สูตรที่ผมใส่คือ ผมเอาข้อมูลช่อง mp x stat per mp จะได้ออกมาเป็น Stat รวมของมอนตัวนี้
จากนั้นคูณด้วยค่าแรนด้อมตั้งแต่ 45-55%
คำสั่ง FLOOR ที่ใส่่ไว้เพื่อให้มันปัดเศษทศนิยม

เสร็จแ้ล้วเราจะได้ข้อมูล Atk ของมอนตัวที่1มา จากนั้นก็ copy ลงมาตามแนวตั้งเลยครับ
เราก็จะได้ Atk ของมอนทั้งหมด

4.จากนั้นเราก็ไปต่อที่ stat def สูตรที่ผมใ้ช้คือเอา Stat รวมลบด้วย Atk ที่เราสร้างมาไว้ตะกี้

ที่ทำแบบนี้เพราะว่า ตอนแรกเราแรนด้อมให้ atk แกว่งอยู่ที่ 45-55% แล้ว
หมายความว่าจะมีมอนบางตัวที่ Atk น้อยกว่าครึ่งของ Stat รวม และบางตัวที่มากกว่าครึ่งของ Stat รวม
ค่า def ของตัวที่ atk เยอะ ก็จะน้อย และ ค่า def ของตัวที่ atk น้อย ก็จะเยอะ

จากนั้นก็ทำแบบเดิมครับ copy ลงมาทั้งแถว ก็จะได้ข้อมูลของมอนครบทุกตัว

*Note : ข้อมูลแรนด้อมใน excel มันจะสุ่มใหม่ทุกครั้งที่มีการเปลี่ยนแปลงของไฟล์ครับ
เพราะฉะนั้นทางที่ดี ควร copy ข้อมูลที่ได้เอาไว้แค่ value อย่างเดียว แล้วค่อยเอาไปทับกับแถวเดิม

5.แต่เดี๋ยวก่อน!! มันยังไม่จบแค่นี้ครับ ถึงจะแรนด้อมเป็น % ก็จริง แต่เราจะรู้ได้ไงว่ามอนของเรานั้น
มีสาย atk และ def พอๆกัน ต่อไปเป็นวิธีการแยกว่ามอนแต่ละัตัวเป็นสายอะไร โดยไม่ต้องนั่งเทียบทีละัตัวครับ
ใส่คำสั่งในช่องใหม่ว่า =IF(F2>G2,”atk type”,”def type”)
หมายความว่า ถ้าข้อมูลช่อง atk(F2) มากกว่า def(G2) พิมพ์คำว่า atk type
ถ้าไม่ใช่ก็หมายความว่า เป็นสาย def ให้พิมพ์คำว่า def type

6.ต่อมาผมก็เริ่มขี้เกียจที่จะมานั่งนับเองอีกครั้งว่า แต่ละสายเนี่ยมันมีกี่ตัว ก็เพิ่มคำสั่งในช่องใหม่อีก
=COUNTIF(H2:H37,”atk type”) ตามรูปครับ

แล้วก็ทำอีกครั้งกับสาย def

7.ถ้ามันมีจำนวนไม่ค่อยเท่ากัน ต่างกันเยอะๆ ก็ค่อยไปปรับจาก stat ช่อง atk def เอาทีละตัวครับ

โหลดไฟล์ตัวอย่างได้ที่ลิ้งค์นี้ครับ >> https://dl.dropbox.com/u/773258/blog/stat_mon/sample.xlsx

FIN

การตั้งชื่อตัวละครในเกม by

31
Dec
0
อันนี้เป็นวิธีที่ผมใช้บ่อยๆเวลาทำเกมน่ะครับ ผมเองคิดว่าก็ไม่ใช่วิธีที่ดีที่สุดเท่าไร
แต่ก็เป็นวิธีที่รวดเร็วและง่ายดี
1. ตัวละครปกติ
เข้าพวกเว็บตั้งชื่อลูกไปเลยครับ เช่น เว็บ http://www.thinkbabynames.com/
ตัวอย่างการค้นหาชื่อผู้ชายที่่มีความหมายว่า กล้าหาญ(Brave)
2.ตัวละครเผ่าแปลกๆ เช่น มังกร ออร์ค เอลฟ์
ถ้าเป็นพวกนี้ผมใช้วิธี Search google เอาครับ
ใส่ตัวที่ต้องการแล้วก็ตามด้วยคำว่า name generator ครับ
เช่น dragon name generator
มังกร
ออร์ค
เอลฟ์
มนุษย์หมาป่าก็มี
กู้เงิน | เศรษฐกิจพอเพียง | สินเชื่อบุคคล | สมัครบัตรกดเงินสด | สินเชื่อ | เงินกู้ด่วน | ยืมเงินทรูมูฟ | เงินด่วนนอกระบบ