پنجشنبه, ۲۵ بهمن, ۱۴۰۳ / 13 February, 2025
مجله ویستا

نگاهی به هوش مصنوعی در بازی های كامپیوتری


نگاهی به هوش مصنوعی در بازی های كامپیوتری

در بسیاری از ژانرهای بازی های كامپیوتری, نزدیك تر بودن به واقعیت, هم برای سازندگان و هم برای دوستداران بازی جایگاه ویژه ای دارد گرافیك بازی ها در طبیعی تر جلوه دادن محیط و چهره ها, و استفاده از صدا و افكت های صوتی پیشرفته در واقعیت بخشیدن به اتفاقاتی كه در بازی ها با آن روبه رو می شویم, مؤثرند

در بسیاری از ژانرهای بازی‌های كامپیوتری، نزدیك‌تر بودن به واقعیت، هم برای سازندگان و هم برای دوستداران بازی جایگاه ویژه‌ای دارد. گرافیك بازی‌ها در طبیعی‌تر جلوه دادن محیط و چهره‌ها، و استفاده از صدا و افكت‌های صوتی پیشرفته در واقعیت بخشیدن به اتفاقاتی كه در بازی‌ها با آن روبه‌رو می‌شویم، مؤثرند. انیمیشن نیز هر چه با دقت و جزئیات بیشتری طراحی شود، باورپذیرتر به نظر می‌آید. ولی آنچه دوستداران بازی را در ژانرهای ویژه‌ای از بازی‌ها به وجد می‌آورد، هوشمندی شخصیت‌های بازی است. حوصله همه از این‌كه هم‌تیمی‌های مجازیشان در بازی‌های كامپیوتری نسنجیده عمل‌كنند، سر می‌رود. گاه آن‌ها نمی‌توانند از خودشان هم محافظت كنند؛ چه برسد به آن‌كه بخواهند در طول بازی به شما كمك كنند. مبارزه با دشمنانی كه دست كمی از افرادتان ندارند نیز جذابیتی ندارد. همان‌گونه كه گرافیك خوب به مدل‌ها، صدای خوب به رویدادها و انیمیشن خوب به حركت‌های موجود در بازی واقعیت می‌بخشد، استفاده از روش‌های مختلف هوش مصنوعی نیز رفتار شخصیت‌های بازی را طبیعی‌تر می‌كند. در بازی‌های كامپیوتری، هوش مصنوعی بیشتر برای شخصیت‌های مجازی مقابل شما به كار می‌رود و اگر در بازی، هم‌تیمی‌هایی نیز داشته باشید كه خودِ بازی، آن‌ها را كنترل می‌كند، برای آن‌ها نیز به كار می‌رود. برای ملموس‌تر بودن توضیحاتی كه در ادامه پیش‌رو خواهد بود، از رفتار شخصیت‌های مجازی بازی Counter - ۱.۷ Strike در حالتی كه دست‌كم كنترل یك طرف بازی با كامپیوتر است و بازی‌های Quake استفاده خواهد شد. هوش مصنوعی در بازی Counter - Strike به خوبی پیاده‌سازی شده است و بسیاری از دوستداران بازی نیز با آن آشنا هستند. وقتی در هر مرحله، شخصیت‌ مجازی شما كشته می‌شود و چند دقیقه‌ای از بازی بیرون هستید، زمان خوبی است كه رفتار هم تیمی‌ها و دشمنانتان را بررسی كنید و به عملكرد هوش مصنوعی آن‌ها پی ببرید. پنهان‌شدن، آهسته حركت كردن و همكاری آن‌ها با هم، بسیار دیدنی است و در كمتر بازی‌ای چنین رفتارهایی دیده می‌شود.

●كاربرد هوش مصنوعی

هدف هوش مصنوعی نزدیك نمودن رفتار و پاسخ یك سیستم كامپیوتری به الگوهایی است كه انسان براساس آن‌ها رفتار می‌كند و پاسخ می‌دهد. گاه سیستم‌هایی طراحی می‌شوند كه قدرت تجزیه و تحلیل آن‌ها از انسان بیشتر است. ولی باز از الگوهای ما استفاده می‌كنند. هوش مصنوعی با سیستم فازی یا سیستمی كه انسان برطبق آن تصمیم می‌گیرد، رابطه تنگاتنگی در این سیستم برخلا‌ف سیستم صفر و یك دیجیتال، می‌توان به یك متغیر مقداری كمتر از یك و بیشتر از صفر نیز داد.

