تبلیغات
مشاهده صفحه جدید هر چی بخوای - هوش مصنوعی

:درباره وبلاگ

:آرشیو

:طبقه بندی

:پیوندها

:پیوندهای روزانه

:صفحات جانبی

:نویسندگان

:آخرین پستها

:ابر برچسبها

آماروبلاگ

چهارشنبه 3 خرداد 1391-10:13 ب.ظ



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




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

ای

. ن سؤال كه <حریف كامپیوتری شما چه قدر می‌فهمد؟> امروزه قبل از انجام هر بازی به فكر بازی‌كننده‌ها میآید؛ زیرا قرار است قسمتی از وقت و زندگی او معطوف این بازی شود و اگر حریفش قدرتمند نباشد، عملاً این وقت هدر رفته ‌است. درست ‌مانند این است كه یك قهرمان شطرنج با كسی كه اولین بار است این بازی را انجام می‌دهد روبه‌رو شود. پس در كنار داشتن گرافیك، صدا و محیط بازی خوب، داشتن هوش‌مصنوعی مناسب نیز برای یك بازی كامپیوتری از محاسن آن بازی به‌حساب می‌آید.

در این مقاله سعی شده ‌است مفاهیم و كاربرد‌های ابتدایی هوش‌مصنوعی در بازی‌های كامپیوتری شرح داده‌ شود. گفتنی‌ است برای تهیه این مقاله از مطالب سایت‌های codeproject و gameai نیز استفاده‌شده است.

عناصر هوش‌مصنوعی به كاررفته در بازی‌های كامپیوتری برای رسیدن به جایگاهی كه در حال حاضر در آن قرار دارند، راه زیادی را طی كرده‌اند. در ابتدا، سیستم‌های پیشرفته برپایه مجموعه‌ای از قوانین عمل می‌كردند كه مستقیماً در كدهای بازی نوشته‌شده بودند یا به‌ صورت متن‌هایی رفتاری كه توسط كدهایی خاص ترجمه می‌شدند. تمام این اعمال به‌صورت مشترك برمبنای انتخاب متناسبی از فاكتور‌های تصادفی، صورت می‌گرفت. این زمان درست همزمان با تولد بازی‌هایی به‌یادماندنی و بی‌نظیر مانند River Raid ،Donkey Kong ،Boulder-Dash و بسیاری از بازی‌های جذاب برای كاربران ماشین‌های هشت‌بیتی در دهه 1970 بود. 

قدم دیگر در پروسه توسعه هوش‌مصنوعی، معرفی روش‌های ساده علوم كامپیوتری بود كه از میان این روش‌ها می‌توان به روش Finite State Machine اشاره كرد كه هنوز محبوب است و به ‌صورت محدود كماكان مورد استفاده قرار می‌گیرد. اساس این روش، برپایه توصیفِ رفتاریِ دشمنانی بود كه در بازی‌ها توسط كامپیوتر و علیه بازی‌كننده كنترل می‌شدند. با توجه به نیاز روزافزون بازی‌كننده‌ها، روند رشد بازی‌ها نیز پیچیده‌تر می‌شد، و این به لطف استفاده بیشتر از الگوریتم‌های پیشرفته كامپیوتری است. ظهور قلمرو بازی‌های ‌RTS (استراتژی‌های بی‌درنگ) موجب استفاده گسترده از الگوریتم‌هایی شد كه بهترین مسیر را بین دو نقطه از نقشه این نوع بازی‌ها تعیین می‌كردند. 

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

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

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

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

در واقع اهمیت این قسمت به قدری زیاد است كه حداقل یكی از اعضای برنامه‌نویسی از ابتدای تولید یك بازی به صورت تمام وقت استخدام می‌شود تا بر مراحل توسعه و ساخت هوش‌مصنوعی بازی و ارتباط آن با دیگر قسمت‌ها نظارت كامل داشته باشد.

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

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

بازی‌های تأثیرگذار در هوش‌مصنوعی 
هنگامی كه در مورد انقلاب هوش‌مصنوعی صحبت می‌شود، باید به بازی‌های مهمی كه در تاریخچه این انقلاب سهم بسزایی داشته‌اند نیز اشاره شود. 

