بررسي هوشمصنوعي در بازيهاي كامپيوتري
در دنياي امروز يكي از مهمترين قسمتهاي علم پزشكي، طراحي و بازسازي اجزاي مختلف بدن است. حال اين سؤال مطرح است كه در دنيايي كه ديگر، مواردي مانند نقص عضو و از بين رفتن حالت هدايتي- الكتريكي قلب، فشار بالاي جمجمه و حتي انواع مختلف فلجهاي دست و پا، براي بيمار، كمتر محدودكننده است و تا حدودي ديگر يك نقيصه محسوب نميشود، بازسازيِ احساسات، عواطف و تفكرات چه جايي دارد؟ بشر تا چه ميزان توانسته است مسائل روحي خود را در نمونهاي آزمايشگاهي توليدكند؟ آيا ميتوان اميدوار بود كه در آينده گوشهاي از عواطف آدمي در يك ماشين، جمعآوري شود؟
شايد جواب اين سؤالات با پيشرفتهايي كه در بازسازيِ هوش در كامپيوتر شدهاست، در آينده تا حدودي دور از دسترس نباشد. هوشمصنوعي، بهويژه آنچه كه در بازيهاي كامپيوتري شاهد آن هستيم، روز به روز در حال نزديك شدن به مدل واقعي خود است. يك بازي كامپيوتري خوب، بازياي است كه هر نكتهاي را در اين دنياي مجازي بهتر و واقعيتر به دنياي حقيقي ربط دهد. به همين منظور داشتن حريفي قدرتمند و انساننما لازمه بازسازي هوش و تفكرات انساني است.
اين سؤال كه <حريف كامپيوتري شما چه قدر ميفهمد؟> امروزه قبل از انجام هر بازي به فكر بازيكنندهها ميآيد؛ زيرا قرار است قسمتي از وقت و زندگي او معطوف اين بازي شود و اگر حريفش قدرتمند نباشد، عملاً اين وقت هدر رفته است. درست مانند اين است كه يك قهرمان شطرنج با كسي كه اولين بار است اين بازي را انجام ميدهد روبهرو شود. پس در كنار داشتن گرافيك، صدا و محيط بازي خوب، داشتن هوشمصنوعي مناسب نيز براي يك بازي كامپيوتري از محاسن آن بازي بهحساب ميآيد.
در اين مقاله سعي شده است مفاهيم و كاربردهاي ابتدايي هوشمصنوعي در بازيهاي كامپيوتري شرح داده شود. گفتني است براي تهيه اين مقاله از مطالب سايتهاي codeproject و gameai نيز استفادهشده است.
عناصر هوشمصنوعي به كاررفته در بازيهاي كامپيوتري براي رسيدن به جايگاهي كه در حال حاضر در آن قرار دارند، راه زيادي را طي كردهاند. در ابتدا، سيستمهاي پيشرفته برپايه مجموعهاي از قوانين عمل ميكردند كه مستقيماً در كدهاي بازي نوشتهشده بودند يا به صورت متنهايي رفتاري كه توسط كدهايي خاص ترجمه ميشدند. تمام اين اعمال بهصورت مشترك برمبناي انتخاب متناسبي از فاكتورهاي تصادفي، صورت ميگرفت. اين زمان درست همزمان با تولد بازيهايي بهيادماندني و بينظير مانند River Raid ،Donkey Kong ،Boulder-Dash و بسياري از بازيهاي جذاب براي كاربران ماشينهاي هشتبيتي در دهه 1970 بود.
قدم ديگر در پروسه توسعه هوشمصنوعي، معرفي روشهاي ساده علوم كامپيوتري بود كه از ميان اين روشها ميتوان به روش Finite State Machine اشاره كرد كه هنوز محبوب است و به صورت محدود كماكان مورد استفاده قرار ميگيرد. اساس اين روش، برپايه توصيفِ رفتاريِ دشمناني بود كه در بازيها توسط كامپيوتر و عليه بازيكننده كنترل ميشدند. با توجه به نياز روزافزون بازيكنندهها، روند رشد بازيها نيز پيچيدهتر ميشد، و اين به لطف استفاده بيشتر از الگوريتمهاي پيشرفته كامپيوتري است. ظهور قلمرو بازيهاي RTS (استراتژيهاي بيدرنگ) موجب استفاده گسترده از الگوريتمهايي شد كه بهترين مسير را بين دو نقطه از نقشه اين نوع بازيها تعيين ميكردند.
از سوي ديگر، پيشرفتهاي فني سريع و افزايش استفاده از پردازشگرهاي قويتر در كامپيوترهاي خانگي نيز امكان استفاده گستردهتر از نرمافزارها براي استفاده از هوشمصنوعي در بازيها را فراهم ميكرد.
اولين مجموعه بازيهاي كامپيوتري و هوشمصنوعي به كاررفته در آنها بايد طوري طراحي ميشدند كه روي ماشينهاي ساده آن زمان قابل اجرا باشند: ماشينهايي كه اكثراً فركانسِ پردازشگرهايشان بيشتر از دومگاهرتز نبود. با آمدن كامپيوترهاي شخصي اوليه امكان استفاده از برنامهها و امكانات بهتر، ميسر شد.
بعد از اينكه پيسيهاي مجهز به پردازشگرهاي 386 و 486 به عنوان كامپيوترهاي استاندارد خانگي مورد استفاده قرار گرفتند، براي نويسندگان برنامهها هم امكانات گستردهتري فراهم شد و اين آغاز مسابقهاي بود براي سازندگان بازيهاي كامپيوتري. براي مدتي طولاني بهترين مقياس براي خوب بودن كيفيت يك بازيِ كامپيوتري، خوب بودن كيفيت گرافيكيِ آن بازي محسوب ميشد؛ گرچه بعدها اين مقياس تغيير كرد و تنها خوب بودن گرافيك، طراحي انيميشني كاراكترها و صداي بازي، نمايانگر بالابودن كيفيت بازي نبود. امروزه يكي از مهمترين عناصر بازيهاي كامپيوتري، بدون ترديد، <هوشمصنوعي> آن بازي شناخته ميشود.
جريان و پروسه ساخت يك بازي كامپيوتري نيز در طول اين سالها دستخوش تغييرات فراواني شده است. بهطور مثال، در گذشته طراحي هوشمصنوعي يك بازي تقريباً يك امر بياهميت انگاشته ميشد و طراحان بازيها ترجيح ميدادند مرحله وارد كردن هوشمصنوعيِ ناقص بازي را در مراحل پاياني تهيه بازي انجام دهند، ولي امروزه طراحي مدلهاي هوشمصنوعي و ارتباطي كه اين قسمت با ديگر اجزاي بازي خواهد داشت، يكي از مهمترين مراحل طراحي بازي به شمار ميرود. به طوري كه از ابتداي توليد بازي به آن فكر ميشود.
در واقع اهميت اين قسمت به قدري زياد است كه حداقل يكي از اعضاي برنامهنويسي از ابتداي توليد يك بازي به صورت تمام وقت استخدام ميشود تا بر مراحل توسعه و ساخت هوشمصنوعي بازي و ارتباط آن با ديگر قسمتها نظارت كامل داشته باشد.
در حال حاضر، با توجه به اينكه در هر خانهاي ميتوان يك كامپيوتر پنتيوم چهار با پردازشگري حدود سه تا چهارگيگاهرتز پيدا كرد، انتظار ميرود بازيهاي كامپيوتري از پيشرفتهترين و عظيمترين سيستمهاي هوشمصنوعي بهره بگيرند. سيستمهايي مانند شبكههاي عصبي، الگوريتمهاي ژنتيك و منطق فازي.
در عصرِ بازيهاي اينترنتي و شبكهاي، هوشمصنوعي در بازيهاي كامپيوتري هم وظايف جديد پيدا كرده است. يكي از اين وظايف اين است كه يك حريف كامپيوتري، با سبك و استراتژيِ بازي منحصر به خود، بايد از يك بازيكننده انساني كه در آن سوي ارتباط اينترنتي در حال بازي كردن است، قابل تمايز نباشد.