آیا هوش مصنوعی فارغ از تمامی جنجالهای خود میتواند ابزاری برای بهبودی صنعت بازیهای ویدئویی باشد؟
تعامل با رباتها و تجربه زندگی با تکنولوژی پیشرفته یکی از آرزوهای همیشگی ما انسانها بوده. ابتدا از ابزارهای ساده شروع، سپس آرزوی پرواز و اکنون ارتباط با رباتها، انسان اینچنین به سمت فتح قلهها حرکت میکند. در طول سالیان گذشته بهخصوص در صنعت سینما و ژانر علمی-تخیلی، شاید مهمترین موضوعی که بیشتر از هرچیزی در تلاش برای خودنمایی بود، همین تسلط و فراگیری این موجودات فلزی باشد. موجودیت دیگری که توانایی انسان را به چالش و حتی در برابر مخلوق خود عصیان کند. این سناریو برای ۵ سال گذشته نیز یک موضوع جالب برای ساخت فیلم یا بازی ویدئویی به شمار میرفت اما اکنون به چالش و نگرانی جدی تبدیل شده چرا که مشکل اصلی بازهم به مخلوق آن یعنی انسان باز میگردد. موضوع بسیار پیچیده است! خوشبختانه یا شوربختانه هرچند در ابتدای راه حضور داریم اما بازهم میتوانیم چشماندازی نسبی به آینده داشته باشیم. این موجودات هوشمند در حال حاضر تنها در یک چتباکس یا مراحل اولیه انساننما هستند. دارای اطلاعات بسیار و حتی میتوانند با شما ارتباط عاطفی برقرار کنند! در عین اینکه به صورتی لذتبخش آینده را لمس میکنید، ممکن است مقداری دچار ترس شوید. با خود میگویید: این لعنتی واقعا باهوش است! این موجودیت جدید هرچند فواید بسیاری از خود نشان داد اما طولی نکشید که خطرات آن خیلی سریع ناقوس خطر را به صدا درآورد.
چشمانداز آینده تنها میتواند مقداری مسیر پیشروی انسان را شفاف کند اما این بهمنظور عدم خطر و جلوگیری از تمامی مشکلات نخواهد بود بلکه تلاش بر این است تا حد ممکن از اتفاقات “بَد” جلوگیری شود. جهان هنوز آمادگی لازم را برای این شریک جدید پیدا نکرده. بهنظر میرسد بسیاری از کشورها هنوز از قانون، مقررات و اخلاق هوش مصنوعی تبعیت ندارند. همچنین با توجه به گسترش و پیشرفت چشمگیر باید آموزشهای لازم داده شود.
نگاهی کوتاه به مشکلاتی (صرفا چند مورد)، که هوش مصنوعی میتواند پدید آورد:
مشکلات حقوقی: استفاده از دیپفیکها (Deep Fake).
خطرات وجودی: عصیان و نافرمانی.
آسیبهای زیستمحیطی: مصرف بالای انرژی.
خطرات اقتصادی و شغلی.
مشکلات امنیتی.
بررسی این موارد از بحث اصلی ما جدا و حتی اگر بخواهیم به این مسائل بپردازیم مستلزم مشاوره گرفتن از متخصصان این حوزه هستیم. در این مقاله قصد داریم به رابطه هوش مصنوعی و جهان ویدئوگیم بپردازیم. اینکه میتواند با حضور خود، باعث تحولات شود؟ آیا این موجودیت هوشمند توانایی رو به جلو بردن این صنعت را دارد؟ آیا هوش مصنوعی جایگزین مناسبی برای توسعهدهندگان است؟ آیا تفکرات و ساختارها دستخوش تغییر خواهد شد؟
موجودیتی در حال تکامل
در نوشتههای گذشته به مراتب اعلام شده که بازیسازی حرفهای سخت و البته طاقتفرسا است. شما ابتدا باید ایدههای خود را بررسی و سپس آن را برای افراد بالارتبه یا بهتر است بگوییم سران یک کمپانی (فرض اینکه استودیو شما زیرنظر یک کمپانی قرار دارد)، توضیح دهید. آنها در صورت صلاحدید خود با ایده شما موافقت میکنند. حالا تیم توسعه به رهبری یک فرد باید شبانهروز در حال برنامهریزی دقیق برای عنوان جدید باشند. چه تعداد نیرو لازم است؟ بودجه لازم؟ تبلیغات، برنامهریزی انتشار و غول مرحله آخر، انتخاب طرح نهایی! حالا طرح انتخابشده نیاز به اجرا دارد. بین تیمهای توسعه باید روابط بسیار عمیقی برقرار شود. البته بنده با نهایت لطف و مهربانی تصور میکنم بازی در اواسط توسعه خود لغو نخواهد شد. فرض اینکه چند سال به همراه دوستان خود مشغول ساخت یک اثر باشید و بعد از مدتی خبر لغو به گوش شما برسد، قاعدتا بسیار آزاردهنده خواهد بود. سوای از مشکلات طراحی کاراکتر که امروز بسیار جولان میدهد، عمده معضلات به بحث فنی اشاره دارد. مسائلی چون طراحی چهره یا استایل یک کاراکتر مونث نمیتواند یک مانع عظیم برای یک تیم باشد.
مدلسازی کاراکترها به دلیل اهمیت زیاد، از حساسیت بالایی برخوردار هستند
شما هرچقدر هم داوینچیمانند طرح یا سقفنگارههایی زیباتر از میکل آنژ خلق کنید بازهم باید در چارچوب صفر و یک قرار گیرید! اصولا تمامی هنرهای موجود در این صنعت قرار است بهصورت دیجیتالی تبدیل شده و دستآخر نمایش داده شوند. پس به عقیده بنده شاید منطقی باشد که هوش مصنوعی را در راستای بُعد فنی بررسی کنیم.
بدیهی است که زمینه ساخت یک اثر باید یک موتور بازیسازی (Game Engine)، باشد. تمامی آنچه میخواهیم باید در همین زمین پیاده شود.
اصلا جای دوری نمیرود که بخواهیم بگوییم که موتور بازیسازی چیست؟
یک قالب نرمافزاری به همراه کتابخانهها و ابزارهای موردنیاز که اساسا لازم نیست از ابتدا نوشته شوند. کتابخانههایی آماده از جمله رندر گرافیک، سیستم فیزیک، صدا، انیمیشن و هوش مصنوعی که در اختیار تیم توسعه قرار دارند.
استودیوها معمولا مطابق سبک خود، این موتور بازیسازی را شخصیسازی میکنند. پس عزیزان توجه داشته باشند متخصصان استودیو ماموریت دارند تا نسلهای پیشرو این موتور بازیسازی خود را تقویت کنند. در ادامه ما هرکدام از این بخشهای حیاتی را بیان و چگونگی تأثیر هوش مصنوعی در این موارد شرح میدهیم.
پیوند ذهن و سختافزار. تصویری منتسب به عنوان Control
هوش مصنوعی یک دستیار محسوب میشود
اگر بخواهیم بهصورت ساده این مبحث را توضیح دهیم: فرایندی که موجب تبدیل دادههای سهبعدی (مدل، بافت و نور)، به تصویر دو بعدی شود را Rendering میگوییم. این بخش توسط یک خط لوله اصطلاحا به نام Render pipeline انجام میشود. خب، در جهان یک بازی، بازیکن باید با انواع مختلفی از اشیا و کاراکترها مواجه شود که هرکدام از جمله اشیا دارای وزن، اندازه و بافت متفاوت هستند. ما قصد داریم این طرحهای واقعی را بهصورت دیجیتالی نشان دهیم. بدیهی است که بسیاری پس از الهام گرفتن یا تصویرسازی نهایی حالا باید یک تصویر کلی از آنچه در ذهن داریم را بهصورت ماکت (درواقع بهمانند ماکت)، تهیه کنیم. تمامیت خواسته ما تبدیل واقعیت به دیجیتال است.
پالیگان (Polygon): پالیگان اسکلت اشیا است. یک شکل مسطح که با اتصال چند رأس (رایجترین آنها مثلث و چهارضلعی)، با خطوط صاف شکل میگیرد. پس از اسکلتبندی، رنگ، بافت، نور و سایه روی آنها اعمال میشود.
بهطور خلاصه مدلسازی توسط پالیگان انجام، مباحث مربوط مختصات اشیا در نقشه یا همان محاسبات هندسی (Geometry Stage) صورت گرفته، سپس مدلهای سهبعدی به دو بعدی برای مانیتور تعریف شده، تعیین رنگ، بافت، نورپردازی (صرفا چند نوع عملیات ذکر شد) و اضافه کردن افکتهایی چون موشنبلور در مراحل پایانی قرار دارند.
برای این چهره ۸۳ هزار پالیگان به کار رفته!
رندرینگ یک بخش حساس و بسیار مهم است. در تکنولوژی همیشه محدودیت سد راه توسعهدهندگان خواهد بود. برای مثال شما نمیتوانید یک کاراکتر با تعداد بسیار زیاد پالیگان ارائه دهید زیرا محدودیت سختافزاری و پردازش حد و حدود خودش را دارد. هنگامی که GPU نتواند فریمریت را بهدرستی انجام دهد، تعداد پالیگان بالا باعث پردازش سنگین شود، محو شدن جزئیات دور، افکتهای سنگین، همه این موارد صرفا بخشی از مشکلات رندرینگ محسوب میشوند! پس با وجود این مشکلات، هوش مصنوعی چگونه میتواند مفید باشد؟ هوش مصنوعی میتواند تصاویر با وضوح پایین را رندر و آن وقت با الگوریتم هوشمند تصویری باکیفیت نشان دهد. حتی هوش مصنوعی این امکان را فراهم میکند با شناسایی بافتهای کیفیت پایین، مجددا به تصحیح آنها بپردازد. و دستآخر بهینهسازی پردازش! اگر هوش مصنوعی بعدها بتواند عملکرد خود را بهبود ببخشد، ما شاهد تصاویری بهتر، کاهش زمان مدلسازی و همدردی با پردازندههای زبانبسته خواهیم بود.
فیزیک یک اصل مهم به شمار میرود
آیا میتوان فیزیک جهان پیرامون را بهصورت دقیق شبیهسازی کرد؟ هوش مصنوعی وارد میشود.
در گذشته بسیاری از توسعهدهندگان با ایدههای خلاقانه خود به دنبال دور زدن محدودیتها بودند. نمونههایی چون مهگرفتگی سایلتهیل و چشمپوشی از ایده سه کاراکتر بودن Gta San Andreas میتواند به صحت این سخن مهر تأیید بزند. امروزه با توجه به پیشرفت چشمگیر تکنولوژی، رقابت به سوی واقعگرایی کوچ کرده. استودیوها به روی صحنه رفته و توان واقعگرایی خود را نمایش میدهند. آنچه امروزه بلای جان صنعت ویدئوگیم شده مربوط به مقایسه فیزیک بین دو عناوین است. اگر به یاد داشته باشید Cyberpunk 2077 با تمامی آثار گذشته از لحاظ فیزیک مقایسه شد. بدیهی است که فیزیک در عناوین امروزی بیشتر از گذشته توسط مخاطبین مورد توجه قرار میگیرد. موتورهای بازیسازی معمولا دارای یک بخش فیزیکی بوده و چنانچه لازم باشد از موتورهای فیزیکی مستقلی به مانند هاوک (Havok)، استفاده میشود. چگونگی تخریب، حرکات کاراکترها، وسایل نقلیه، اشیا و هرآنچه در جهان بازی حضور دارند در همین حوزه باید بررسی شوند. تفاوت واکنش اصابت گلوله به سطوح مختلف، نسبت تخریب و سرعت یک خودرو، واکنش آتش به عناصر مختلف و غیره. راستش را بخواهید در نظر گرفتن تمامی این جزئیات اصلا ساده نخواهد بود.
یک جسم میتواند بهدرستی تعریف نشود. اینکه در برخورد دو جسم واکنش چگونه باشد در صورتی که میتوان میلیونها واکنش مختلف را تعریف کرد؟ قبل از اینکه تمام توجهات به نحوه راه رفتن آرتور مورگان و حرکات اسبش جلب شود، ما شاهد رویداد خاطرهانگیزی و البته ماندگاری به نام collision miss (تداخل دو جسم. فرضا فرو رفتن پای بازیکن در جسد دشمن!)، بودیم و هستیم. شمشیر از شنل رد شده، حضور یک قطار که بمب اتم برای او یک شوخی محسوب یا شاهد لاستیک ضد موشک هستیم؛ از ضریب بازخورد چشمپوشی میکنیم! از سوی دیگر پردازش این فیزیک نیاز به منابع قدرتمند دارد. هوش مصنوعی اکنون میتواند به پیشبینی اتفاقات و خلق الگوریتمهایی برای تداخل، نحوه واکنش دو حالت مختلف، شبیهسازی شتاب و سرعت، تأثیرات آبوهوا بر اجزای مختلف و نهایتاً بهینهسازی داشته باشد.
تا زمانی که بوی Pointer و Multithreading به مشام نرسد، برنامهنویسی ++C لذتبخش است
پس از قدرت گرفتن هوش مصنوعی اولین قشری که جایگاه خود را سست یافت برنامهنویسان بودند. نوشتن هزاران خط کد و عیبیابی مشکلات پس از آن یک دشواری عظیم است. این خطوط کد بیشمار نوشتهشده عامل اصلی اتصال ایدهها به ماشین است. در بازیسازی از زبانهایی چون C++/C#/C استفاده میشود. برای یادگیری هرکدام از این زبانها شما باید زمان (C/C++ بیشتر)، زیادی را صرف آنها کنید. اگر زبان #C را کنار بگذاریم معمولا اکثر توسعهدهندگان از زبان C++ بهره میبرند. C++ در سالهای گذشته دچار تغییرات بسیاری شده اما یکی از معضلات اصلی آن اضافه شدن پیچیدگی به ساختار آن است و از طرفی شما موتور بازیسازی را نمییابید که هسته آن توسط C++ نوشته نشده باشد. سوای از عیبیابی و سختی این زبان، بحث اصلی مربوط به نشت حافظه است. نشت حافظه یا Memory Leak تأثیر بسزایی در خلق یک اثر ویدئویی دارد. شما بهعنوان یک کاربر رایانههای شخصی هرگاه قصد دارید از یک برنامه استفاده کنید، باید با RAM سیستم خود در ارتباط باشید. هرکدام از برنامهها از RAM یک حافظه خالی Memory Allocation درخواست میکنند.
بسیاری از افراد که خود را برنامهنویس میدانند، توانایی نوشتن این بازی بهظاهر ساده را ندارند
زمان اتمام کار فرضا یک موسیقی، باید این حافظه آزاد (Memory Deallocation) شود. خب اگر کار تمام شده و حافظه بدون هیچ ضرورتی همچنان پُر باشد، آن لحظه میگوییم نشت حافظه رخ داده! حال فرض کنیم یک بافت چندین بار اجرا شود، مدلهای سهبعدی که لزومی به حضورشان نیست در RAM باشند. حاصل این رخداد چیزی جز کم شدن FPS، طولانی شدن مدت زمان بارگذاری و احتمال خراب شدن بازی در زمان تجربه نخواهد بود. با اینکه ابزارهای مختلفی در اختیار برنامهنویسان است اما بازهم شاهد حضور باگها و استفاده نادرست از منابع هستیم. شاید هوش مصنوعی بهجای نوشتن چند صد خط کد برای فرضا چگونگی استفاده از یک خودرو، ما شاهد تعداد کمتر خطوط و بهینه باشیم. اینکه لازم نباشد CPU برای اشیایی که حضور ندارند منابع دهد و شاهد پردازش مناسب باشیم. توسعهدهنده بهجای تلف کردن ساعات خود برای عیبیابی، بدون ترس به دنبال اجرای مکانیکهای بازی باشد.
در بخش بعدی به دیگر مسائل چون صدا، انیمیشن خواهیم پرداخت. از اینکه تا انتهای این نوشته مرا همراهی کردهاید سپاسگزارم.
طراحی و اجرا :
وین تم
هر گونه کپی برداری از طرح قالب یا مطالب پیگرد قانونی خواهد داشت ، کلیه حقوق این وب سایت متعلق به وب سایت تک فان است
دیدگاهتان را بنویسید