یكی از مهم‌ترین این بازی‌ها كه هوش‌مصنوعی را در دهه 1990 میلادی دگرگون ساخت، بی‌شك سری بازی‌هایWarCraft بود كه توسط شركت Blizzard ساخته شد. این بازی اولین بازی‌ای بود كه الگوریتم‌های مسیریابی ‌را در هوش‌مصنوعی به كار می‌برد. یكی از این الگوها مقیاس‌های عالی‌ای بود كه برای صدها واحد مشغول در صحنه‌های عظیم جنگی این بازی طراحی شده‌بود. بازیِ SimCity كه توسط Maxis ساخته شد، اولین بازی‌ای بود كه ثابت كرد كه می‌شود در یك بازیِ كامپیوتری از فناوری‌های حیات مصنوعی استفاده كرد. 

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


http://www.shabakeh-mag.com/Data/Gallery/s71_Main_6_s.jpg

هوش‌مصنوعی در بازی‌های تیراندازیِ اول شخص 
بازی‌های تیراندازیِ اول شخص یا First Person Shooters معمولاً از سیستم هوش‌مصنوعی با ساختار لایه‌لایه استفاده می‌كنند. لایه‌هایی كه در قسمت زیرین قرار دارند، وظایف ابتدایی را به ‌عهده دارند. 

از این وظایف ابتدایی می‌توان به تعیین بهترین مسیر تا هدف (كه خود توسط لایه‌های بالایی‌تر تعیین می‌شود) و اجرای متناسب سكانس‌های انیمیشنِ كاراكتر، اشاره كرد.

لایه‌های بالایی‌تر مسئولِ اجرایِ برهان‌های تاكتیكی و انتخاب رفتاری است كه عنصر استفاده‌كننده از هوش‌مصنوعی (به طور مثال شخصیت‌های دشمن در بازی‌ها) برطبق این تاكتیك و استراتژی عمل می‌كند. 

سیستم مسیریابی معمولاً برپایه نمایش‌های هندسی‌ای است كه دنیای بازی را شرح می‌دهد. هر راس این نمودار‌ها نمایانگر محلی منطقی از بازی (مانند اتاقی از یك ساختمان یا قطعه‌ای از میدان جنگ) محسوب می‌شود. وقتی به شخصیتی دستور داده می‌شود كه به نقطه‌ای از نقشه بازی برود، عوامل هوش‌مصنوعی با استفاده از نمودار‌ها، نقاط ثانویه هدایتی ‌‌(Subsequent Navigation Points) را به‌ دست می‌آورند و با هدایت پی‌درپی این شخصیت به طرف این نقاط، نهایتاً آن را به نقطه هدف مشخص می‌رسانند. در حین عبور از این نقاط هدایتی، هوش‌مصنوعی همچنان وظیفه دارد از مسیر‌های منطقی برای رسیدن به نقطه بعدی استفاده كند و كاراكتر را از موانع متحرك یا ثابتی كه در مسیر بین دو نقطه در سر راهش ظاهر می شوند نیز عبور دهد. در شكل 1، نمایش مسیریابی را در بازی‌های RTS در تصویری ساده می‌بینید.

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

بازی‌هایی از این دست اغلب از سیستم كینماتیك معكوس ‌(Inverted Kinematics System) استفاده می‌كنند. یك سیستم انیمیشنیِ IK می‌تواند به طور مناسب پارامتر‌های موقعیت‌یابی محوری یك انیمیشن را محاسبه كند. درنتیجه با وجود این سیستم، دست یك شخصیت می‌تواند جسمی را كه در درون آن است نگه‌دارد یا میز، قفسه، شیئی‌ را در بر می‌گیرد كه روی آن‌ها قرار دارد. وظایف لایه‌های بالایی به كاررفته در هوش‌مصنوعی، استفاده مناسب از نوع رفتاری ا‌ست كه برای هر موقعیت توسط كامپیوتر استفاده می‌شود. به‌طور مثال، در همان بازیِ جنگی این لایه‌ها، انتخاب می‌كنند كه سرباز‌ی از سرباز‌های دشمن در یك جا نگهبانی كند، وارد نبرد شود، فرار كند یا به نقطه‌ای دیگر از نقشه برود تا دشمنش را پیدا كند. 

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