برای نمونه می‌خواهید یك بازی كامپیوتری را از میان چندین بازی مورد علا‌قه خود بخرید و از آنجا كه مقدار پول شما مشخص است، می‌خواهید فقط یك بازی را برگزینید. پس شما به بازی‌های مورد علا‌قه‌ خود، امتیازی بین صفر و یك می‌دهید. ارزش صفر برای بازی‌هایی است كه كمتر آن‌ها را دوست دارید و هر چه مقدار عددیِ بیشتری به آن بازی بدهید، بیشتر آن را دوست دارید و از میان آن‌ها بازی‌ای كه بیشترین ارزش را برای شما دارد، انتخاب می‌كنید.

از دید فروشنده، شما با سیستم صفر و یك پاسخ داده‌اید و بازی‌های دیگر را انتخاب نكرده‌اید. هرچند در واقع شما فازی فكر كرده‌اید، ولی با منطق صفر و یك پاسخ داده‌اید. اگر كامپیوترها فازی‌تر تحلیل كنند، هوشمندتر می‌شوند. ولی پاسخ آن‌ها باید براساس همین صفر و یك باشد؛ چرا كه هیچ كس نمی‌خواهد یك پاسخ غیرقطعی از كامپیوتر دریافت كند. هر چه رفتارهای شخصیت‌های بازی بیشتر براساس سیستم فازی باشد، پیش‌بینی‌ناپذیرتر و هوشمندانه‌تر خواهند بود. یعنی می‌توانند در مقابل رفتارهای مختلف شما و موقعیت محیط، رفتارهایی متفاوت نشان دهند.

●انواع هوش مصنوعی

در بازی‌های كامپیوتری سه نوع هوش بیشتر از همه استفاده می‌شوند كه به صورت خلا‌صه عبارتند از:

‌‌هوش مصنوعی رویدادگرا: این هوش معمول‌ترین نوع هوش مصنوعی است. رویداد می‌تواند شامل هر چیزی اعم از اتفاقات بازی تا دستوراتی باشد كه كاربر به شخصیت مجازی خود می‌دهد. براساس هر رویدادی كه در بازی انجام می‌شود، یك واكنش هوشمندانه نیز روی می‌دهد. در بازی كانتراسترایك دشمن شما نسبت به صدا حساس است و صدای دویدن شما را هم می‌شنود. از این‌رو بسته به موقعیت خود، یا به آهستگی پنهان می‌شود، یا برمی‌گردد و از راه دیگری به سوی شما می‌آید یا به سوی شما می‌آید و شلیك می‌كند.

هوش مصنوعی هدف‌گرا: این نوع هوش مصنوعی از هوش مصنوعی رویدادگرا مستقل است. ولی هوش مصنوعی رویدادگرا می‌تواند در طراحی یك بازی، هدف‌های موتور هوش مصنوعی هدف‌گرا را تامین كند. این نوع هوش مصنوعی، هدفِ با ارزش بیشتر را برمی‌گزیند و آن را با تقسیم به زیرهدف‌های كوچك‌تر، پردازش می‌كند.

شاید در بازی كانتراسترایك زمانی كه كامپیوتر هم كنترل هم تیمی‌ها و هم كنترل دشمنان شما را به عهده دارد، دیده باشید كه وقتی با هم تیمی‌هایتان به سوی دشمنان خود تیراندازی می‌كنید، آن‌ها هم بیشتر به سوی شما شلیك می‌كنند تا دیگر هم‌تیمی‌هایتان؛ چرا كه شما باید هدف‌های خواسته‌شده در بازی (مانند آزاد كردن گروگان‌ها یا خنثی كردن بمب) را انجام دهید. برای همین ارزش شما برای آن‌ها بیشتر است.

●محفظه‌های سوراخ:

این روش تركیبی از دو روش گفته شده است. روش كار ساده است. دو محفظه دارید و چند نوع كار: فرار (flee)، مبارزه (fight) و پركردن تفنگ (restock) را در نظر می‌گیریم. محفظه‌ها مقداری از محتوای خود را با گذشت زمان از دست می‌دهند.

شما اسكریپتی را در ارتباط با محفظه‌ای كه بیشتر پر است، به اجرا در میآورید. رویدادهایی كه اتفاق می‌افتند، این محفظه‌ها را با ارزش‌های مختلفی پر می‌كنند و این محفظه‌ها پر و خالی می‌شوند. برای نمونه دشمن مجازی را در موقعیت‌های زیر در نظر بگیرید كه می‌توان بسته به طراحی بازی عددهای زیر را كم و زیاد كرد:‌

