Drums of War
WoW

بلیزارد خبرهای جدیدی درباره World of Warcraft کلاسیک منتشر کرده است. صحبت ها در مورد این است که چگونه پچ 1.12: Drums of War به عنوان پایه WoW کلاسیک شناخته می شود. همچنین در مورد چالش ها و راهکارهایی مانند بازسازی پچ 1.12 با استفاده از کدهای مدرن بحث می شود.

پست رسمی بلیزارد

تبریک می گوییم. توسعه World of Warcraft کلاسیک در دست انجام است و در مورد به اشتراک گذاشتن برخی از چالش ها و راهکارهای موجود بسیار هیجان زده هستیم. همانطور که در BlizzCon قبلی گفتیم، روند بازسازی بازی قبلی ساده نیست و نیاز به وقت و تلاش زیادی دارد. این ها شامل بررسی نسخه های قبلی، داده ها و کدها می شود و باید به تغییرات سال های گذشته دقت کنیم. مطمئن باشید که تیم WoW کلاسیک تمام تلاش خود را می کند تا این امر محقق شود و در مرحله ای هستیم که می توانیم برخی از موارد کار شده را به اطلاع شما برسانیم.

WoW کلاسیک: اولین نمونه

اولین و مهم ترین تصمیم این بود که کدام نسخه از بازی را انتخاب کنیم. همانطور که بسیاری از شما عنوان کرده بودید، دوران کلاسیک 2 سال به درازا کشید و پر از تغییرات بود. ویژگی های اصلی مانند Battleground ها در پچ های بعدی معرفی شدند، همچنین طراحی کلاس نیز در طول زمان تغییر کرد. پس از بررسی های بیشتر، به این نتیجه رسیدیم که پچ 1.12: Drums of War را انتخاب کنیم. چرا که تجربه کلاسیک را به طور کامل ارائه می دهد.

زمانی که نقطه شروع مشخص شد، شروع به بررسی کدهای منبع و موارد در دسترس کردیم که شامل بازیابی دیتابیس اصلی از بک آپ های قبلی می شد. پس از متصل کردن تکه های مختلف، به صورت محلی پچ 1.12 را بازسازی کردیم. تیم ما توانست که کاراکترها، کوئست ها و لول آپ را خلق کند (به منظور آزمایش).

نسخه اولیه دارای چندین مشکل بود: برخی اوقات بازی هنگ می کرد، کارت گرافیک های جدید را شناسایی نمی کرد و با سیستم لاگین جدید سازگاری نداشت. همچنین قادر به پشتیبانی از موارد امنیتی و ضد تقلب جدید نبود. واضح است که تلاش زیادی کردیم که WoW کلاسیک به استانداردهای بلیزارد برسد و به تجربه بازی مورد نظر دست پیدا کنیم.

ادامه راه: نمونه دوم

از نظر مهندسی، World of Warcraft یک بازی مبتنی بر داده هاست. به این معنی که کدهای اصلی انعطاف پذیر هستند و به وسیله اطلاعات موجود در دیتابیس کنترل می شود. مواردی مانند کوئست ها، هیولاها، آیتم ها و قوانین تعامل آن ها با یکدیگر توسط طراحان و هنرمندان تعریف می شوند.

به همین دلیل از خودمان پرسیدیم که آیا امکان ارائه تجربه کلاسیک با استفاده از کدهای مدرن و بهبودهای انجام شده ممکن است یا خیر. شاید بر خلاف روندهای معمول به نظر برسد، اما این اقدامات شامل سیستم های کلاسیک مانند رتبه بندی مهارت ها (skill ranks)، کوئست های قدیمی، تلنت ها و دیگر موارد می شود. در عین حال ویژگی هایی ماند Transmog و Achievement ها موجود نخواهند بود چرا که در داده ها قابل دسترس نیستند. پس از هفته ها فعالیت در زمینه تحقیق و توسعه و بررسی و نمونه سازی، به این نتیجه رسیدیم که می توانیم محتوا و گیم پلی WoW کلاسیک را بدون اتلاف اقدامات انجام شده طی 13 سال گذشته به بازیکنان ارائه کنیم.