هوش‌مصنوعی در بازی‌های استراتژیِ بی‌درنگ 
در بازی‌های استراتژیِ بی‌درنگ ‌(Real Time Strategy) امكان تشخیص مدل‌ها و لایه‌های متعددِ هوش‌مصنوعی وجود دارد. یكی از اساسی‌ترین این مدل‌ها یك سیستم مؤثرِ راهیابی برای كاراكتر‌ است كه بعضی وقت‌ها، در كسری از زمان، این سیستم ‌باید جوابگوی مشكل حركت صدها كاراكتر روی نقشه این‌گونه بازی‌ها باشد. باید توجه داشت كه مسیر‌یابی این سیستم چیزی فراتر از مسیریابی ساده‌ای است كه تنها كاراكتری را از نقطه A به Bمی‌رساند؛ زیرا در ازدحامِ نقشه، مهم‌ترین نكته در حركت، تشخیص مواجهاتِ این واحد‌های كوچك در حین عبور بین دو نقطه با هم و متعاقب آن اداره آن‌ها است به نحوی كه به هم برخورد نداشته باشند.

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

هوش‌مصنوعی در بازی‌های ورزشی 
اساساً، در اكثر بازی‌های ورزشی، ما با مقدار زیادی تقلب از جانب هوش‌مصنوعی روبه‌رو هستیم! به‌طور مثال بازی‌های ماشین‌سواری را در نظر بگیرید. هوش مصنوعی، از كل اشكال هندسی نقشه بازی، فقط چند‌ضلعی‌هایی را شناسایی می‌كند كه متعلق به جاده‌ای است كه حریف كامپیوتری در آن مشغول راندن است، و كاری به دیگر جاهای نقشه بازی (كه همان جاده ‌باشد) ندارد. در نظر بگیرید كه كامپیوتر توانایی انجام دو نوع رانندگی در پیچ‌های تعبیه شده در بازی را دارد: نوع اول كه در غیاب حریف دیگر رخ می‌دهد، نمایانگر بهترین رانندگی در این پیچ‌ها است و نوع دوم زمانی است كه او می‌خواهد در این پیچ، همزمان از حریفش سبقت بگیرد.

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


http://www.shabakeh-mag.com/Data/Gallery/s71_Main_5_s.jpg

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

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

در غیر‌این صورت، به روش عادی می‌پیچد. نوع تقسیم‌بندی مسیر جاده توسط هوش‌مصنوعی و دو نوع پیچیدن اتومبیل كامپیوتر در پیچ‌ها را در شكل شماره2 می‌بینید. 
http://www.shabakeh-mag.com/Data/Gallery/s71_Main_4_s.jpg

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

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

با توضیحاتی كه داده شد، تجاربی كه از بازی‌های ماشین‌سواری تا به حال كسب كرده‌اید، كمی ملموس‌تر می‌شود.

به طور مثال، در بازی‌ای مانند Need For Speed كمتر پیش می‌آید كه مسافت زیادی از بهترین حریف خود جلوتر باشید. 

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

دو خصیصه مهم دیگر هوش‌مصنوعی در این نوع بازی‌ها عبارتند از: 

●‌‌ توانایی آنالیز سطوح جاده برای شناسایی موانعی كه روی آن قرار دارند.

‌● هماهنگیِ محكمی كه نوع رانندگی كامپیوتر را با مدل فیزیكی طراحی شده بازی تنظیم می‌كند. 

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

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

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

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

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

محبوب‌ترین الگوریتم‌های هوش‌مصنوعی به كار رفته در بازی‌های كامپیوتری 
در ادامه این مقاله دو نمونه از محبوب‌ترین الگوریتم‌های هوش‌مصنوعی معرفی می‌شود كه به وفور از آن‌ها در طراحی هوش‌مصنوعی بازی‌های كامپیوتری استفاده می‌شود. با دانستن مطالبی در مورد این الگوریتم‌ها، شاید شما هم ترغیب شوید با طراحی یكی از آن‌ها، یك بازیِ FPS و RTS ساده بسازید. اولین الگوریتم‌ از این دست، 
*A نام دارد كه سلسله جست‌وجوهای سریعی را برای پیدا كردن بهترین مسیر بین دو نقطه انجام می‌دهد. الگوی دیگر ماشین با حالات محدود ‌(Finite State Machine) نام دارد كه بسیار مورد استفاده قرار می‌گیرد و وظیفه‌اش آماده‌كردن سناریو‌های رفتاری برای حریفانی‌ است كه توسط كامپیوتر در بازی كنترل می‌شوند. در مرحله بعدی این رفتارها توسط ماژول‌های سطوح پایین، مانند ماجول رهیابی، پردازش می‌شوند. 

