فناوری- شبیه سازی انسان روی کنسولهای نسل جدید- صفحه1

شبیه سازی انسان روی کنسول های نسل جدید
نگاهی به فناوری DMS محصول شرکتNatural Motion


پژوهشگر و گرداورنده : مهدی صنعت جو  - مجله شبکه شماره 95

در این نوشته به معرفی فناوری جدیدی که در ساخت بی درنگ شخصیت های کامپیوتری خود مختار کاربرد دارد ؛ می پردازیم. این فناوری موسوم به DMS و محصول معرفی شده بر اساس آن یعنی Euphoria توسط شرکت Natural Motion ارائه شده است که پیش از این در شماره 64 ماهنامه شبکه درباره نمونه آنلاین آن یعنی Endorphine مقاله ای چاپ شد. در مقاله پیش رو پس از بیان مقدمه ای درباره شیوه های کنونی ساخت شخصیت های کامپوتری و رفتار آنها ، به DMS و Euphoria پرداخته و تا حد امکان آنها را بررسی خواهیم کرد.

 


توانایی تقلید حرکات انسانی توسط شخصیت های یک بازی و قادر ساختن آنها برای بروز واکنش های اساسی پیش روی صنعت بازی سازی بوده و حل آن یکی از اهداف مهم این صنعت به شمار می آید. با این حال و با توجه به علاقه سازندگان بازی ها و مشتریان این بازی ها در رسیدن به این هدف ، تا به امروز شاهد چنین شخصیت هایی نبوده ایم. NPC های ( سرنام Non – Player Characters ) امروزی هر چند از لحاظ بصری تا حدودی بدون نقص هستند ؛ اما در عین حال بسیار مضحک به نظر می رسند ؛ زیرا در حقیقت فاقد مغز هستند.
با این که Motion Capture صحت حرکات NPC ها را بالا برده و تلاش زیادی برای باورپذیری آنها انجام داده ؛ هنوز هوش مصنوعی مورد استفاده برای کنترل حرکات و رفتار NPC ها رشد مناسبی نداشته است. در واقع ، علی رغم این که به خصوص در بازی ها روی هوش مصنوعی و لزوم خود مختار بودن شخصیت ها تمرکز زیادی می شود ؛ اما در عمل نتیجه مناسبی عاید بازی دوستان نشده است. این به میزان زیادی به ضعف سخت افزار ها باز می گردد که نمی توانند محاسبات پیچیده مورد نیاز برای چنین کاربردهایی را پشتیبانی کنند. شاید از دیدی دیگر بتوان پیچیدگی بیش از حد محاسبات و بهینه نبودن روش های نرم افزار ی بکار رفته را مشکل اساسی دانست.



مشکلات کنونی و راه حل های موجود