▪شما دشمن را ببینید، پنج درصد به ارزش فرار و ده ‌درصد به ارزش مبارزه او افزوده می‌شود. چون در بازی اولین هدف مبارزه است نه فرار. فرار كاری است كه هنگام رویا‌رویی با دشمن زمانی كه دشمن شما موقعیت مناسبی ندارد، انجام می‌دهد. پس ارزش مبارزه در اینجا از فرار بیشتر است.

▪ گلوله او كم باشد، بیست درصد به ارزش ریستوك یا پر كردن تفنگ افزوده می‌شود. چون شاید به زودی به آن نیاز داشته باشد.

▪ اگر آسیب‌دیدگی او كم باشد، بیست‌درصد به ارزش فرار و ده‌درصد به ارزش ریستوك افزوده می‌شود. چون اگر شخصیت مجازی آسیب كمی دیده باشد، با ماندن در یك‌جا و پركردن تفنگ خود چنانچه در تیررس شما باشد، آسیب بیشتری می‌بیند.

پس در حالی كه جای خود را عوض می‌كند، باید تفنگ خود را نیز پركند. چون اگر باز در تیررس قرار بگیرد و گلوله‌های او رو به پایان باشد، هنگام پركردن، آسیب بیشتری می‌بیند. دشمنان شما در كانتراسترایك نیز این كار را می‌كنند. اگر شما پشت سر هم به آن‌ها شلیك كنید، در پشت دیوار پنهان می‌شوند یا به جایی فرار می‌كنند و تفنگ خود را در صورت رو به پایان بودن گلوله‌ها پرمی‌كنند. پس اولویت در فرار و قرار گرفتن در یك جای خوب و سپس پر كردن تفنگ است.

▪ شلیك به سوی او و آسیب‌دیدگی زیاد باشد، پنجاه درصد به ارزش مبارزه افزوده می‌شود و بیست‌درصد از ارزش فرار و ریستوك كم می‌شود. چون وقتی به سوی او شلیك می‌كنید، هنگام فرار اگر در جای مناسبی نباشد، آسیب‌پذیرتر می‌شود و زمانی كه تفنگ خود را پر می‌كند، شما آسان‌تر می‌توانید به سوی او شلیك كنید.

▪اگر در یك‌بار شلیك پنجاه‌درصد آسیب ببیند، پنجاه‌درصد به ارزش فرار و بیست‌درصد به ارزش ریستوك افزوده می‌شود و پنجاه‌درصد از ارزش مبارزه كم می‌شود. گاهی با یك سلا‌ح قوی می‌توانید آسیب بیشتری به دشمنتان برسانید. اگر در بازی كانتراسترایك، یك نارنجك به سمت دشمن پرتاب كنید، بیش از نیمی از نیروی او كم می‌شود. اگر او در جای مناسبی نباشد، چون بیش از نیمی از نیروی خود را از دست داده‌است، باید فرار كند و تنها زمانی كه موقعیت او از موقعیت شما بهتر است، شلیك می‌كند. در اینجا فرار ارزش بیشتری دارد.

●هوش مصنوعی در ژانرهای بازی

بازی‌های كامپیوتری اكشن، ماجرایی - اكشن و تیراندازی، بیش از بازی‌های ژانرهای دیگر از هوش مصنوعی استفاده می‌برند. بازی‌های مسابقه‌ای و استراتژیك نیز می‌توانند از هوش مصنوعی برای قوی‌تر كردن رقیبانشان استفاده كنند. نمونه خوب بازی‌های مسابقه‌ای، Need For Speed UnderGround۲ است. در این بازی، هنگامی كه در شهر مشغول رانندگی هستید، می‌توانید با اتومبیل‌های مسابقه‌ای دیگر كه مانند شما در شهر حركت می‌كنند مسابقه دهید. برای این‌كار باید به آن اتومبیل نزدیك شوید و هنگامی كه منوی پرسش برای پذیرش مسابقه را دیدید، كلید Enter را فشار دهید.

هنگامی كه جلو هستید باید فاصله شما از آن اتومبیل بیش از یك مقدار خاص باشد تا برنده شوید و زمانی كه پشت سر او هستید، نباید فاصله‌ شما از این مقدار بیشتر باشد. اگر همزمان با مسابقه به نقشه كوچك گوشه مانیتور نگاه كنید، می‌بینید زمانی كه راننده رقیب از شما عقب‌تر است، كوتاه‌ترین مسیر را برای رسیدن به شما از میان خیابان‌های مختلف كه به هم راه دارند انتخاب می‌كند و زمانی كه از شما جلوتر است، هنگام رسیدن به تقاطع‌ها ناگهان تغییر مسیر می‌دهد تا شما را سردرگم كند.