الگوریتمِ*A 
موضوع پیداكردن راه بین دو نقطه A و B در اكثر بازی‌های كامپیوتری، غیر از بازی‌های ورزشی و تعداد انگشت‌شماری از بازی‌ها، مشكل كلیدی‌ای محسوب می‌شود. الگوریتم‌های این گروه، در آن واحد جزئی از سطوح پایین‌تر هوش‌مصنوعی بازی هستند. همچنین به عنوان پایه‌ای برای ساختار رفتار‌های پیچیده‌تر و هوشمند‌تر، مانند تصمیم‌های استراتژیك، حركت در آرایش‌های جنگی و گروهی و بسیاری دیگر از رفتار‌های سطح بالاتر، مورد استفاده قرار می‌گیرد. این الگوریتم امروزه به طور چشمگیری پیشرفت كرده‌است. به طوری كه در بازی‌های كامپیوتری كنونی، الگوریتم*A جایگاه ویژه‌ای دارد. 

اساس این الگوریتم برپایه <جست‌وجوی گرافیكی بین‌گرهی> استوار است. این سیستم از یك ارزیابی غیرمستدل(Heuristic Estimate) بهره گیری می‌كند. این الگوریتم اولین بار در سال 1968 همزمان توسط سه ریاضیدان به نام‌های Peter Hart ،Nils Nilsson و Bertram Raphael شرح داده شد. 

دنیای واقعی، تقریباً در تمامی بازی‌های كامپیوتری، بسته به نوع بازی، می‌تواند با خطوطی گرافیكی بازسازی شود. در بازی‌های RTS، دنیای بازی معمولاً از آرایشی دو بعدی تشكیل شده‌است و نقشه بازی شامل مربع‌های فراوانی می‌شود كه هر یك از آن‌ها مطابق ‌است با نقشه چهارگوش بازی. هر عنصر این سیستم (جز عناصر مرزی) هشت عنصر همسایه دارند. با استفاده از این‌گونه مدل نمایشی در بازی‌های RTS، می‌توانیم گرافیكی ایجاد كنیم كه در آن هر یك از این عناصر به راس گرافیك كل نقشه مربوط باشد. لبه‌های هر یك از عناصر گرافیكی (كه هریك با عنصر همسایه خود مجاورت دارد) امكان یا عدم امكان حركت یكی از اجرای نقشه را به عنصر همسایه نمایش می‌دهد. در استراتژی‌های بی‌درنگ ما معمولاً یكی از رئوس این عناصر گرافیكی را به عنوان محلی كه كوچك‌ترین واحد بازی در آن جای می‌گیرد، قلمداد می‌كنیم. 

در بازی‌های FPS رئوس عناصر گرافیكی معمولاً محل‌ها یا اتاق‌ها هستند و توسط این رئوس است كه این محل‌ها/ اتاق‌ها با هم ارتباط پیدا می‌كنند. 

الگوریتم‌هایی فراوانی برای پیدا كردن بهترین مسیر‌یابی در این عناصر گرافیكی وجود دارد. یكی از ساده‌ترین این الگوریتم‌ها كه آتش در چمنزار ‌(Fire on the Prairie) نامیده می‌شود، به این صورت كار می‌كند كه چندین دایره متوالی را در نقطه شروع می‌سازد و در هر مرحله دایره‌های دیگری می‌سازد كه قطر آن‌ها بزرگ‌تر از دایره‌های قبلی است. این دوایر متوالی و عناصر مربوط به هر یك، به‌تدریج بزرگ‌تر می‌شوند و دارای شاخص‌های بزرگ‌تری نیز می‌شوند. 

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


http://www.shabakeh-mag.com/Data/Gallery/s71_Main_3_s.jpg

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

حال فرض كنید كه در نقشه‌ای كه متشكل از 256 خانه عرضی و طولی است، ‌باید 65536 خانه مورد آزمایش قرار گیرد تا مسیر مشخص گردد! در شكل 4 می‌بینید كه دایره شاخص شماره 4 توسط یك الگوریتم مسیر‌یابی ساده به هدف مورد نظر رسیده‌است. 

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


از دیگر استفاده‌های این الگوریتم، می‌توان به تغییر محدودیت زاویه‌های دوربین و نمایش تعداد بیشتری از واحد‌ها در یك زمان، اشاره كرد. همچنین این الگوریتم شرایطی را فراهم می‌كند كه واحد‌ها نتوانند از نقاط غیرقابل عبور نقشه عبور كنند. البته نباید فراموش كرد كه بهترین استفاده از این الگوریتم همان راهیابی بین دو نقطه است. در زیر شبه‌كد‌ها یا Psudocodeهای الگوریتم *A را مشاهده می‌كنید:
http://www.shabakeh-mag.com/Data/Gallery/s71_Main_7_s.jpg

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

