Computer Engineer, philosophy and psychoanalysis lover, Gamer
هوش مصنوعی در بازی
هوش مصنوعی (Artificial Intelligence) و تحقیقات مربوط به آن، تاکنون درزمینهها و رشته های گوناگونی کاربرد داشته است، از جمله بازیهای ویدیویی. هوش مصنوعی از مهمترین عوامل در عملکرد کلی یک بازی ویدیویی مدرن، جدا از سبک آن محسوب می شود. هرچند صنعت هوش مصنوعی در بازیهای ویدیویی پس از تولد خود این نوع بازیها شروع به ظهور و پیشرفت نمود، اما امروزه یکی از المانهای خیلی مهم در ساخت یک بازی خوب، هوش مصنوعی استفاده شده در آن است.
تاریخچه صنعت هوش مصنوعی در بازی
بازیهای ویدیویی بدون هوش مصنوعی متولد شدند و در ابتدا هوش مصنوعی در بازی تنها یک مقولهی تحقیقاتی محسوب میشد. یکی از نخستین مثالهای عملی هوش مصنوعی در بازی سازی، بازی نیم (Nim) است که در سال 1951 ساخته و در1952 منتشر شد. هرچند 20 سال پیش از آن نیز بازی پوینگ (Poing) با یک هوش مصنوعی خیلی ساده و نه چندان پیچیده، توانسته بود بسیاری از بازیکنان ماهر را شکست دهد.
تلاشها ادامه یافت تا اینکه برنامهی نوشته شده توسط آرتور ساموئل برای بازی چکرز (Checkers)که در دهههای 50 و 60 توسعه یافت قادر شد تواناییهای یک فرد آماتور را در بازی چکرز به چالش بکشد. پس از آن نیز تلاش برای برنامهنویسی، مخصوصا در بازیهای چکرز و شطرنج(Chess) ادامه پیدا کرد تا در نهایت در سال 1997 کامپیوتر طراحی شدهی شرکت آی بی ام(IBM) توانست فرد ماهری چون گری کاسپاروو را شکست بدهد. پس از آن بود که به مرور و در اشکال گوناگون هوش مصنوعی در بازیها خودنمایی کرد.
کارکرد هوش مصنوعی در بازی
هوش مصنوعی در بازیهای ویدیویی کاربردهای مختلفی داشته و گسترهی آن وسیع است. شاید آشکارترین کاربرد آن، کنترل کردن شخصیتهای غیرقابل بازی، NPCها باشد. از استفادههای دیگر هوش مصنوعی در گیم میتوان به مسیریابی (Pathfinding) اشاره کرد، یعنی متدی که براساس آن تصمیم گرفته میشود یک کاراکتر غیرقابل بازی به چه شکلی از یک نقطه به نقطهای دیگر در نقشهی بازی برود که نمونههای آشکار آن را در بازیهای استراتژیک (Real-time Strategy) میتوان دید. از پرکاربردترین زمینههای دیگر، استفاده از هوش مصنوعی در گیمهای شوتر اول شخص (FPS) و گیمهای اکشن و ماجراجویی (Adventure) است، در این دسته از بازیها، هوش مصنوعی برای رقابت با بازیکنان به کار میرود.
مهمترین کاربرد هوش مصنوعی در بازیهای رایانهای مدرن، قابلیت شکار (Hunting) است. در گذشته قابلیت هوش مصنوعی در این زمینه شدیدا مصنوعی عمل میکرد و اگر بازیکنها در نقطه مشخصی قرار میگرفتند، هوش مصنوعی در پاسخ آن تنها به شیوهای کاملا تهاجمی و یا کاملا دفاعی عمل میکرد. این ضعف نشآت گرفته از نوع الگوریتمهای هوش مصنوعی است، یعنی: 1-رویدادگرا 2-هدفگرا 3- محفظههای سوراخ که از این بین تنها گزینه سوم بهتر و هوشمندانهتر عمل میکرد.
حال به بررسی این سه نوع هوش مصنوعی به طور خلاصه میپردازیم :
لازم به ذکر است که مثالهایی که در توضیحات هر یک از نوعها آورده شده با توجه بازی قدیمی و معروف کانتراسترایک (counter-strike) هستند.
هوش مصنوعی رویدادگرا: این هوش معمولترین نوع هوش مصنوعی است. رویداد میتواند شامل هر چیزی اعم از اتفاقات بازی تا دستوراتی باشد كه كاربر به شخصیت مجازی خود میدهد. براساس هر رویدادی كه در بازی انجام میشود، یک واكنش هوشمندانه نیز روی میدهد. در بازی كانتراسترایک دشمن شما نسبت به صدا حساس است و صدای دویدن شما را هم میشنود. از اینرو بسته به موقعیت خود، یا به آهستگی پنهان میشود، یا برمیگردد و از راه دیگری به سوی شما میآید یا به سوی شما میآید و شلیک میكند.
هوش مصنوعی هدفگرا: هرچند این نوع هوش مصنوعی از هوش مصنوعی رویدادگرا مستقل است، ولی هوش مصنوعی رویدادگرا میتواند در طراحی یک بازی، هدفهای موتور هوش مصنوعی هدفگرا را تامین كند. این نوع هوش مصنوعی، هدف با ارزش بیشتر را برمیگزیند و آن را با تقسیم به زیرهدفهای كوچکتر، پردازش میكند. شاید در بازی كانتراسترایک زمانی كه كامپیوتر كنترل هم تیمیها و هم كنترل دشمنان شما را به عهده دارد، دیده باشید كه وقتی با همتیمیهایتان به سوی دشمنان خود تیراندازی میكنید، آنها هم بیشتر به سوی شما شلیک میكنند تا دیگر همتیمیهایتان، چرا كه شما باید هدفهای خواستهشده در بازی (مانند آزاد كردن گروگانها یا خنثی كردن بمب) را انجام دهید و برای همین ارزش شما برای آنها بیشتر است.
محفظههای سوراخ: این روش تركیبی از دو روش گفته شده است. روش كار ساده است، دو محفظه دارید و چند نوع كار: فرار(flee)، مبارزه (fight) و پركردن تفنگ (restock). محفظهها مقداری از محتوای خود را با گذشت زمان از دست میدهند. شما اسكریپتی را در ارتباط با محفظهای كه بیشتر پر است، به اجرا در میآورید. رویدادهایی جاری، این محفظهها را با ارزشهای مختلفی پر میكنند و این محفظهها پر و خالی میشوند. برای نمونه دشمن مجازی را در موقعیتهای زیر در نظر بگیرید كه میتوان بسته به طراحی بازی عددهای زیر را كم و زیاد كرد:
· شما دشمن را ببینید، پنج درصد به ارزش فرار و ده درصد به ارزش مبارزه او افزوده میشود. چون در بازی اولین هدف مبارزه است نه فرار. فرار كاری است كه دشمن هنگام رویارویی با شما در زمانی كه موقعیت مناسبی ندارد، انجام میدهد. پس ارزش مبارزه در اینجا از فرار بیشتر است.
· گلوله او كم باشد، بیست درصد به ارزش ریستوك یعنی پر كردن تفنگ، افزوده میشود، چون شاید به زودی به آن نیاز داشته باشد.
· اگر آسیبدیدگی او كم باشد، بیستدرصد به ارزش فرار و دهدرصد به ارزش ریستوك افزوده میشود. چون اگر شخصیت مجازی آسیب كمی دیده باشد، با ماندن در یكجا و پركردن تفنگ خود چنانچه در تیررس شما باشد، آسیب بیشتری میبیند.
و به این صورت این روش بسط پیدا میکند و پیچیدهتر میشود و برای بازیکنان، هوش بازی طبیعی تر جلوه میکند.
از مثالهای کاربرد هوش مصنوعی در بازیها
اولیم مثال بازیThe Last of Us است که توسط شرکت Naughty Dog و در ژوئن 2013 (خرداد 1392) برای پلتفرم پلی استیشن 3 منتشر شده است. کاربرد اصلی هوش مصنوعی در بازی The Last of Us بیشتر از آنکه مربوط به دشمنان بازی باشد، در رابطه با شخصیت الی (Ellie) است. این شخصیت که همراه شما به عنوان بازیکن اصلی محسوب میشود، دختری نوجوان است که در دنیای The Last of Us مهره کلیدی نجات بشریت به حساب میآید و به نوعی میتوان گفت ستاره این بازی است. هوش مصنوعی عالی این بازی به ویژه در رابطه با کاراکتر الی، آن را در یاد و خاطره ما جاودانه کرد.
دومین نمونه که در این بخش میخواهیم آن را مدنظر قرار دهیم، بازیF.E.A.R است که توسط شرکتMonolith Productions ، در تاریخ 17 اکتبر 2005 (25 مهر (1384 برای پلتفرمهای کامپیوتر، پلی استیشن 3 و ایکس باکس 360 منتشر شد. میتوان گفت یکی از بهترین موارد کاربست فناوری هوش مصنوعی در عناوین شوتر اول شخص، بازی F.E.A.R است. دشمنان شما در این بازی هیچگاه به شکل یکسانی واکنش نشان نمیدهند. علاوه بر این، آنها همواره موقعیت همدیگر را در نظر گرفته و هیچوقت یک خطا را دو بار انجام نمیدهند. همین امر سبب میشود که شما به عنوان بازیکن، همواره به دنبال عوض کردن تاکتیک خود بوده و موقعیت خود را تغییر دهید.
سومین مثال این بخش، بازی Halo Reach است که توسط استودیو Bungie و در تاریخ 14 سپتامبر 2010 (23 شهریور 1389) به شکل انحصاری برای پلتفرم ایکس باکس 360 منتشر شد. بازی Halo Reach به واسطه هوش مصنوعی عالی خود، از این منظر یک سروگردن از تمامی عناوین مایکروسافت جلوتر است. در بازی Halo Reach با تعدادی از باهوشترین و در عین حال تهاجمیترین دشمنان خود مواجه خواهید شد. کاربست هوش مصنوعی در بازی Halo Reach به قدری عالی است که میتوانید بخش کمپین آن را بارها و بارها از نو بازی کرده و هیچگاه خسته نشوید؛ چراکه مکانیزم هوش مصنوعی بازی، هر دفعه عملکرد متفاوتی از خود نشان خواهد داد.
امروزه صنعت بازی سازی و گیمینگ در جهان با سرعت بسیار زیادی در حال پیشرفت هستند، به طوری که هر روزه شاهد الگوریتمهای جدید با سرعت و کاربرد بالاتر هستیم، در این نوشته سعی شد بصورت جزیی، نوع و کاربرد هوش مصنوعی در بازی و برخی بازیهای که از این فناوری به بهترین شکل استفاده کردهاند، برایتان بازگو شود. امیدواریم با خواندن این مقاله درک بیشتر و بهتری از مبحث هوش مصنوعی و کارکردهای آن در بازیهای رایانهای پیدا کرده باشید.
مطلبی دیگر از این انتشارات
هوشمندسازی تبریز، از حرف تا عمل
مطلبی دیگر از این انتشارات
اتومبیل خودران تسلا فریب داده شد تا قانون شکنی کند
مطلبی دیگر از این انتشارات
زبان های برنامه نویسی در علم داده