در حالی که تلاش های اولیه ما در زمینه دستیابی به تجربه مورد نظر کمک کرد، نمونه دوم، راه رسیدن به آن را نشان داد. با شروع از یک ساختار مدرن – به همراه تغییرات امنیتی و پایداری بازی – تلاش های تیم می تواند بر پایه تجربه کلاسیک قرار بگیرد. هر تغییری بین توسعه ما و پچ 1.12 می تواند به صورت سیستماتیک تصحیح شود، در عین حال می توانیم از یک ساختار پایه ای با ثبات و امن بهره ببریم.

وارد شدن به جزئیات

حالا می خواهیم ببینیم که خلق تجربه کلاسیک بر اساس مهندسی مدرن چگونه است. اجازه بدهید که با دسته بندی انواع مختلف داده در WoW شروع کنیم:

  • جدول داده: این اطلاعات تقریباً همیشه به صورت عدد هستند؛ این که یک موجود چند نقطه ضربه دارد، میزان قدرتی که هر آیتم به آن می دهد، یا کجا و چه موقع یک موجود تکثیر می شود. این ها مثال هایی از داده های عددی است که در دیتابیس نگهداری می کنیم. همچنین می توانیم روابط بین قطعات مختلف داده را نگهداری و تقویت کنیم.
  • فایل داده: این ها مانند داده های مدل های سه بعدی، تکستچرها، انیمیشن ها و زمین ها هستند. رابط کاربری ما از XML و فایل های Lua ساخته شده است. بسیاری از فایل های art از فرمت مشابه ابزارهای هنری استفاده نمی کنند. ساختار ما فایل های خام art را می گیرند و به چیزی تبدیل می کنند که در بازی خوانده و پردازش می شود.
  • Lua Scripts: برخی ویژگی ها توسط Lua scripts نوشته شده توسط طراحان خلق می شوند که به آن ها امکان تعریف رفتارهای مشخص برای منطق های سمت سرور را می دهد.

تغییرات مهندسی

یکی از چالش های پیش روی ما این است که تمام داده های کلاسیک در فرمت اصلی قرار دارند، اما این فرمت تغییر نکرده است. بنابراین باید کارهای زیادی در راستای سازگار کردن کلاینت مدرن با داده های کلاسیک انجام بدهیم.

به هر حال، در طول عمر WoW اصلاحات زیادی در طراحی داده ها انجام داده ایم و امروز این داده ها جداسازی شده اند.

در این حالت فضاهای هدر رفته کمتر شده و spell ها دیگر تنها به 3 effect محدود نمی شوند. اما قبل از این که داده های دیتابیس را فراخوانی کنیم، باید قالب داده های قدیمی را به روز کنیم. این امر به spell ها محدود نمی شود، می توان گفت که تقریباً شامل تمام بازی می شود (مانند آیتم ها، موجودات، کاراکترها، تکثیر شدن، هوش مصنوعی و …) و قالب در تمامی این موارد طی سالیان تغییر کرده است.

نگاه به آینده

در آخر تمام تلاش ما امکان بازسازی تجربه کلاسیک بازی را بر روی یک پلتفرم بهینه شده و پایدار فراهم می آورد و به ما کمک می کند که مشکلات تاخیر و پایداری را از بین ببریم. اصلاحات دیگر نیز شامل سیستم تشخیص تقلب، خدمات کاربران و یکپارچگی با Battle.net و موارد دیگر می شود که تجربه خالص بازی را حفظ می کنند.

قصد داریم که چالش های پیش رو را حل کنیم و به علاقه شما به بازی کلاسیک توجه کنیم؛ هر تغییری که در کدها اعمال می کنیم WoW کلاسیک را به تجربه مورد نظر شما – و ما – نزدیک می کند. از این که همراه ما هستید متشکریم.

یک دیدگاه

دیدگاهتان را بنویسید