●‌ بهینه سازی خودِ عملیات جست‌وجوی الگوریتم‌

●‌ بهینه سازی ساختار اطلاعاتی‌

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

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

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


http://www.shabakeh-mag.com/Data/Gallery/s71_Main_2_s.jpg

الگوریتم ماشین با حالات محدود
الگوریتم‌های ماشین با حالات محدود ‌(Finite State Machines) مدل‌های رفتاری‌ای هستند كه از موقعیت ‌‌(State)، انتقال این موقعیت ‌‌(Transition) و ایجاد یك عمل ‌(Action) تشكیل می‌شود. در یك موقعیت، اطلاعاتی قبلی ذخیره می‌شود. 

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

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

با این‌كه الگوریتم‌های ساده‌ای هستند، در عین حال یكی از پركاربرد‌ترین و مؤثر‌ترین روش برنامه‌ریزی هوش‌مصنوعی می‌باشند. برای هر موقعیت در یك بازی كامپیوتری می‌توان مجموعه اعدادی از چگونگی آن لحظه قائل شد.

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

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

شبكه عصبی مصنوعی و الگوریتم‌های پیشرفته در بازی‌های كامپیوتری 
همان‌طور كه می‌دانید سیستم عصبی بدن انسان از دو قسمت مركزی ‌(CNS) و محیطی ‌(PNS) تشكیل شده ‌است. سیستم عصبی مركزی شامل مغز و نخاع و سیستم عصبی محیطی شامل رشته‌های عصبی و گیرنده‌های آن در اعضای مختلف بدن است. وظیفه سیستم عصبی محیطی، جمع‌آوری اطلاعاتی است كه در نهایت باید توسط مغز و نخاع پردازش شود. اخیراً با معرفی شبكه عصبی مصنوعی در مبحث هوش‌مصنوعی، درست ‌مانند سیستم عصبی بدن انسان، جزء محیطی نیز برای این سیستم تعریف شده ‌است. در واقع اطلاعاتی كه قبلاً برای پردازش به هوش‌مصنوعی سپرده می‌شد، با معرفی این سیستم به نحو كامل‌تر و طبقه‌بندی‌تری در اختیار آن قرار می‌گیرد.

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

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

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

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

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

در واقع این ارتباطات مانند سیناپس‌های پیشرفته‌ای هستند كه بر اساس تجربیات بسیار كوچك، تصمیم‌های مؤثر و مهمی را اتخاذ می‌كنند. تصمیماتی مانند یادگیری‌های پیشرفته. با توضیحی كه در مورد شبكه عصبی مصنوعی در بازیِ فوق داده شد، می‌بینیم كه شباهت‌های بسیاری بین این سیستم و سیستم به كاررفته در بازی‌ دیده می‌شود. در شكل 6 یك نمونه ساده مدل Perceptron را می‌بینیم. 

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

●‌ مشكلاتی در انتخاب اطلاعات ورودی مناسب برای این شبكه‌

‌‌● عدم حساسیت این شبكه به تغییرات منطقی كنش‌های بازی و دوباره سازیِ هر شبكه با تغییر هر حالت در بازی. 

‌● ساختار مشكل و پیچیده آن و مشكلاتی كه در Debug كردن هر موقعیت به وجود می‌آورد. 

● زمان زیادی كه برای طراحیِ چنین شبكه‌ای احتیاج است.

حال برای مقابله با مشكلات فوق، چه كاری باید انجام داد تا بتوان در بازی‌های كامپیوتری امروزی، با این سیستم حداكثر بهره را برد؟

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

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

پارامتر‌های پیچیده باید طوری انتخاب شوند كه امكان ساده‌تر شدن توسط این سیستم را در مدت زمان كمی داشته باشند. یك قانون كلی در این بحث می‌گوید: <اطلاعات ورودی باید تا جایی كه امكان دارد بیشترین اطلاعات را در مورد دنیای بازی بدهد> این قانون در مثال بازیِ هواپیمایی اینگونه است كه اطلاعات ورودی هر زمان برای یك حریف كامپیوتری باید شامل ارتفاع و موقعیت هواپیمای ما، وضعیت جو و آب و هوا، میزان خسارت هواپیمای ما و كامپیوتر، سرعت و شتاب هواپیمای خود و ما و موارد باشد؟! 

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

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