به دلیل کمبود توان پردازشی موجود، انجام مواردی نظیر Pathfinding می تواند آنچنان برای CPU دشوار باشد که سازندگان بازی ترجیح دهند در برخی موارد تا حد امکان از NPC های کمتری استفاده کنند. به علاوه نوشتن الگوریتم های Pathfinding هم چالش بزرگی است و برنامه نویسان اغلب برای حل این چالش مجبورند چشم اندازها و محیط بازی را طوری ساده در نظر بگیرند که شخصیت درون بازی دچار مشکل نشود یا حتی با پیش بینی حالت های ممکن ، او را در یافتن راه خود در دنیای مجازی بازی راهنمایی می کنند. سازندگان بازی حتی پا را فراتر نهاده و تعامل NPC ها را هم در محیط بازی محدود می کنند تا از حجم پردازش های لازم بکاهند. در این روش ، واکنش های فیزیکی کاراکتر به مجموعه ای متناهی از Canned Animation Cycle محدود شده اند که به زودی برای بازیکن تکراری و ملال آور می شوند. در این صورت سازندگان آنچه را که ممکن است در طول بازی رخ دهد ؛ به نوعی پیش بینی کرده و برای هر حالت و موقعیت خاص ، یک واکنش را در نظر می گیرند. این حرکات ، واکنش ها و تعاملات شخصیت ها با محیط اطراف و نیز با کاربر به صورت یکسری انیمیشن ذخیره می شوند تا در حین بازی ، و در زمان مورد نیاز مورد استفاده قرار گیرند. در حقیقت ، واکنش حریف به شما در یک بازی نتیجه عمل شما نبوده و واکنشی نیست که حریف به شما نشان داده باشد ؛ بلکه آن چیزی است که سازنده بازی پیش بینی کرده و شما فقط با استفاده از دسته بازی ، آن واکنش از پیش تعیین شده  خاص را فراخوانی می کنید. بعنوان مثال ، وقتی شما در یک بازی به حریف خود شلیک می کنید ؛ منطق بازی را مجبور کرده اید از بین حالت های ممکن که سازنده برای چنین موردی پیش بینی کرده ؛ مناسب ترین حالت را انتخاب کند و حریف شما بر اساس این حالت انتخاب شده واکنشی مناسب در مقابل حرکت شما از خود نشان دهد. البته این واکنش در حد " انتخاب بهترین حالت " باقی می ماند و در بیشتر موارد نمی توان آن را یک واکنش هوشمندانه به حساب آورد و بهتر بگوییم یک انتخاب بهینه است تا یک حرکت هوشمندانه . اگر هم این انتخاب واقعاً بهترین انتخاب ممکن باشد ؛ به دلیل این که از میان حالاتی انتخاب شده است که سازندگان بازی برای شما از قبل پیش بینی کرده اند ؛ آنچنان انسان را به وجد نمی آورد .
 بطور خلاصه این یعنی اینکه شخصیت مورد استفاده در یک بازی از خود استقلال ندارد و رفتار و واکنش هایش محدود به آن چیزی می شود که سازنده برای او پیش بینی کرده است. با توجه به مطالب ذکر شده ، کاملاً مشهود است که بیشتر این تعامل ، ساختگی و کاذب است _ ( Pseudo – interactivity ) . زیرا این تعاملات حاصل باز پخش موارد از پیش تولید شده است و کسی که در حال انجام بازی است ؛ هیچ نقشی در آن ندارد. به همین دلیل هم لذت یک بازی تعاملی واقعی را نمی چشد . بعنوان مثالی دیگر ، برای شخصیت فرقی نمی کند که از بالای آبشار نیاگارا به پایین پرت شود یا از پشت بام یک خانه یا از بالای جدول کنار خیابان. در تمام این حالت ها او در هنگام افتادن ، حرکاتی مشابه انجام می دهد . اما ما انتظار داریم حرکات شخصیت در چنین مواردی باور پذیر و منطقی باشد . بعنوان مثال ، او در حین افتادن از یک پشت بام ، تلاش بیشتری برای زنده ماندن بکند ؛ مثلاً نرده های تراس را بگیرد یا خود را به جایی آویزان کند !




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