در بازی Need For Most Wanted، به نظر می‌آید پلیس‌ها در تعقیب و گریز شما و یافتن مسیر، ضعیف‌تر عمل می‌كنند. البته شاید شركت EA، خود این‌گونه خواسته است. به غیر از این، بازی‌های ماجرایی معمولا‌ً نیازی به هوش مصنوعی ندارند؛ چرا كه كنترل شخصیت بازی به عهده شماست و آنچه باید از پیش روبردارید، پازل‌های طراحی شده است نه دشمنان یا هیولا‌هایی كه به هوشمند‌سازی نیاز داشته باشند؛ مانند بازی سایبریا.

هوش مصنوعی، بیشتر در بازی‌های تیراندازی اول شخص (FPS) گسترش یافت. یك بازی تیراندازی اول شخص بیشتر از یك موتور براساس هوش مصنوعی رویدادگر استفاده می‌كند كه رویدادها و واكنش‌ها می‌توانند مانند الگوی زیر باشند:

▪ هنگام دیده شدن: یورش با مناسب‌ترین سلا‌ح

▪هنگام آسیب‌دیدگی زیاد: فرار و بازگرداندن نیرو. مانند استفاده از كیت‌های سلا‌متی در برخی بازی‌ها.

▪نبود گلوله: پیدا كردن گلوله

شایان ذكر است كه استفاده از روش محفظه‌های سوراخ می‌تواند هوش مصنوعی در این بازی‌ها را انعطاف‌پذیرتر كند.

●پیدایش و پیشرفت هوش مصنوعی

در اواسط دهه ۱۹۹۰، یك بازی تیراندازی اول شخص منتشر شد كه به كاربر امكان می‌داد بازی را برای خود سفارشی (Customize) كند. این بازی، Quake بود كه در فناوری ساخت بازی‌های كامپیوتری یك نوآوری محسوب می‌شد. Quake اولین بازی سه‌بعدی واقعی است. به این معنی كه به‌صورت بلا‌درنگ در سه بعد رندر می‌شود. (پیش از آن spiritها یا گرافیك‌های دوبعدی به صورت سه‌بعدی شبیه‌سازی می‌شدند). چیزهای دیگری نیز در این بازی وجود داشت كه موردتوجه قرار گرفت؛ مانند نشانه گرفتن سلا‌ح به بالا یا پایین. زیرا حركت‌دادن سلا‌ح به بالا‌ یا پایین نیازمند پردازش در بعد سوم، یعنی عمق یا ارتفاع در یك محیط سه‌بعدی است.

بازی Quake از موجودات مجازی هوشمند (bot) هر چند با هوش مصنوعی كم، بهره برده بود. هوش مصنوعی یكbot در بازی‌های تیراندازی اول شخص، می‌تواند در دو بخش بررسی شود: یكی ناوبری و حركت، و دیگری مبارزه. اگر بخواهیم رفتار bot نزدیك به رفتار یك انسان باشد، پیاده‌سازی آن بسیار پیچیده‌تر از هوش‌مصنوعی در مبارزه است. هر چند پیاده‌سازی هوش مصنوعی در مبارزه نیز با هر استاندارد و روشی آسان نیست.

برای این‌كه بات‌ها بتوانند حركت كنند، باید بتوانند درباره اشیا و موجودات پیرامون خود یاد بگیرند. این ایده بسیار اساسی، می‌تواند به بخش‌های بیش‌تری مانند قابلیت آنالیز هنگام حركت در یك جهت خاص و سپس قابلیت پیدا كردن اشیا و شخصیت‌های مجازیِ مقابل در یك مرحله بازی گسترش یابد. این ایده‌ها شاید ساده به نظر برسند، ولی واقعاً این‌گونه نیست؛ چرا كه یك bot باید بتواند در برابر دو چیز واكنش درستی داشته باشد: دیوارها و فضاهای خالی.

‌گردآوری و تدوین: علی حسینی

منابع

Anders Petersson:Artificial Intelligence in games

نشانی www.worldforge.com

Chris Moyer: Bot, Anyway? How Intelligent is a Game

نشانی www.tcnj.com

www.gamasutra.com


شما در حال مطالعه صفحه 1 از یک مقاله 2 صفحه ای هستید. لطفا صفحات دیگر این مقاله را نیز مطالعه فرمایید.