http://www.shabakeh-mag.com/Data/Gallery/s71_Main_1_s.jpg

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

در این قسمت اشاره‌ای خواهیم داشت به دو نمونه از معروف‌ترین و بهترین نمونه‌های هوش‌های مصنوعی ساخته شده. 



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

هوش‌مصنوعی Renderware هم می‌تواند در بازی‌هایی كه از این موتور استفاده می‌كنند قرار گیرد و هم می‌تواند در بازی‌های ساخته شده براساس موتور‌های دیگر كه می‌خواهند از این هوش‌مصنوعی بهره ببرند، به كار رود. 

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

● ‌لایه ادراك:‌(Perception Layer) مسئول آنالیز موقعیت‌ها است. به طور مثال در یك بازی RTS دو جزء استاتیك (مثل نوع زمین و قلمرو‌ها) و دینامیك (سپاهیان و كاراكتر‌ها) توسط این لایه تحلیل می‌شود. 

‌‌● لایه تصمیم‌گیرنده: ‌(Decision Layer) مسئول تصمیم‌گیری‌های استراتژیك در مورد موقعیت‌هایی‌ است كه توسط لایه ادراكی دریافت كرده‌است. تصمیم‌گیری‌هایی مانند مسیر‌یابی، انجام یا عدم انجام جنگ و دفاع كردن.

●‌ لایه عملیاتیhttp://forum.-----------.ir/images/smilies/ym/2.gifAction Layer) وظیفه انجام كار مناسب را دارد.

از لایه‌های فوق شاید بتوان گفت لایه اول مهم‌ترین است؛ زیرا اگر كامپیوتر نتواند درك صحیحی از موقعیت‌های یك زمان خاص بازی داشته باشد، دیگر لایه‌ها تصمیم‌ها و اعمال نادرستی خواهند داشت. این لایه در هوش‌مصنوعیِRenderware با نام PathData شناخته می‌شود. (كه نامی به‌ظاهر اشتباه جلوه می‌كند؛ زیرا وظایف لایه ادراكی را فقط معطوف به مسیر‌یابی می‌داند). 

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

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

موتور بازی Renderware برای دستگاه‌های PC ،Playstation و PS2 ،Nintendo و Xbox قابل استفاده است. البته برای هر یك از این دستگاه‌ها بهینه سازی شده‌است و امكان بهره‌گیری از یك هوش‌مصنوعی بی‌نقص را برای بازی‌های آن‌ها فراهم می‌كند. 

هوش مصنوعیِ Implant 
این موتور اولین بار در سال 2002 در كنفرانس طراحان بازی‌های كامپیوتری ارائه شد و فوراً به یكی از محبوب‌ترین موتور‌های بازی‌سازی برای طراحان تبدیل شد. بهترین و مهم‌ترین خصوصیت منحصر‌به‌فرد این هوش‌مصنوعی، به كارگیری یك سیستم پیشرفته با استفاده از الگوریتم‌های سلسله‌ای است كه در مسیر‌یابی بسیار موفق عمل می‌كند. در این سیستم نحوه تصمیم‌گیری برای یك عملیات خاص پیرو درختچه‌های دودویی است. رابط كاربرپسند این هوش‌مصنوعی، میزان استفاده‌ از آن را برای برنامه‌نویسان زیاد كرده‌است. به‌عبارت دیگر، ارتباط ساده و مؤثری كه این هوش‌مصنوعی با برنامه‌هایی مانند 3DStudio Max و Maya برقرار می‌كند، باعث می‌شود عملیات اجرایی بازی همزمان با مراحل تولید گرافیكی آن قابل دیدن و تصحیح باشد. 

از دیگر مزیت‌های این هوش‌مصنوعی می‌توان به هدایت مناسب واحد‌های عظیم از لحاظ تعداد، به طور مثال در بازی‌های استراتژی، اشاره كرد. این هوش‌مصنوعی هم برای دستگاه‌های پی‌سی، GameCube ،Xbox، وPlaystiation قابل استفاده است. 



نظرات() 

تاریخ آخرین ویرایش:چهارشنبه 3 خرداد 1391 10:19 ب.ظ


 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر




مشاهده صفحه جدید