سدها شکسته شدند!
همان طور که ذکر شد ؛ محدودیت های سخت افزاری دلیل اصلی رویکرد بازی سازان به استفاده از انیمیشن ها و پیش بینی حرکات است. زیرا چنین شیوه ای هر چند به فضای ذخیره سازی زیادی ( مثلاً DVD) نیاز دارد ؛ اما در مقابل ، توان پردازشی کمی را حین بازی طلب می کند و در نتیجه بازی های ساخته شده با این روش به خوبی روی سیستم هایی که کمبود توان پردازشی ، که چالش شماره یک آنها به شمار می آید اجراء می شوند. اما پیش بینی همه حالت های ممکنی که یک شخصیت در یک بازی ممکن است  انجام دهد و نیز ساخت انیمیشن تک تک این حرکات برای ایجاد رفتارهای تعاملی در یک بازی بسیار گران تمام می شود. از طرفی این شیوه فقط توهمی از تعاملی بودن را ارائه می دهد و در ذات، با این روش فقط می توان آنچه را که از قبل آماده شده است ؛ نمایش داد. یعنی به هیچ وجه امکانی برای تجربه های جدید در بازی به صورت لحظه ای و آنی وجود ندارد تا صحنه هایی متفاوت و منحصر به فرد ایجاد شوند.
از آنجا که Xbox 360 و Play Station 3 سدهای سخت افزاری موجود را شکسته اند ؛ چندین فناوری نوین با استفاده از این قدرت جدید سخت افزاری می توانند مشکلات برشمرده را حل کنند . به یمن پیشرفت های صورت گرفته در زمینه هوش مصنوعی رفتاری ( Behavioral AI) و ساخت حرکات بی درنگ ، NPC ها می توانند به محیط ، واکنش نشان دهند و به طور مستقل و خود مختار حرکت کنند و در پاسخ به یک وضعیت خاص صاحب آزادی عمل تقریباً نامحدودی خواهند شد. آن ها حتی از بازیکنان انسانی ، طراحان بازی ها و اشتباه های خود خواهند آموخت : مانند ارگانیسم هایی که خود را با محیطی که در آن قرار گرفته اند ؛ سازگار می کنند.


نگاهی به روش جدید
Euphoria می تواند به جای اینکه تمامی حالت ها و حرکات ممکن را پیش بینی کند ؛ با توجه به موقعیت و شرایط یک صحنه ، این حالت ها را در همان لحظه بسازد. در نتیجه ، ما شاهد رفتارها و حرکات و اتفاقاتی بسیار غافلگیر کننده در حین بازی خواهیم بود.  Euphoria پس از ترکیب با یک Physics Engine که فیزیک اساسی بدن را فراهم می کند ؛ می تواند سیستم عصبی حرکتی انسان یا حیوان را با استفاده از توان پردازشی Xbox360 یا PS3 و نیز کامپیوترهای شخصی شبیه سازی کند. با این تکنیک ، کاراکترها خود را با شرایط محیط و ورودی های اعمال شده سازگار می کنند و پاسخ های مناسب می دهند. به عنوان مثال ، اگر شخصیت تعادل داشته باشد و شما یک کوله پشتی سنگین به او اضافه کنید ؛ می توانید تغییر در رفتار و حرکات شخصیت را به خوبی ببینید . از سویی، رفتارها می توانند به کل بدن یا فقط به عضوی از آن اعمال شوند. می توان جراحت ها را در یک عضو خاص بوجود آورد یا این که کاری کرد که کل بدن شخصیت، حالت خستگی و کوفتگی به خود بگیرد.
هوش مصنوعی بکار رفته بسیار پیچیده و بر پایه تئوری کنترل روبات است. NPC ها با نیروی ماهیچه ها حرکت می کنند و در نتیجه رفتارهای خاصی از آن ها شاهد هستیم. بنابراین حتی در یک موقعیت ساده نظیر تصادف با یک ماشین ؛ حرکات شخصیت منطقی تر است.
بعنوان مثال ، قابلیت حفظ تعادل به او اجازه می دهد تا زمانی که نیروهایی از خارج به او اعمال می شوند ؛ تعادل خود را حفظ کند. در یک صحنه تیر اندازی اگر شما به کتف دشمن خود شلیک کنید خواهید دید که مثلاً به عقب می چرخد و پرت می شود یا اگر به زانوی یک تبهکار  شلیک کنید ؛ خواهید دید که  تعادل خود را از دست می دهد . اگر حریف شما سمج و سخت جان است ؛ ممکن است لنگ لنگان به سمت شما بیاید و شلیک کند !

 

©  Copyright 2010/ Animationdata.com & Partners

 

                                 صفحه 1                                     صفحه 2                          عناوین مطالب

آمار بازدیدکنندگان

آنلاین: 7
امروز: 654
دیروز: 292
ماه: 1704
سال: 9072
کل: 191231
آخرین بازدید: 22:20