نگاهی به دلایل افزایش حجم بازیهای ویدیویی
در دورهای که زندگی میکنیم، سرعت SSDها تا اندازهای بالا رفته که گاهی اوقات ممکن است حس کنید دیگر به هارد دیسکهای معمولی نیازی ندارید و کاربرد آنها در زندگی دیجیتالتان کمرنگ شده. اما چندی پیش بود که با پیچیدن اخباری مبنیبر حجم بسیار زیاد بازیهای جدید روی پی سی، میشود بار دیگر متقاعد شد که هنوز هم آنقدرها از هارددیسکها بینیاز نشدهایم. صحبت دربارهی حجم بازیهای اخیر است. بازیهایی که روی پی سی، کنسول و سایر پلتفرمها آنچنان حجم سنگین و نامعقولی دارند که گاهی واقعا ناچاریم از خودمان سؤال کنیم چه محتوایی قرار است در این صد، صد و پنجاه گیگابایت گنجانده شود؟ زمانی بود که وقتی یک هارد دیسک یک ترابایتی در اختیار شما بود، میتوانستید با امنیت کامل و خیال راحت بازیهای پرتعداد و متنوعی را روی آن ذخیره کنید. اما حدس بزنید چه شده؟! حالا فقط دو بازی درکنار یکدیگر میتوانند نیمی از آن را تصاحب کنند! مدت زیادی نیست که بازی Red Dead Redemption 2 روی پلتفرم پی سی عرضه شده. پیش از عرضهی این بازی، اطلاعات مربوطبه حداقل سیستم موردنیاز آن توجه عدهی بسیاری را به خود جلب کرده بود. این بازی برای نصب به ۱۵۰ گیگابایت فضای خالی نیاز داشت! پس از پیچیدن این خبر، نوبت به شوک دوم رسید. بازی Call of Duty: Modern Warfare هم به فضایی معادل ۱۷۵ گیگابایت نیاز داشت. (البته سازندهها اعلام کردند که این میزان، حجم پیشنهادی آنها برای اجرای بازی است اما میزان حجم دانلود برای این بازی هنوز هم بسیار زیاد است) این دو اتفاق، جامعهی گیمرها را به تعجب شدیدی واداشت.
تا همین چند وقت پیش ۵۰ گیگابایت، حجم زیادی محسوب میشد اما حالا سر و کارمان با اعداد بسیار بیشتری است!
واقعا چه اتفاقی در حال رخ دادن است؟ تا همین چند وقت پیش حجم دیتای ۵۰ گیگابایت، حجم نسبتا زیادی محسوب میشد و بازیهایی با این میزان حجم، در دستهی بزرگ و سنگین طبقهبندی میشدند. اما چه اتفاقی افتاده که حالا ناچاریم با اعدادی سه تا چهار برابر گذشته سر و کار داشته باشیم؟ زمانی بود که همهی دنیای بازیها، فقط و فقط داخل یک فلاپی دیسک کوچک جای میگرفت. اما حالا اگر بخواهیم با ابزارهای فیزیکی قدیمی بازیها را جابهجا کنیم، احتمالا به حدود ۲۰ عدد دیویدی، ۲۵۰ عدد سیدی یا نزدیک به ۱۲۱.۵۰۰ فلاپی دیسک سهونیم اینچی نیاز خواهیم داشت؛ و جالب است بدانید این مدل از فلاپی دیسک، مدل «ظرفیت بالا»ی ۱.۴۴ مگابایتی است؛ نه مدل کم ظرفیت ۷۲۰ کیلوبایتی. بههمین خاطر تصمیم گرفتیم اندکی در این زمینه تحقیقات کنیم. اینکه چرا بازیها دارند با این سرعت سرسام آور بزرگ و حجیم میشوند. پاسخ بسیار ساده به این سؤال، این است که در بازیهای جدید، تکسچرها، ویدیوها، صداها، محیطها و فایلهای بیشتری وجود دارد. اما این پاسخ بدون شک نه چیزی را توضیح میدهد و نه کسی را راضی میکند. پس تصمیم گرفتیم اندکی دقیقتر بهدنبال دلایل این مسئله بگردیم.
تکسچرها، مهمترین دشمن هارد دیسکها
تکسچرها دشمنان هارد دیسک و پهنای باند اینترنت شما بهحساب میآیند
زیاد شدن حجم برایها عوامل زیادی دارد اما آنطور که تحقیقات ما نشان میدهد، بزرگترین عامل این پدیده، تکسچرها هستند. تکسچرهایی که عملا دشمنان هارد دیسک و پهنای باند اینترنت شما بهحساب میآیند. بگذارید با یک مثال نسبتا ساده شروع کنیم. فرض کنید یک تکسچر، با کیفیت نسبتا معمولی با رزولوشن ۲۰۴۸ در ۲۰۴۸ داریم (یا اگر دوست دارید به زبان سادهتر 2K صدایش کنیم). اگر بخواهیم این تکسچر را بدون هیچگونه فشردهسازی ذخیره کنیم، به این معنا است که هر پیکسل ارزشی ۳۲بیتی دارد و باید با قواعد آرجیبیای آن را سنجید (RGBA یا همان قرمز، سبز، آبی و آلفا که درواقع نامی فنی برای لایهی نامرئی تصاویر است). در این تکسچر، حدود ۴.۲ میلیون پیکسل داریم و اگر برای ذخیرهسازی هر پیکسل به ۴ بایت فضا نیاز داشته باشیم، به فایلی با حجم حدود ۱۶.۷ مگابایت میرسیم. حالا تصور کنید همهی بازیهای جهانباز و گستردهای که ساخته میشوند، بخواهند بدون فشردهسازی از همین روش استفاده کنند. در این صورت حتی اگر یک بازی ۱۵۰ گیگابایتی داشته باشیم و همهی این حجم را بدون درنظر گرفتن حجم کدها، صداها، ویدیوها و... به تکسچرها اختصاص دهیم، فقط میتوانیم ۹۶۰۰ تکسچر منحصربهفرد داشته باشیم.
اگر بخواهیم یک بازی ۵۰ گیگابایتی تولید کنیم، بدون فشردهسازی فقط میتوانیم ۸۰۰ تکسچر منحصربهفرد با کیفیت 4K داشته باشیم
اگرچه ممکن است این عدد چندان هم غیرمنصفانه بهنظر نرسد. اما در نظر بگیرید که این فقط مربوطبه تکسچرهای 2K است. درحالیکه استاندارد بازیهای امروز، حول محور تکسچرهای 4K میچرخد و ما تمامی بخشهای دیگر بازی را حذف کردیم تا همهی حجم را با تکسچرها پر کنیم. اما این میزان هنوز هم برای ساختن بازیهای AAA غولپیکر چندان مناسب نیست. حالا درنظر بگیرید اگر بخواهیم همین محاسبات را با تکسچرهای رایج 4K (با رزولوشن ۴۰۹۶ در ۴۰۹۶) انجام دهیم. این کار باعث میشود تعداد تکسچرهایی که میتوانیم در یک بازی ۱۵۰ گیگابایتی بگنجانیم، حدود ۲۴۰۰ عدد باشد. اگر بخواهیم یک بازی ۵۰ گیگابایتی تولید کنیم، فقط میتوانیم ۸۰۰ تکسچر با کیفیت 4K داشته باشیم! میزانی که بههیچوجه برای تولید بازیهای بزرگ با محیطهای متنوع و گسترده کافی نیست.
اما بگذارید یک قدم به عقب بازگردیم. ما برای مقایسهمان یک شرط مهم گذاشتیم. گفتیم که تکسچرها را فشردهسازی نمیکنیم. بدون شک نگهداری تکسچرها با تنظیمات اولیهی خودشان باعث میشود کیفیت آنها کمی بیشتر باشد اما این کار به طرز دیوانهواری حجم بازی را افزایش میدهد. معمولا کسانی که با تصاویر دیجیتالی آشنایی دارند، در این زمینه استفاده از فرمتهای کمحجمتر مانند JPEG یا PNG را پیشنهاد میدهند و باتوجهبه سایز این فرمتها، میتوان گفت آنها درست میگویند. وقتی این تکسچرها را با فرمت JPEG ذخیره میکنیم، میتوانیم حجم آنها را تا حد زیادی کاهش دهیم. یک فایل JPEG با کیفیت بالا، حدود ۲ مگابایت حجم را اشغال میکند و در صورتی که کیفیت فشردهسازی فایل را کاهش دهیم، میتوانیم تصویرمان را با همان رزولوشن، با حجمی کمتر از ۱ مگابایت یا حتی ۰.۵ مگابایت تحویل بگیریم. در مقابل، فشردهسازی بیضرر فایلهای فرمت PNG هم میتواند نیمی از حجم اشغال شده را کاهش دهد.
مشکل اینجا است که هر دوی این الگوریتمهای پردازش تصویر، متغیر و بیثبات هستند و برای پردازش شدن به عملیاتهای سنگین و پیچیدهی نرمافزاری نیاز دارند. ممکن است کامپیوتر یا کنسول شما بتواند یک تصویر JPEG را در کسری از ثانیه پردازش کند و به شما نشان دهد اما وقتی که با هزاران تصویر از این نوع سر و کار داشته باشیم، اوضاع اندکی پیچیده میشود. آنوقت است که زمان لود شدن مراحل در بازیها زیاد میشود و گیمرها هم وقتی مجبور شوند منتظر بمانند، مدام سرتان غُر میزنند.
اما به جز ذخیره کردن فایل با فرمتهای مختلف، راههای دیگری هم برای خلاص شدن از شر سایزهای سرسامآور تکسچرها وجود دارد. «فشردهسازی تکسچر با روش S3» که DXTC یا حتی گاهی DXTn هم نامیده میشد، روش کارآمدی است که توسعهدهندگان از آن بهره میگیرند تا از مضرات فایلهای JPEG و PNG در امان بمانند. این روش در گذشته S3TC نامیده میشد که این اسم را از شرکت ابداعکنندهاش در دههی نود یعنی S3 Graphics گرفته بود. در سال ۱۹۹۸ زمانیکه این روش ابداع شد، دایرکت ایکس ۶ از آن پشتیبانی میکرد و این شیوه خیلی زود توانست جای خود را در میان توسعهدهندگان باز کند و چند سال بعد نامش به DXTC تغییر کرد. خوبی این روش این بود که هر دو مزیت را برای سازندگان حفظ میکرد؛ برخلاف فایلهای JPEG و PNG که پردازش آنها بار زیادی را روی دوش سختافزار میانداخت، این روش هم حجم تکسچرها را تا حد قابل قبولی کاهش میداد و هم ساخت سختافزاری که بتواند با پشتیبانی از آن، تصاویر را سریعتر پردازش کند، بسیار ساده بود. از سال ۲۰۰۰، تقریبا همهی کارتهای گرافیک تولید شده، از نظر سختافزاری از S3TC یا DXTC پشتیبانی میکنند.
معمولا بازیهایی که از DXTC استفاده میکنند، از متد فشردهسازی یکهشتم، یکششم یا یکچهارم استفاده میکنند. به این معنی که اگر تصویری ۸ مگابایت حجم داشته باشد، با فشردهسازی یکهشتم، حجم آن با حفظ کیفیت به یک مگابایت کاسته میشود. این تکنولوژی این قابلیت را در اختیار توسعهدهندگان قرار میدهد که در فضایی که در اختیار دارند، ۴ تا ۸ برابر محتوا قرار دهند. در حال حاضر انجینهای بازیسازی محبوبی چون یونیتی و آنریل انجین از DXTC پشتیبانی میکنند و بیشتر بازیها هم ترجیح میدهند از همین روش برای خلاص شدن از شر حجم اضافی تکسچرها استفاده کنند. البته همهی تکسچرهایی که درون یک بازی استفاده میشوند به فشردهسازی و ذخیرهسازی با چنین روشهایی نیاز ندارند. تکسچرهایی که رزولوشن کمتری دارند یا مربوطبه آبجکتهای کوچکتری هستند، معمولا برای ذخیره شدن از روشهایی که برای تکسچرهای 2K و 4K استفاده میشود بهره نمیگیرند.
افزایش روزافزون حجم تکسچرها؛ انتظار بیش از اینها را هم داشته باشید!
نهتنها در نسل حاضر با تکسچرهایی با کیفیت و رزولوشن بیشتر سر و کار داریم، بلکه گاهی ناچاریم از هر تکسچر چند نسخهی مختلف ذخیره کنیم.
برنامهنویس ارشد تیم استارداک، نیثن هانیش دربارهی تکسچرهای مختلفی که باید برای اشیاء در بازیها ذخیره شوند میگوید. او ۲۰ سال است که در صنعت بازیهای ویدیویی مشغول فعالیت است و تاکنون روی بازیهای زیادی کار کرده. هانیش بهعنوان مهندس، معمار و مدیر فنی، تیمهای زیادی را در توسعهی بازیها در ژانرهای مختلف یاری داده است. شوترهای اولشخص، نقشآفرینیهای ایزومتریک و نقشآفرینیهای آنلاین چندنفره زمینههایی هستند که او در آنها بیشتر سابقه دارد.
آبجکتهایی که نسخههای اختصاصی از تکسچرهای خودشان را دریافت میکنند، پیچیدگی فراوانی دارند و حجم زیادی از تکسچرها را به خود اختصاص میدهند. با مراجعه با تاریخچهی بازیهایی که توسط استودیو تریپوایر تولید و عرضه شدهاند میشود به حقایق جالبی در اینباره پی برد. بازی Red Orchestra 1 در سال ۲۰۰۶ راهی بازار شد. بازی در آن زمان ۲.۶ گیگابایت حجم داشت و جزو بازیهای بسیار سنگین و حجیم محسوب میشد. زمانیکه سازندگان میخواستند یک پچ ۱۰۰ مگابایتی برای بازی عرضه کنند، بازیکنان از زیاد بودن حجم آن شکایت میکردند. در آن زمان کلیهی صداهای بازی فقط ۳۲۷ مگابایت از کل حجم بازی را اشغال میکرد و مِشها و تکسچرهای محیط بازی حدود ۱.۴ گیگابایت بودند. حالا پس از چندین سال این استودیو بازی Killing Floor 2 را توسعه داده. جالب اینجا است که کلیهی صداهای موجود در بازی حدود ۱.۱ گیگابایت حجم دارد؛ درحالیکه حجم اجزای محیط و تکسچرها در این بازی به ۱۷.۴ گیگابایت میرسد!
یکی از سریعترین راههایی که باعث میشود بازی شما از لحاظ گرافیکی بهتر و زیباتر به نظر برسد، این است که رزولوشن تکسچرها را بیشتر کنید. هیچ فرقی هم نمیکند که چه بازیای میسازید. پس از آن، باید آنقدر رزولوشن تکسچرها را پایین بیاورید تا در حافظهی کارت گرافیک جا شدنی باشد. وقتی که حافظهی کارتهای گرافیک بیشتر و بیشتر شدند، بازیسازان هم رزولوشن تکسچرها را بیشتر و بیشتر کردند و حجم بازیها هم رفته رفته افزایش یافت.
مشابه همین الگو را میتوان در بازیهای استارداک گیمز هم پیدا کرد. آنها در سال ۲۰۰۳ اولین نسخه از سری Galactic Civilization را راهی بازار کردند. این بازی در آن زمان به خاطر استفاده از ویدیوهایی با فرمت BIK (یا همان فایلهای Bink Video) حجم بسیار زیادی پیدا کرده بود. بازی Galactic Civilization 2: Ultimate Edition که در سال ۲۰۱۱ راهی بازار شد، حدود ۱۵ درصد از حجم فایل نصبیاش را به تکسچرها و اجزای محیط اختصاص داده بود. وقتی Galactic Civilization 3 در سال ۲۰۱۵ راهی بازار شد، تکسچرها سهم بیشتری را به خود اختصاص دادند و صاحب ۲۰ درصد از حجم کلی بازی شدند. اما یکی از تازهترین بازیهای استارداک یعنی Ashes of the Singularity: Escalation که سال ۲۰۱۶ راهی بازار شد، چیزی حدود ۶۰ درصد از حجمش را به تکسچرها، اجزای محیط و کارکترها اختصاص داده بود!
میپمپها و نسخههای مختلف از یک تکسچر
بهجز تکسچرهای معمولی، یکی از دیگر اجزایی که حجم بازیها را اشغال میکند چیزی نیست جز «میپمپ»ها. عبارت MIP احتمالا از زبان لاتین آمده و به معنای «اشیای زیاد در محیط کوچک» است. میپمپها از دههی هشتاد میلادی در نرمافزارهای سهبعدی استفاده شدهاند و هنوز هم سازندهها از آنها بهره میگیرند. برای دانستن فواید میپمپها باید دانست که در یک بازی قرار نیست همهی تکسچرها همواره در بالاترین رزولوشن ممکن لود شوند. میپمپها نسخهای کمکیفیت و سبکتر از تکسچرهای اصلی هستند که در مواقع لازم با تکسچرها جایگزین میشوند. مثلا در بازیها مواقع زیادی پیش میآید که بازیکن مناظر را از فواصل دور مشاهده کند. در این صورت نیازی نیست همهی جزئیات آن محیط با بالاترین رزولوشن رندر شوند. در این حالت اگر سازندگان از تکسچرها میپمپ ذخیره کرده باشند، انجین بازی میتواند بهطور موقتی آنها را جایگزین تکسچرهای باکیفیت کند تا در میزان مصرف پهنای باند و حافظه صرفهجویی شود.
هر تکسچر DXTC بههمراه میپمپهایی با سایزهای مشخص ذخیره میشود. رزولوشن این میپمپها از توانهای مختلف ۲ به دست میآید و براساس تابعی مشخص، در ابعاد مختلف پردازش میشود. میپمپهای هر تکسچر آنقدر تقسیم بر ۲ میشوند تا به یک پیکسل ساده ۱ در ۱ برسند. مثلا اگر از یک تکسچر 2K آغاز کنید، باید برای آن ۱۱ میپمپ مختلف تولید کنید:۱۰۲۴x۱۰۲۴، ۵۱۲x۵۱۲، ۲۵۶x۲۵۶، ۱۲۸x۱۲۸، ۶۴x۶۴، ۳۲x۳۲، ۱۶x۱۶، ۸x۸، ۴x۴، ۲x۲، ۱x۱. آنریل انجین حتی در این زمینه به سازندگان کمک میکند و لیستی از سایزهای نهایی و کاربردی فایلها را در اختیار آنها قرار میدهد.
با این اوصاف، حالا میدانیم که میزان قابل توجهی از حجم بازیها را تکسچرها تشکیل میدهند و میدانیم که حجم بازی باتوجهبه میزان تکسچرهایی که در آن استفاده شده و کیفیت آنها مشخص میشود. تعداد تکسچرهای جدید و تازه که هر یک در بخش خاصی استفاده میشوند هم روی حجم بازی تأثیرگذار است. حال بیایید یک بازی بزرگ را در نظر بگیریم. بازیای که در حد و حدود آثار بزرگ این روزها است و قرار است محیطهای پرتعداد و پرجزئیاتی را شامل شود. بازیای که میتوانیم ادعا کنیم هزاران تکسچر برای شکل دادن به محیطهای آن استفاده شده است. مثلا بگذارید فرض کنیم تعداد ۱۰.۰۰۰ تکسچر در این بازی استفاده شده.
یکی از سریعترین راههایی که باعث میشود بازی شما از لحاظ گرافیکی بهتر و زیباتر به نظر برسد، این است که رزولوشن تکسچرها را بیشتر کنید.
اگر محاسبههایمان را براساس قواعد موتور آنریل انجام دهیم، برای تکسچرهایی با کیفیت 1K (یا همان ۱۰۲۴ در ۱۰۲۴ که «با کیفیت خوب» تلقی میشوند) بازیمان برای ذخیرهی تکسچرها حدود ۱۳.۳ گیگابایت فضا نیاز دارد. حالا اگر کیفیت تکسچرها را به 2K برسانیم، یکمرتبه این حجم تا میزان ۵۳.۳ گیگابایت جهش میکند. اگر بخواهید از بهترین استاندارد حال حاضر یعنی تکسچرهای 4K استفاده کنید... حدس بزنید چه میشود! با حجمی ۲۲۳.۷ گیگابایتی از تکسچرها سر و کار خواهید داشت! این عدد صرفا متعلق به تکسچرها است؛ در حالیکه بیشتر بازیها فضای زیادی را نیز به صداها، ویدیوها و... اختصاص میدهند. (خصوصا اگر همانند آثاری چون Red Dead Redemption 2 و Call of Duty کاملا صداگذاری شده باشند و دیالوگهای فراوانی را شامل شوند). واضح است که باز هم با همهی این روشها، حجم بازیها چیزی است که بهسادگی از دست سازندهها خارج میشود. برای مدیریت کردن حجم تکسچرها و سایر اجزای بازی باید روشهای مختلف را به کار گرفت، جزئیات را کاست و و اضافه کرد، چیزهای اضافی را حذف کرد و در انتخاب فرمتها و روشهای فشردهسازی، دقت فراوان به خرج داد. در غیر این صورت، بازی ما به یک هیولای چندصد گیگابایتی تبدیل میشود.
موسیقی، صدا و ویدیو
کلیهی صداهای موجود در بازی Killing Floor حدود ۱.۱ گیگابایت حجم دارد؛ درحالیکه حجم اجزای محیط و تکسچرها در این بازی به ۱۷.۴ گیگابایت میرسد!
بدون شک صدا یکی از مواردی است که حجم قابل توجهی از فایلهای یک بازی را به خود اختصاص میدهد. میزان کیفیت هر افکت صوتی، به ماهیت آن بستگی دارد. برای مثال، استودیو تریپوایر، سازندهی بازیهایی چون Killing Floor 2 برای صدای اسلحهها از کیفیت ۴۴ کیلوهرتز و برای صدای صحبت شخصیتها از کیفیت ۲۲ کیلوهرتز استفاده میکند.
استفاده از صدای فراگیر شش کاناله ( که به صدای فراگیر ۵.۱ مشهور است) بهجای صدای استریو یا مونو، یکی از دیگر دلایلی است که بازیهای این روزها بزرگتر و حجیمتر شدهاند. البته بیشتر شدن تعداد و تنوع صداهای مختلف در بازیهای امروزی نیز تاثیر قابل توجهی بر حجم بازیها گذاشته. هرچه باشد بازیهایی که حالا با آنها سر و کار داریم از لحاظ صداگذاری و تعداد صداهای مختلف با بازیهایی که سالها پیش تولید میشدند تفاوتهای چشمگیری دارند که میتوانید با مراجعه به بازیهای قدیمی، این تفاوت را به وضوح متوجه شوید.
از سوی دیگر باید ویدیوها را هم در نظر گرفت. امروزه سازندگان از ویدیوهای مختلفی در بازیهایشان استفاده میکنند و کیفیت این ویدیوها هم روزبهروز در حال بیشتر شدن است. زمانی بازیها از کاتسینهای ۶۴۰ در ۴۸۰ استفاده میکردند اما رفته رفته این کیفیت بالاتر رفت و حالا با استاندارد 4K سر و کار داریم. البته خوبی ویدیوها این است که بهشدت قابل فشردهسازی هستند. بهلطف جادوی روشهای فشردهسازی ۱۵۰۰ برابری و کدک H.264، میتوانیم حجم ویدیوها را با شدت زیادی نسبت به قبل کاهش دهیم. اما همچنان برای داشتن ویدیوهایی با کیفیت، مجبوریم حجم قابل توجهی را به آنها اختصاص دهیم.
چرا گاهی بازیهای بهنظر کممحتوا حجمهای سرسامآوری دارند؟
اما چرا برخی از بازیها نسبت به بازیهای دیگر حجم بسیار بیشتری دارند؟ پاسخ دادن به چنین سوالاتی در ابتدا اندکی گیجکننده است. اگر بازیهایی چون Call of Duty: Modern Warfare و Red Dead Redemption 2 را کنار یکدیگر بگذاریم، چگونه میتوان آنها را از لحاظ حجم مقایسه کرد؟ یکی از آنها اثری جهانباز با دنیایی گسترده و جزئیاتی بینظیر است و ۱۵۰ گیگابایت حجم دارد. دیگری اما یک شوتر اول شخص خطی و محدود با محیطها و مدلهای پرتعداد است و در کمال ناباوری ۱۷۵ گیگابایت فضا را اشغال میکند. The Witcher 3 با صدها ساعت گیمپلی و جهان بسیار بزرگ و پر جزئیاتش حدود ۵۰ گیکابایت حجم دارد و بازیای چون Rainbow Six: Siege که یک شوتر مولتیپلیر است هم حدودا همین میزان را اشغال میکند.
برای اینکه بدانیم چرا حجم بازیها با یکدیگر فرق دارد، نباید به استدلالهایی چون وسعت گیمپلی یک بازی یا حتی میزان ساعاتی که بازیکن را سرگرم میکند تکیه کنیم. زیرا این موارد تاثیر مستقیمی در سایز فایلهای بازی ندارند. پاسخ اما میتواند در مواردی نهفته باشد که در نگاه اول به چشم نمیآیند. مناطق گسترده و مملو از پوشش گیاهی بازیهای جهان باز در ذهن ما بسیار سنگینتر و حجیمتر از چیزی که واقعا هستند بهنظر میرسند؛ درحالیکه مدلی پر جزئیات از یک اسلحه که ممکن است در بازی کوچک و ناچیز به نظر برسد، بیشتر از آنچه بهنظر ما میرسد، حجم دارد.
مناطق گسترده و مملو از پوشش گیاهی بازیهای جهان باز در ذهن ما سنگینتر و حجیمتر از چیزی که واقعا هستند جلوه میکنند
برای مثال بازی NBA 2K20 را در نظر میگیریم. اثری که برای بازی کردنش باید حدود ۵۰ گیگابایت دانلود کنید. چرا بازیای که کل دنیایش قرار است درون سالنهای بسکتبال جریان داشته باشد، باید به اندازهی کل دنیای وسیع ویچر ۳ حجیم باشد؟ یکی از دلایلش این است که همهی بازیکنان از همهی تیمها در این بازی مدل و تکسچرهای خاص خودشان را دارند و تیم سازنده قصد داشته به قیافههای واقعی افراد در دنیای واقعی وفادار بماند. درحالیکه تعداد بدنها، اجزای چهره و مدلهای شخصیتهای ویچر ۳ بسیار کمتر از بازیکنان NBA است. اطلاعات انیمیشنهای پرتعداد و پیچیدهی موشن کپچر شده هم مورد دیگری است که در NBA 2K ذخیره شده و احتمالا در ویچر ۳ از آنها خبری نیست.
سوالات زیادی را میشود در اینباره پرسید. تا چه اندازه قرار است با ویدیوهای از پیش رندر شده سر و کار داشته باشیم؟ دربارهی صدا چه؟ آیا آن را فشردهسازی میکنیم؟ اولین نسخه از تایتانفال هنگام عرضه ۴۸ گیگابایت حجم داشت و این مسئله سر و صداهای زیادی به پا کرد. دلیل این حجم زیاد این بود که سازندگان صداهای بازی را فشردهسازی نکرده بودند تا بار پردازش آنها را از روی دوش سیپییو بردارند. نظر استودیو ریسپاون در این زمینه این بود که وقتی بازی با موفقیت از پردازندههای دوال کور هم پشتیبانی کند، رضایت کاربران به نسبت زمانیکه یک بازی کمحجمتر تحویل بگیرند، بیشتر خواهد بود.
تایتانفال برای نصب شدن روی پی سی به ۴۸ گیگابایت فضا نیاز داشت. اما ۳۵ گیگابایت از این حجم صرفا توسط صداهای بازی اشغال شده بود. استودیو ریسپاون تصمیم گرفته بود صداهای بازی را بدون فشردهسازی در آن ذخیره کند؛ چراکه کامپیوترهای قدیمی و نه چندان قوی نمیتوانستند بدون فدا کردن نرخ فریم، صداهای فشرده شده را اجرا کنند. این مسئله البته روی کنسولها مشکل چندانی ایجاد نمیکرد؛ زیرا کنسولها از سختافزارهای مشخص و یکسانی بهره میبرند.
سازندهها چهقدر به بهینهسازی حجم اهمیت میدهند؟
احتمالش زیاد است که حتی با خواندن همهی این موارد، هنوز هم راضی نشده باشید و همچنان از خودتان بپرسید چرا باید برای یک بازی ۱۷۵ گیگابایت دانلود کنید! در طول این نوشتار، دلایل زیادی را برای این پدیده ذکر کردیم. اما شاید مهمترین دلیلی که باعث میشود حجم فایل نصبی بازیها تا این اندازه زیاد شود، به روش توسعهی بازی بازگردد. یکی از مراحل مهمی که سازندگان باید در طول تولید بازی آن را بهصورت جدی دنبال کنند، مرحلهی بهینهسازی است. بدون شک دربارهی بهینهسازی گرافیکی بازیها چیزهای زیادی شنیدهاید. در طی سالهای گذشته، بازیهای زیادی از مشکلات بهینهسازی گرافیکی خصوصا روی پی سی رنج میبرند. اما مسئله اینجا است که بهینهسازی بازیها تنها به مواردی چون اجرا شدن روی سیستمهای ضعیفتر و خروجی دادن فریمریت بهتر خلاصه نمیشود. حجم خروجی بازی یکی دیگر از موارد مهمی است که لازم است سازندگان بازیها به آن توجه ویژهای کنند. اما متاسفانه بهدلیل رفع شدن بسیاری از محدودیتهای عرضه و گسترش اینترنت، استودیوهای بازیسازی، توجه لازم را به این بخش ندارند. کلیف هریس، بازیساز باتجربهای که حالا تک نفره کار میکند و همهی کارهای مربوطبه بازیهایش را خودش انجام میدهد، حدود ۲۰ سال است که در صنعت بازیهای ویدیویی تجربه دارد. از نظر او بازیسازهای جوان اهمیت چندان زیادی برای حجم بازی قائل نیستند و باید به این موضوع بهطور ویژه توجه کنند.
در یک استودیوی بزرگ، یک تیم حدودا ۱۰۰ تا ۳۰۰ نفره روی یک بازی کار میکنند. اما فقط یک نفر است که قرار است همهی اطلاعات را گردآوری کند و فایل نصبی خروجی نهایی بازی را ایجاد کند. ۹۹ درصد از کسانی که روی بازی کار میکنند، حتی نمیدانند حجم خروجی نهایی چقدر است و حتی اهمیتی هم برای آن قائل نیستند. تا زمانیکه مراحل تولید بازی به اتمام نرسیده، نمیشود تخمینی از سایز نهایی خروجی بازی زد و اگر زمانی توسعهدهندگان مجبور شوند کرانچ (اضافهکاری زیاد به منظور تولید سریع بخشهایی از پروژه برای رسیدن به یک ددلاین) کنند، همهی آنها با سرعت برق و باد فقط و فقط به تولید سریعتر بازی میپردازند و کسی حتی وقت ندارد دربارهی حجم خروجی نهایی فکر کند!
در این استودیوها همه از اینترنتهای پر سرعت استفاده میکنند و اینکه حجم فایل دانلود بازی بزرگ یا کوچک باشد، برایشان خندهدار است.
یکی از مهمترین مواردی که در حجیم شدن بازیهای این روزها نقش بسیار مهمی دارد، سیاستها و شیوهی کار کردن تیم سازندهی آن است. اینکه سازندگان میخواهند چه نوع بازیای بسازند؛ اینکه میخواهند چه تجربهای خلق کنند و تمرکزشان روی چه چیزهایی هست و روی چه چیزهایی نیست. اینکه تیم سازنده چند نفر است و اینکه میزان تخصصشان چقدر است و تا چه اندازه در کار با ابزارهایی که به کار میگیرند حرفهای هستند. اینها همه مواردی است که میتواند تاثیرات مهمی روی زیاد یا کم شدن حجم فایل نصب بازی بگذارد.
سازندههای جوان؛ آنها فراموش کردهاند چطور میشود اَسِتهای کوچک ساخت. بازیها این روزها در شهرهای بزرگ ساخته میشوند. جایی که افراد جوان، در شهرهایی که مراکز تکنولوژی به حساب میآیند روی آنها کار میکنند. در این استودیوها همه از اینترنتهای پر سرعت فیبر نوری استفاده میکنند و این مسئله که حجم فایل دانلود بازی بزرگ یا کوچک باشد، برایشان خندهدار است. این چیزی نیست که آنها ذهن خودشان را به آن مشغول کنند؛ علاوهبر آن، هنوز هم هستند احمقهایی که کیفیت بازیها را براساس سایز آنها قضاوت میکنند و در نظرشان یک بازی ۲۰ گیگابایتی کمارزشتر از یک بازی ۵۰ گیگابایتی است. بله؛ این اتفاق هنوز هم میافتد.
تعداد قابل توجهی از اجزای بازیهایی که به دستتان میرسد، مواردی هستند که در بازی هیچ نقشی ندارند اما به دلایل مختلف به نسخهی خروجی راه یافتهاند.
بگذارید با مثال کمی شفافتر بگوییم. فرض کنید تیم سازندهی A و B هر دو میخواهند روی یک بازی کاملا یکسان کار کنند. اما تیم A زمان بیشتری دارد و اعضایش هم نسبت به تیم B، تخصص و تجربهی بیشتری در زمینهی ساخت بازی دارند. در طول ساخت این دو بازی، اعضای تیم B احتمالا مشغول مبارزه با بیتجربهگیهایشان هستند و مدام روشهای مختلف را آزمون و خطا میکنند. در عوض تیم A با خیال راحت میتواند در فرصتی بیشتر، کارش را انجام دهد و یک بازی خوب و بهینهشده بسازد. هرچه تیم B شلختگیهای متعدد دارد، تیم A با تجربهی بیشترش میتواند مشکلات اثر را برطرف کند و محصول کاملتری توسعه دهد. ممکن است تیم B ابتدا چند مرحله از بازی را بسازد؛ اما در میانهی راه پشیمان شود و تصمیم بگیرد یکی از مراحل را با مرحلهی دیگری جایگزین کند. اگر آنها در طی این فرایند، نتوانند به درستی Assetهای بهدرد نخور را از اجزای اصلی بازی جدا کنند و فضای ادیتور گیمانجینشان را تمیز نگه دارند، آنوقت با پدیدهی اَسِتهای بهدرد نخور روبهرو میشویم! محتوایی که میتواند هر چیزی باشد و در گیمپلی هم جایی ندارد اما چون در فضای ادیتور حاضر بوده، در خروجی نهایی بازی هم حاضر است و بر حجم فایل نصب آن میافزاید.
این یعنی آنها فایلهای صوتی با فرمت Wav را بهجای ذخیره کردنشان با فرمت بسیار کوچکتر OGG، همانطور به حال خود رها میکنند؛ از تکسچرهای HD و با کیفیت حتی برای اشیایی که نقشی جزیی دارند و هیچوقت قرار نیست در بازی بهصورت کامل دیده شوند هم استفاده میکنند؛ آنها حتی میپمپهایی که قرار نیست در بازی استفاده شوند را هم همانطور به حال خود رها میکنند و همیشه رنگهای ۳۲بیتی را حتی برای اجسامی که رنگبندی سیاه و سفید دارند هم استفاده میکنند. در این بازیها حتی فایلهای صوتی مربوطبه زبانهای مختلف، بدون توجه به منطقه، برای همه ارسال میشود. [بهجای اینکه هر کس باتوجهبه منطقهی جغرافیاییاش صدای مخصوص به زبان خود را دریافت کند.]
در عوض تیم A نهتنها محتوای اضافیای نداشته، بلکه اگر هم داشت، فرصت کافی داشت تا آنها را بهدرستی تشخیص دهد و از محیط بازی حذف کند. تیم B ممکن است در بخش فشردهسازی تکسچرها، صداها یا ویدیوها زمان یا تخصص کافی نداشته باشد. پس احتمالا یا آنها را بهطرز نادرستی فشردهسازی میکند (که به کیفیت سمعی و بصری بازی آسیب خواهد زد) یا اینکه فشردهسازی نمیکند و حجم فایل نصب بازی را باز هم افزایش میدهد. نتیجهی بی دقتیها، نبود تخصص کافی، اختصاص ندادن توجه لازم و تمرکز بیش از اندازه روی بخشهای دیگر روند توسعه، باعث میشود بسیاری از تیمهای سازندهی بازی در جهان همانند تیم B عمل کنند. نتیجهی این چرخه هم چیزی است که نه گیمرها از آن دل خوشی دارند و نه به نفع سازندهها است.
بهدلیل اینکه چنین پروژههایی ابعاد بسیار بزرگی دارند، اَسِتهای بسیار زیادی در آنها به کار رفته و در بازههای زمانی بسیار طولانی، توسط افراد پرتعداد ساخته میشوند، بسیار دشوار است که بفهمید کدامیک از آنها جزئی از بازی و کدامیک بهدردنخور هستند. به همین خاطر میتوان با اطمینان گفت که تعداد قابل توجهی از اجزای بازیهایی که به دستتان میرسد، مواردی هستند که در بازی هیچ نقشی ندارند اما به هر دلیلی به نسخهی خروجی راه یافتهاند.
حالا میشود فهمید که چرا یک بازی روی کنسولها ۱۰۰ گیگابایت حجم دارد اما ناگهان روی پی سی به ۱۵۰ گیگابایت میرسد. حالا همچنین میدانیم که چه چیزهایی باعث میشوند ما هنوز هم ناچار شویم دست به دامان هارددیسکهای معمولیمان شویم و SSDها بار دیگر جوابمان را ندهند. این روند، اگرچه در وضعیت فعلی هم چندان جالب نیست اما میدانیم در آینده هم ادامه خواهد یافت و بهزودی حجمهای ۱۵۰ تا ۲۰۰ گیگابایتی به حجمی رایج برای بازیها تبدیل خواهد شد؛ چراکه کنسولهای نسل بعدی در راهاند و کیفیت بازیها هم روزبهروز گسترش پیدا میکند. شاید تا آن موقع کسی برای فشرده کردن بیشتر تکسچرها راهی پیدا کند؛ شاید هم ناچاریم همچنان هاردهای پرظرفیتتری تهیه کنیم. هرچه باشد بهتر است روی این مسئله از همین حالا تاکید کنیم تا سازندهها هم به بهینهسازی حجم توجه بیشتری کنند و دقتشان در ساخت اجزای بازی را بالا ببرند.