91/12/22
8:9 ص
هوش مصنوعی یکی از پهناورترین، جذابترین و مهمترین قسمتهای علوم کامپیوتری است.
مفاهیم اولیه این علم در ساخت بازیهای کامپیوتری قابل ملاحظه است. هوشمصنوعی، بهویژه آنچه که در بازیهای کامپیوتری شاهد آن هستیم، روز به روز در حال نزدیک شدن به مدل واقعی خود است.
یک بازی کامپیوتری خوب، بازیای است که هر نکتهای را در این دنیای مجازی بهتر و واقعی تر به دنیای حقیقی ربط دهد. به همین منظور داشتن حریفی قدرتمند و انساننما لازمه بازسازی هوش و تفکرات انسانی است.
در بازیهای کامپیوتری، هوش مصنوعی بیشتر برای شخصیتهای مجازی مقابل شما به کار میرود و اگر در بازی، همتیمیهایی نیز داشته باشید که خودِ بازی، آنها را کنترل میکند، برای آنها نیز به کار میرود.از سوی دیگر، پیشرفتهای فنی سریع و افزایش استفاده از پردازشگرهای قویتر در کامپیوترهای خانگی نیز امکان استفاده گستردهتر از نرمافزارها برای استفاده از هوشمصنوعی در بازیها را فراهم میکرد.
1-1 هوشمصنوعی در بازیهای تیراندازیِ اول شخص
بازیهای تیراندازیِ اول شخص [1]معمولاً از سیستم هوشمصنوعی با ساختار لایهلایه استفاده میکنند.
لایههایی که در قسمت زیرین قرار دارند، وظایف ابتدایی را به عهده دارند. از این وظایف ابتدایی میتوان به تعیین بهترین مسیر تا هدف (که خود توسط لایههای بالاییتر تعیین میشود) و اجرای متناسب سکانسهای انیمیشنِ کاراکتر، اشاره کرد.لایههای بالاییتر مسئولِ اجرایِ برهانهای تاکتیکی و انتخاب رفتاری است که عنصر استفادهکننده از هوشمصنوعی به طور مثال( شخصیتهای دشمن در بازیها ) برطبق این تاکتیک و استراتژی عمل میکند.سیستم مسیریابی معمولاً برپایه نمایشهای هندسیای است که دنیای بازی را شرح میدهد. هر راس این نمودارها نمایانگر محلی منطقی از بازی (مانند اتاقی از یک ساختمان یا قطعهای از میدان جنگ) محسوب میشود.
وقتی به شخصیتی دستور داده میشود که به نقطهای از نقشه بازی برود، عوامل هوشمصنوعی با استفاده از نمودارها، نقاط ثانویه هدایتی [2]را به دست میآورند و با هدایت پیدرپی این شخصیت به طرف این نقاط، نهایتاً آن را به نقطه هدف مشخص میرسانند. در حین عبور از این نقاط هدایتی، هوشمصنوعی همچنان وظیفه دارد از مسیرهای منطقی برای رسیدن به نقطه بعدی استفاده کند و کاراکتر را از موانع متحرک یا ثابتی که در مسیر بین دو نقطه در سر راهش ظاهر می شوند نیز عبور دهد. در شکل 1، نمایش مسیریابی را در بازیهای استراتژیِ بیدرنگ[3] در تصویری ساده میبینید.
سپس سیستم گرافیکی وظیفه دارد اجرای مناسبی از سکانسهای اجرا شده در سرعت معینی از انیمیشن را با توجه به دستورات ارائهشده توسط هوشمصنوعی نمایش دهد. این سیستم همچنین باید بتواند سکانسهای متحرکِ مختلفی را برای اجزای مختلف بدن شخصیتها اجرا کند. نمونهای از این سیستم را میتوانید در صحنهای از یک بازی جنگی فرض کنید که در آن سربازی همزمان میدود و به طرف دشمن نشانه میگیرد، تیراندازی میکند و اسلحه خود را در حین دویدن پر میکند.
1-2- هوشمصنوعی در بازیهای استراتژیِ بیدرنگ
در بازیهای استراتژیِ بیدرنگ [4] امکان تشخیص مدلها و لایههای متعددِ هوشمصنوعی وجود دارد.
یکی از اساسیترین این مدلها یک سیستم مؤثرِ راهیابی برای کاراکتر است که بعضی وقتها، در کسری از زمان، این سیستم باید جوابگوی مشکل حرکت صدها کاراکتر روی نقشه اینگونه بازیها باشد.
باید توجه داشت که مسیریابی این سیستم چیزی فراتر از مسیریابی سادهای است که تنها کاراکتری را از نقطه A به B میرساند؛ زیرا در ازدحامِ نقشه، مهمترین نکته در حرکت، تشخیص مواجهاتِ این واحدهای کوچک در حین عبور بین دو نقطه با هم و متعاقب آن اداره آنها است به نحوی که به هم برخورد نداشته باشند.
این الگوریتمها معمولاً بر پایه نقشه بازی استوار است که این مسئله خود توسط عناصری گرافیکیِ رشته مانند و چهارگوش معرفی میشوند.
این رشتههای مستطیل شکل توسط تورهایی شبکهای ، عوامل تصحیح شده از لحاظ اندازه را در محیط تعیین و معرفی میکنند.
در سطوح بالاتر سلسله مراتب هوشمصنوعی این بازیها، ماژولهایی طراحی شده است که وظیفه آنها تعیین مسائل اقتصادیِ بازی، توسعه و از همه مهمتر، مدلی برای آنالیز نقشه بازی است. این همان ماژولی است که نوع زمین هر ناحیه از نقشه و عناصری که روی آن ساخته میشوند را آنالیز میکند.
بهطور مثال، در محلی از نقشه که دریا قرار دارد، این ماژول اجازه میدهد ناوگان دریایی ساخته شود. این ماژول زمان انجام ساختن یک شهر یا دیوارهای حفاظتی و بازوها را نیز تعیین میکند.
1-3- هوشمصنوعی در بازیهای ورزشی
اساساً، در اکثر بازیهای ورزشی، ما با مقدار زیادی تقلب از جانب هوشمصنوعی روبهرو هستیم!
بهطور مثال بازیهای ماشینسواری را در نظر بگیرید. هوش مصنوعی، از کل اشکال هندسی نقشه بازی، فقط چندضلعیهایی را شناسایی میکند که متعلق به جادهای است که حریف کامپیوتری در آن مشغول راندن است، و کاری به دیگر جاهای نقشه بازی (که همان جاده باشد) ندارد. در نظر بگیرید که کامپیوتر توانایی انجام دو نوع رانندگی در پیچهای تعبیه شده در بازی را دارد: نوع اول که در غیاب حریف دیگر رخ میدهد، نمایانگر بهترین رانندگی در این پیچها است و نوع دوم زمانی است که او میخواهد در این پیچ، همزمان از حریفش سبقت بگیرد.در این مثال کل جاده به سکتورهای متناسب کوچکی تقسیمبندی میشود و پارامترهای سطح جاده به مقادیر عددیِ قابل ترجمه تبدیل میشوند و مسیر هر جزء کوچک جاده محاسبه میشود. سپس با ترکیب این اجزای، بهصورت بصری، کل جاده بازسازی میشود و مجاورت ماشینها روی آن با هم نیز در این ترکیب نمایشداده میشود.
عملاً کامپیوتر میداند که در پیچ باید سرعتش را کم کند؛ زیرا در حال پیچیدن اگر سرعتش از حدی بیشتر باشد، کنترل ماشین را از دست خواهد داد. حال بسته به اینکه کامپیوتر از حریف انسانیش عقبتر است یا جلوتر، در نوع پیچیدن در این گونه صحنهها تصمیمگیری میکند.
اگر او عقبتر باشد، سعی میکند با روش بهینهسازیِ پیچیدن که شامل بریدن پیچها و حرکت از داخلیترین مسیر است، کمی مسافت عقبافتاده را جبران کند.در غیراین صورت، به روش عادی میپیچد. با توضیحاتی که داده شد، تجاربی که از بازیهای ماشینسواری تا به حال کسب کردهاید، کمی ملموستر میشود