เงินในเกม World of WarCraft ถึงขีดจำกัดของ Signed Integer

by mk
20 January 2008 - 11:07

มีรายงานว่าผู้เล่นอย่างน้อยสองคนในเกม World of WarCraft มีหน่วยเงินในเกมถึงระดับ ทอง 214,748 หน่วย เงิน 36 หน่วย และทองแดง 48 หน่วย (ผมเข้าใจว่าเงินกับทองแดงเป็นหน่วยย่อยชุดละ 100 ของทองนะครับ) และพบว่าไม่สามารถมีปริมาณทองมากกว่านี้ได้อีก

เหตุผลทางโปรแกรมมิ่งก็คือผู้พัฒนาเกมได้ใช้ตัวแปรชนิด signed integer ขนาด 32 บิต ซึ่งมีขีดจำกัดอยู่ที่ 2^31 หรือ 2,147,483,648 นั่นเอง ก่อนหน้านี้เคยมีคนคาดการณ์ไว้แล้วว่ามีขีดจำกัดนี้อยู่ เพียงแต่เพิ่งเคยมีคนทำได้จริงในทางปฏิบัติ ความคิดเห็นใน Slashdot บอกว่าโปรแกรมเมอร์คงไม่คิดว่าจะมีใครมีเงินได้เยอะขนาดนี้ในเกม

ปัญหานี้เกิดกันบ่อยตามเว็บไซต์ดังๆ อย่าง Slashdot เองก็เคยมีปัญหาจำนวนคอมเมนต์เกิน 2^24, เบอร์รูปภาพใน Flickr เมื่อเกิน 2^31 จะมีปัญหากับ Flickr library บางตัว และล่าสุด Facebook เพิ่งปรับระบบไปใช้ user ID แบบ 64 บิต

ตอนเรียนเหมือนว่าจะไม่มีวันได้ใช้ เอาเข้าจริงมีเยอะเลย

ที่มา - World of WarCraft Insider

Blognone Jobs Premium