نبوغ نهفته پشت هوش مصنوعی سیمز | جعبهابزار بازیسازان (۱۳۱)
چند سالی میشود که کانال یوتیوب جعبهابزار بازیسازان (Game Maker’s Toolkit) در ویدئوهایی کوتاه و آموزنده به بررسی و توصیف جنبههای مختلف بازیهای ویدئویی و مفاهیم مربوط به این حوزه میپردازد. من تصمیم گرفتم محتوای این ویدئوها را با کمی تصرف و منطبق کردن آن با مدیوم نوشتار، به فارسی برگردانم. این سری مقالات برای کسانی که آرزوی بازیساز شدن را در سر میپرورانند، یا صرفاً میخواهند بازیهای ویدئویی را بهتر و عمیقتر درک کنند، بسیار مفید خواهد بود. با مجموعه مقالات «جعبه ابزار بازیسازان» همراه باشید.
سیمز (The Sims) یک خانهی عروسکی دیجیتالی است که از انسانهای کامپیوتری کوچک پر شده است. این وظیفهی شماست تا آنها را زنده و خوشحال نگه دارید و تا حد امکان خانهیشان را از اسباب و اثاثیهی گرانقیمت پر کنید. ولی ریزمدیریت نیازها و تمایلات یک خانواده میتواند بسیار خستهکننده شود.
بدین ترتیب، بازیسازان مکسیس (Maxis) خیلی زود متوجه شدند که لازم است تا حدی استقلال عمل یا خودمختاری در اختیار سیمها قرار دهند؛ بهعبارت دیگر، وقتی بازیکن در حال فرمان دادن نباشد، آنها باید بتوانند خودشان فکر کنند.
این کاری بس پیچیده است. جای تعجب هم ندارد، چون باید یک سری شخصیت دیجیتالی را بهعنوان انسانهایی باورپذیر جا بزنید. آنها باید بتوانند خودشان را با هر خانهای که دورشان میسازید و هر موقعیت اجتماعی که در آن قرار میگیرند، وفق دهند. از همه مهمتر، آنها نباید در حدی باهوش باشند که بازیکن بتواند صرفاً از دور زندگی کردنشان را تماشا کند و کاری انجام ندهد.
سوال اینجاست: چگونه میتوان هوشمصنوعیای طراحی کرد که همهی این کارها را انجام دهد؟ این سوالی است که در این مطلب قصد دارم به آن پاسخ دهم. میخواهم روشهای هوشمندانهای را که مکسیس برای ایجاد اختیار عمل برای سیمها در این مجموعهی چهار قسمتی طراحی کرده شرح دهم. تمرکز روی بازی اصلی و – اگر بخواهیم صادق باشیم – بهترین بازی مجموعه یعنی «سیمز ۳» است. این مطلب قرار نیست چندان وارد جزییات فنی شود، ولی اگر دنبال چنین جزییاتی هستید، در بخش Description ویدئوی اصلی تعداد زیادی منبع با لینکهای مربوطه وجود دارد.
تصمیمگیری پایه
بسیار خب، تصمیمگیری در سیمز از جانب یک سری نیاز ذهنی و فیزیکی کنترل میشود که مکسیس آنها را «انگیزه» (Motive) نامیده است، ولی ما همان نیاز خطابشان میکنیم. در سیمز ۱ این نیازها شامل:
- گرسنگی
- بهداشت
- تفریح
- انرژی
- دستشویی کردن
- نیاز اجتماعی
- راحتی
- تمیزی
میشود. معیار اندازهگیری آنها از منفی ۱۰۰ تا مثبت ۱۰۰ متغیر است و اگر امتیاز همهیشان را با هم جمع ببندید، به سطح کلی خوشحالی سیمها میرسید.
همهی این نیازها بهطور مداوم در حال کمتر شدن هستند؛ نرخ کاهش هرکدام با بقیه فرق دارد. گاهی نرخ کاهش بعضی نیازها متناسب با عملی که انجام میدهید سریعتر میشود. مثلاً اگر یک سیم در حال غذا خوردن باشد، نوار نیازش به دستشویی کردن سریعتر خالی میشود. مکسیس همهی این نرخها را تنظیم کرد تا به یک برنامهی عادی برای زندگی انسان برسد: مثل نیاز به هشت ساعت خواب و خوردن سه وعده غذا در روز.
بنابراین اگر بازیکن به سیم فرمانی صادر کند، خود سیم، بنا بر تمایلش به برطرف کردن این نیاز، تصمیم میگیرد چه کار کند. شاید فکر کنید که یک سیم خودش میداند که چطور نیازهایش را برطرف کند؛ مثلاً میداند که برای دستشویی کردن باید روی توالت بنشیند، برای برطرف کردن گرسنگی باید برود سر یخچال یا اجاق یا کتابها، تلویزیون و میز پینبال نیاز به تفریح را برطرف میکنند.
ولی این سیستم اینگونه کار نمیکند. در واقع، کارکردش کاملاً برعکس است؛ بدین صورت که تمام اشیاء داخل خانهی یک سیم شامل این داده میشوند و میتوانند آنچه را که برای عرضه دارند مخابره کنند. مثلاً تخت میگوید: «روی من بخواب تا ۱۰ انرژی به دست بیاوری.» توالت میگوید: «استفاده کردن از من ۲۰ امتیاز به نیاز به دستشویی کردن اضافه میکند.» و علاوه بر این: «اگر من (یعنی توالت) را تمیز کنی، ۵ امتیاز به نیاز به تمیزی اضافه میشود.» بقیهی سیمها نیز با نزدیک شدن به شخصیت شما نیاز او به برقراری رابطهی اجتماعی را ۸ امتیاز افزایش میدهند.
مکسیس این سیستم مخابرهی داده را «تبلیغات» نامیده است. بنابراین هرگاه که سیم تصمیم بگیرد که چهکار کند، بازی بهسرعت فهرستی از اشیاء داخل خانه و آنچه را که برای عرضه دارند تهیه میکند:
پس از آن سیم میتواند این رقم تبلیغشده را دریافت کند و آن را بر اساس نیازهای فعلیاش بسنجد. سیم این کار را از راه اعمال یک ضربکننده روی امتیاز وعده دادهشده بر اساس امتیاز نیازهای فعلی سیم انجام میدهد.
بهعنوان مثال، اگر سیم خوب استراحت کرده باشد، امتیاز تخت در راستای افزایش انرژی کاهش مییابد، ولی اگر سیم بسیار خسته باشد، تاثیر امتیاز تخت چند برابر بیشتر میشود. حال سیم میتواند فهرست تعاملات و امتیازهای مربوط به هرکدام را برای خود رتبهبندی کند.
در راس فهرست تعاملی وجود دارد که در آن لحظه بیشترین سود را به سیم میرساند، برای همین اگر سیم به حال خود رها شود، در آن لحظه این کار را انجام خواهد داد.
این سیستم هوشمندانه از یکی از بازیهای قبلی ویل رایت (Will Wright)، سازندهی سیمز، الهام گرفته شده بود: شبیهساز مورچه (Sim Ant)، یک شبیهساز مجازی از زندگی مورچهها که در آن فرومونهای جذاب، مورچهها را به حرکت وا میداشتند.
ایدهی پشت قضیه یکسان است، ولی در سیمز تلویزیونها، یخچالها، دستگاههای پینبال و وامهای حمام نقش فرومون را ایفا میکنند. با این حال، انسانها مورچه نیستند. بنابراین اگر این سیستم دقیقاً همانطور که توصیفش کردم پیاده میشد، به رفتارهای عجیبی ختم میشد که باعث میشد سیمها یا رباتگونه به نظر برسند، یا غیرمنطقی. بنابراین باید روی این سیستم تغییرات زیادی اعمال کرد تا جوابگو باشد.
بهعنوان مثال، همهی نیازها با هم برابر نیستند. اگر یک سیم در آن واحد هم بهشدت گرسنه باشد، هم حوصلهاش سر رفته باشد، احتمالاً اولویت اولش خوردن یک ساندویچ خواهد بود، نه تماشای نتفلیکس. ولی اگر یخچال و تلویزیون هردو پاداشی یکسان را عرضه کنند، سیم کدامیک را انتخاب خواهد کرد؟
با تعیین کردن منحنیهای منحصربفرد برای هر نیاز، میتوان به رفتاری منطقیتر دست پیدا کرد. برای گرسنگی، منحنی ما باید اینگونه به نظر برسد:
طبق این منحنی، اگر سیم گرسنه نباشد، امتیاز یخچال تقریباً به صفر میرسد:
ولی اگر سیم گرسنه باشد، به حد نهایت میرسد و باعث میشود رفع گرسنگی به مهمترین دغدغهی سیم تبدیل شود.
منحنیهای مشابه و کوچکتر نیز برای نیازهای فیزیولوژیکی دیگر مثل نیاز به دستشویی کردن، رعایت بهداشت و رفع خستگی تعیین شدهاند. با این حال، نیازهایی که اهمیت کمتر داشته باشند، مثل نیاز به تفریح، برقراری روابط اجتماعی و راحتی نیز همگام با خوشحالتر شدن سیم افزایش مییابند.
هرم نیازهای مزلو (Maslow’s Hierarchy of Needs) الهامبخش این سیستم بود. حرف حساب هرم مزلو این است که انسانها موقعی در صدد برطرف کردن نیازهای ذهنی و اجتماعی خود برمیآیند که نیازهای پایه و غریزی آن ها برطرف شود. تازه غیر از این، بعضی نیازها، مثل نیاز به دستشویی کردن، نقطهی پایان مشخصی دارند، ولی نیازی مثل نیاز به تفریح هیچ نقطهی انتهایی ندارد.
همچنین میتوان امتیازها را بر پایهی معیارهای دیگر نیز اندازهگیری کرد. بهعنوان مثال، هر سیم شخصیت خاص خود را دارد که بر پایهی امتیازهای او در حوزههایی چون خوشاخلاقی، تمیز بودن و بازیگوشی تعیین میشود.
بنابراین با وجود اینکه دستگاه پینبال و کتابخانه هرکدام به یک میزان نیاز به تفریح را برطرف میکنند، یک سیم با توجه به میزان بازیگوشی خود امتیاز آنها را تعیین میکند. بنابراین یک سیم جدیتر ترجیح میدهد کتاب بخواند.
یک عامل دیگر برای ردهبندی این تعامل، فاصلهی فیزیکی شیء برطرفکنندهی نیاز از سیم است. این یعنی اشیائی که به سیم نزدیکتر باشند، در نظرش وسوسهبرانگیزتر هستند.
در نهایت، بعضی از تعاملها به تمام تعاملهای دیگر ارجحیت دارند؛ مثل تماس تلفنی یا سر رسیدن اتوبوس مدرسه. بعضی از اشیاء نیز کلاً برای قشر خاصی از سیمها (مثل کودکان، بزرگسالان یا مهمانان) قفل هستند و به آنها تبلیغ نمیشوند.
با ترکیب کردن تمام این معیارها، به امتیازی بهدردبخورتر میرسیم، امتیازی که بر اساس نیازها، ویژگیهای شخصیتی و موقعیت مکانی سیم تعیین شده است. بر اساس این امتیازات است که حرکت بعدی سیم انتخاب میشود.
ولی شاید مهمترین نکته این باشد که سیمها همیشه بهترین گزینه را انتخاب نمیکنند. کاری که سیم انجام میدهد، انتخاب کردن تصادفی یکی از تعاملاتی است که امتیاز بالا دارد. این مسئله باعث میشود که سیم رباتگونه و بیشازحد قابلپیشبینی به نظر نرسد و همچنین نتواند بدون دخالت بازیکن تمام نیازهایش را بهشکلی بینقص برطرف کند.
هوشمصنوعی کاربردی
آنچه تاکنون توصیف کردم، نوع خاصی از هوشمصنوعی به نام هوشمصنوعی کاربردی (Utility AI) یا هوشمصنوعی نیازمحور (Needs-Based AI) است. در سیستمی که این هوشمصنوعی در آن به کار میرود، هر شخصیت تعدادی نیاز از پیشتعیینشده دارد. سپس به اطراف خود نگاه میکند و آیتمی را که به بهترین شکل نیازش را برطرف میکند – آیتمی را که بیشترین «کاربرد» را دارد – برای تعامل انتخاب میکند.
در سیمز، میتوان یک سیم را در هر خانهای قرار داد و از او انتظار داشت مثل یک انسان واقعی رفتار کند؛ یعنی هرگاه که لازم باشد، روی رفع گرسنگی و خستگیاش تمرکز کند و هرگاه هم که لازم نباشد، با دیگران حرف بزند و تفریح کند.
غیر از این، با قرار دادن اطلاعات روی اشیاء – بهجای سیمها – مکسیس بهراحتی میتواند صدها شیء به بازی اضافه کند و بستهالحاقیهای بینهایت برای آن بسازد، بدون اینکه به بقیهی کدها دست بزند.
بهخاطر این دلایل، این سیستم پایه در هر ۴ بازی مجموعه به کار رفته است. ولی وقتی مکسیس در حال ساختن سیمز ۳ – بازی بسیار بلندپروازانهی مجموعه – بود، میخواست پا را از این فراتر بگذارد.
سیمهای منحصربفرد
بسیار خب، در سیمز ۱، دیدیم که ویژگیهای شخصیتی هر سیم – مثل تمیزی و بازیگوشیشان – چگونه روی تصمیمگیریشان تاثیر میگذارد. این سیستم باعث میشد هر سیم متفاوت به نظر برسد. ولی در سیمز ۳، با جایگزین کردن نوارهای شخصیتی با ویژگیهای شخصیتی (Trait)، این سیستم بهطور قابلتوجهی گسترش پیدا کرد.
این ویژگیها بسیار متنوع بودند: تمیز، عصبی، خواب سنگین داشتن، نامتعهد بودن. ویژگیهای شخصیتی به پنج دسته تقسیم شده بودند و در بازی اصلی ۶۰ ویژگی شخصیتی وجود داشت. این یعنی در بستر بازی امکان به وجود آمدن ۵ میلیون سیم وجود داشت و عملاً هر سیم منحصربفرد بود.
این ویژگیها تاثیرات بسیاری روی سیمها دارند: مثلاً سیمی که ویژگی بیعرضگی را داشته باشد، به هنگام راه رفتن ممکن است پایش جایی گیر کند. سیم شلخته ممکن است وقتی به حال خودش رها شده است، آروغ بزند و باد شکم در کند.
اگر سیمها در راستای ویژگیهای شخصیتی خود عمل کنند، مودلتهای (Moodlet) امتیازی دریافت میکنند و برخی از تعاملات نیز در انحصار سیمهایی با ویژگیهای خاص قرار دارند. مثلاً سیمی که ویژگی «خورهی کامپیوتر» را داشته باشد، میتواند از راه هک کردن پول دربیاورد.
ولی این ویژگیهای شخصیتی روی تصمیمگیری سیمها نیز تاثیر میگذارند. با این حال، این بار در سیمز ۳، به جای اندازهگیری امتیازها بر اساس شخصیت سیمها، صرفاً نیازهای بیشتر به معادلات اضافه شدهاند.
در کدهای بازی، هر سیم همچنان یک سری نیاز پایه مثل گرسنگی، رفع خستگی و دستشویی رفتن را دارد، ولی بعضی نیازهای دیگر هم دارد که به ویژگیهای شخصیتیاش مربوط میشوند.
اگر یک سیم ویژگی «معتاد به تلویزیون» (Couch Potato) را داشته باشد، نیاز به این دارد که روی مبل بنشیند و تلویزیون تماشا کند. این نیاز بهاندازهی نیاز به دستشویی رفتن، غذا خوردن و خوابیدن مهم است. همانطور که یک یخچال خود را بهعنوان راهکاری برای رفع گرسنگی تبلیغ میکند، اشیاء دیگر نیز میتوانند خود را بهعنوان راهکاری برای رفع نیازهای شخصیتمحور سیمها تبلیغ کنند.
بهعنوان مثال، تعاملاتی چون ترساندن یک سیم، دزدیدن آبنبات از یک بچه، خراب کردن یک خانهی عروسکی و نوشتن یک نظر ترولوار در اینترنت همه تعاملاتی هستند که به سیمی که دارای ویژگی شخصیتی «پلید» (Evil) باشد تبلیغ میشوند.
این یعنی سیمها تشویق میشوند تا همچنان که در حال رفع کردن نیازهای استاندارد و روزمرهی خود هستند، ویژگی شخصیتی خاص خود را نیز بهشکل مستقل ابراز کنند.
موقعیتهای اجتماعی
این ایده – اضافه کردن نیازهای مضاعف به یک سیم – برای شبیهسازی موقعیتهای اجتماعی نیز به کار میرود. مثلاً اگر یک سیم وارد باشگاه بدنسازی شود، بهطور موقت یک نیاز دیگر در آنها ایجاد میشود: «در باشگاه بدنسازی بمان». این نیاز از راه استفاده از اشیائی چون میلهی وزنهبرداری و تردمیل برطرف میشود. وقتی آنها باشگاه را ترک کنند، این نیاز برطرف میشود.
در خانه، اگر یک سیم مهمان داشته باشد، یک نیاز جدید برای او ایجاد میشود: مهماننواز بودن و میزبانی گرم از مهمان. در این میان، مهمانان نیز این نیاز را در خود حس میکنند تا بهشکلی که از لحاظ اجتماعی مقبول باشد، رفتار کنند.
در بازی سیمز قرون وسطی (Sims Medieval)، هر سیم در ساعات کاری نیاز به انجام کار پیدا میکند و وقتی که زمان استراحت فرا برسد، نیاز به کار کردن را از دست میدهد.
با این حال، ویژگیهای شخصیتی ممکن است روی این نیازها نیز تاثیر بگذارند. مثلاً اگر یک سیم بنشیند تا پیکنیک برگزار کند، دوستان و اعضای خانوادهی سیم تشویق میشوند تا به او بپیوندند، در حالیکه غریبهها از این کار منع میشوند. ولی اگر یک سیم ویژگی شخصیتی «پررو» (Inappropriate) را داشته باشد، از این سیستم پیروی نخواهد کرد و در واقع تشویق میشود نزد کسانی بنشیند که با آنها آشنایی ندارد تا معذبشان کند.
تمام این حرفها بدین معناست که سیمها در هر موقعیتی که در آن قرار بگیرند، از خود رفتاری طبیعی و باورپذیر نشان میدهند، ولی همیشه چندتا سیم پیدا میشود که بهخاطر ویژگیهای شخصیتی منحصربفردشان، رفتاری نامتعارف از خود نشان دهند.
این سیستم صرفاً از راه دستکاری نیازهای سیمها طراحی شده است، نه طراحی دستی تعدادی قانون و تعامل مشخص.
قوانین سفتوسخت
با تمام این صحبتها، گاهی نیاز به قوانین سفتوسخت و تبصرهناپذیر حس میشود. مثلاً مثال مهمان آمدن به خانه را که پیشتر به آن اشاره کردم در نظر بگیرید. یک مهمان حقیقتاً انگیزهی این را دارد تا رفتاری مناسب از خود نشان دهد. ولی اگر مهمان بیش از حد مناسب در خانه بماند چه؟ اگر بازیکن با دخالت کردن خود، کاری کند سیم رفتاری نامناسب از خود نشان دهد چه؟
برای اینکه این سیستم کار کند، یک سری قانون که هنجارهای اجتماعی را دیکته میکنند، آمدن مهمان به خانه را نظارت میکنند. مثلاً اگر سیم در تخت میزبان بخوابد یا از کامپیوتر او استفاده کند، قوانین به میزبان حکم میکنند تا به او هشدار دهد و اگر دوباره خطا کرد، او را از خانه بیرون کند.
همچنین گفتگوها نیز به قوانین دستیتر نیاز دارند تا نمایندهی دقیقی از تعامل دو سیم با ویژگیها و حالات خاص خود باشند. مثلاً اگر یک سیم در حال تعریف کردن جوک برای سیمی دیگر است و او از دست تعریفکنندهی جوک بهشدت عصبانی است، باید به جوک او چه واکنشی نشان دهد؟ اگر یک سیم جوکی یکسان را ۵ بار پشتسر هم تعریف کند چه؟
این کار از طریق یک سری قانون انجام میشود: ۱. ورودی ۲. تعیین یک سری شرایط ۳. خروجی.
بنابراین در مثال جوک، اگر شخصی که جوک برایش تعریف میشود، ویژگی شخصیتی «شوخطبعی» داشته باشد، به جوک خواهد خندید. اگر رابطهی درازمدت آن دو در وضعیتی بد قرار داشته باشد، به او برخواهد خورد. اگر تعریفکنندهی جوک یک شوخی را چند بار تکرار کند، حوصلهی طرف مقابل سر خواهد رفت.
این «قوانین تولیدی» (Production Rules) بر اساس میزان مشخص بودن – طبق تعریف طراح – رتبهبندی میشوند و نتیجهای که بهترین امتیاز را بگیرد، بهعنوان واکنش انتخاب میشود.
در نهایت مکسیس هزاران قانون دستی برای بازی نوشت تا بتواند نتیجهی صدها موضوع گفتگوی ممکن را پیشبینی کند. ولی با توجه به اینکه قوانین در بستری بزرگ قرار میگیرند و صرفاً مشخصترین قانون انتخاب میشود، امکان ایجاد تناقض منطقی، خراب شدن بازی، به وجود آمدن چرخهای بیانتها یا اشکالاتی از این قبیل از بین میرود.
قوانین دستی هم مثل اشیاء هستند: سازندگان بازی بر اساس نیاز میتوانند تعداد بیشتری از آنها را به بازی اضافه کنند.
سیمهای پسزمینه
تاکنون در حال صحبت دربارهی سیمها در مقیاسی فردی یا در بستر موقعیتهای اجتماعی کوچک (مثل گفتگو و مهمانی) بودهام. ولی وقتی صحبت از شبیهسازی یک شهر کوچک پر از آدمهای دیجیتالی در میان باشد چه؟
در سیمز ۳، خانهی شما در محلهای جهانباز واقع شده است و در این محله دهها سیم دیگر زندگی میکنند. هر محله شامل خانهها، رستورانها، یک پارک و… میشود.
لازم بود که مکسیس ابزار جدید تولید کند تا جوابگوی این سیستم جدید باشد. ولی در حقیقت، ساز و کار این شهرک نیز تا حد زیادی شبیه به ساز و کار سیمهاست. دلیلش این است که خود شهرک هم یک سری نیاز دارد و تصمیماتی میگیرد که در برطرف کردن نیازهایش به آن کمک کنند. مثلاً یکی از نیازهای شهرک این است که برابری ۵۰/۵۰ بین جنسیت مذکر و مونث را حفظ کند.
بنابراین وقتی سیم جدیدی به محله اضافه میشود، احتمال مذکر یا مونث بودن او بر پایهی نیازهای فعلی شهرک تعیین میشود. همچنین نرخ اشتغال ایدهآل شهرک حدود ۸۰ درصد است، بنابراین سیمهایی که در پسزمینه وجود دارند، بر اساس نیازهای شهرک، اخراج یا استخدام میشوند.
همچنین هر روز، در نیمهشب، شهرک سطح خوشحالی خود را بررسی میکند و بعد چند کار کوچک انجام میدهد تا نیازهای خودش را برطرف کند.
حتی ملکها نیز نیاز دارند. مثلاً یکی از نیازهای رستوران این است که در زمان نهار و شام، حدود ۸ نفر بیرون در حال غذا خوردن باشند. برای رسیدن به این هدف، رستوران بهصورت موقت نیاز «غذا خوردن در بیرون» را به تعدادی سیم میدهد تا آنها را وسوسه کند در رستوران غذا بخورند.
حتی میتوان تمرکز را روی سیمهایی با ویژگیهای خاص نهاد. مثلاً سیمی که ویژگی «غذادوست» را داشته باشد، تشویق به آمدن به رستوران میشود و سیمی که ویژگی «خساست» را داشته باشد، از انجام این کار منع میشود.
سیمهایی که وارد رستوران میشوند، شخصیتهایی کاملاً خودمختار به نظر میرسند. آنها نیازهای خاص خود را دارند، از خود خانواده دارند؛ حتی شاید از آخرین بار که آنها را دیدید، بچهدار شده باشند یا شغلشان را عوض کرده باشند. سوال اینجاست که آیا آنها خارج از دوربین در حال پشتسر گذاشتن زندگی شبیهسازیشدهی خود هستند؟
نه، دقیقاً اینطور نیست. سیمهای پسزمینه با جزییاتی بسیار کم شبیهسازی میشوند. هر روز، سیستم نگاهی به هرکدام از سیمها میاندازد و دربارهی اتفاقات بزرگی که ممکن است در زندگیشان بیفتد – مثل کار پیدا کردن، عاشق شدن یا ازدواج – تصمیمگیری میکند. این اتفاقات از طریق عواملی چون ویژگیهای شخصیتی، روابط موجود و مسیرهای شغلی معیاربندی میشوند.
علاوه بر این، طراحان بازی نمودارهایی طراحی کردند که هدفشان، ترسیم نیازهای سیمها در طول روز است. مثلاً اگر ساعت ۴ بعد از ظهر باشد، سیستم فرض را بر این میگیرد که سیمها گرسنه نیستند.
بنابراین وقتی یک سیم پسزمینه بهخاطر قرار گرفتن در نزدیکی بازیکن، به یک سیم در معرض دید ترفیع درجه پیدا میکند، سیستم ساعت روز را بررسی میکند و سپس همهی نیازهایشان را بر اساس نمودار اشارهشده تعیین میکند.
قصهگویی
بسیار خب، ما ابزاری برای شبیهسازی شخصیتها، گفتگوها، مهمانیها، رستوران رفتنها و حتی کل یک شهرک را در اختیار داریم. وقتی چنین تکنولوژی هوشمندانهای در اختیار دارید، شبیهسازی همهچیز وسوسهبرانگیز به نظر میرسد. مثلاً قانون ادرار را در نظر بگیرید. اگر در حال استفاده از دستشویی عمومی باشید، میدانید که وقتی در حال استفاده از توالت مخصوص ایستاده ادرار کردن هستید، باید با فاصله از نفر بعدی بایستید. این یک قانون اجتماعی نانوشته است.
بنابراین مکسیس این قانون را هم به بازی اضافه کرد، ولی قبل از لانچ شدن بازی، آن را حذف کرد.
دلیلش این بود که وقتی سیمها از این قانون پیروی میکردند، قابلپیشبینی و کسلکننده به نظر میرسیدند. ولی اگر سیمها توالت را به صورت تصادفی انتخاب میکردند، این کارشان اغلب به لحظات بامزهای ختم میشد که در آن رفتاری معذبکننده از خود نشان میدادند.
نکته اینجاست: سیمز در ابتدا کار خود را بهعنوان یک بازی شبیهسازی نردپسند شروع کرد – یعنی سیمسیتی (SimCity)، ولی در مقیاسی بهمراتب کوچکتر – ولی طولی نکشید که به اثری متفاوت تبدیل شد. در پلیتست بازی اصلی، ویل رایت متوجه پیامدی غیرمنتظره شد: بازیکنان داستانهایی مفصل دربارهی خانوادهی سیمهایشان تعریف میکردند، به زندگی سیمهایشان شاخوبرگ میدادند، تصمیماتشان را تفسیر میکردند و برای لحظات تصادفی ارزش زیاد قائل میشدند. از ویل رایت نقل است: «برای من جالب بود که مردم چه آمادگی بالایی برای قصهپردازی پیرامون سیمهایشان داشتند.»
برای پشتیبانی از این سیستم، مکسیس یک قابلیت دقیقهنودی به بازی اضافه کرد: قابلیت عکس گرفتن، اضافه کردن توضیحی به زیر آن و اساساً ساختن یک کمیکبوک که با یک کلیک میشد آن را در وبسایت EA آپلود کرد.
این قابلیت بسیار پرطرفدار بود و ثابت کرد که برای بسیاری از مردم، سمیز اساساً بستری برای قصه تعریف کردن است. این ادعا تا به امروز به قوت خود باقی است. کافی است در یوتوب عبارت «The Sims» را جستجو کنید تا منظورم را بفهمید.
ولی پشتیبانی از قصهگویی بازیکنان نیازمند موازنهای ظرافتمندانه است: بازی باید در حدی چفتوبست دار باشد که بتوان از دل آن داستان درآورد، ولی نه در حدی که جلوی قوهی خیال بازیکن را بگیرد.
بنابراین آخرین قطعهی این پازل دانستن این است که کی باید دست نگه داشت؛ کی «نباید» شبیهسازی کرد؛ کی باید اجازه داد سیمها از هر دستشوییای که دلشان میخواهد استفاده کنند.
یکی از راههای رسیدن به این هدف، طراحی ظرافتمندانهی «ابهام» است؛ اساساً ناگفته نگه داشتن بعضی چیزها تا بازیکنان بتوانند پیشفرضهایی اتخاذ کنند و بتوانند تفسیرات خود را به وقایع روی صفحه نسبت دهند.
یکی از مثالهای خوب در این زمینه، زبان بیمعنی سیمها، یعنی سیملیش (Simlish) است. در مدارک طراحی اولیهی بازی، میبینیم که مکسیس در ابتدا آزمونوخطاهایی در راستای گنجاندن زبانهای واقعی مثل انگلیسی، ناواخو، استونیایی و اوکراینی در بازی انجام داده بود، ولی بنا بر دلایل فنی و تدارکاتی، در نهایت دو کمدین بداههگو استخدام شدند تا فقط چرتوپرت بلغور کنند.
ولی این تصمیم در نهایت عالی از آب درآمد. وقتی سیمها در حال چرتوپرت گفتن به یکدیگر هستند، بازیکن خودش میتواند پیشفرضهایی دربارهی موضوع گفتگویشان اتخاذ کند و جاهای خالی را با خیال خودش پر کند و بدین ترتیب بازی را هرچه بیشتر برای خود شخصیسازی کند.
از مت براون (Matt Brown)، یکی از کارکنان مکسیس نقل است: «اگر از زبانهای واقعی استفاده میکردیم، بازی بیمزه میشد و افت پیدا میکرد و همه تجربهای یکسان را پشتسر میگذاشتند.» ابهام همچنین میتواند کاری کند که سیمها از آن چیزی که هستند باهوشتر به نظر برسند و حتی اشتباهات شبیهسازی را نیز پنهان کند.
یکی دیگر از راههای رسیدن به این هدف این است که همیشه از فرمان بازیکن پیروی کرد و هیچگاه اجازه نداد اختیار عمل سیم برخلاف داستانی که بازیکن میخواهد تعریف کند عمل کند.
برای همین است که سیمها از اختیار عمل خود برای خالی کردن مثانهیشان و پر کردن شکمشان استفاده میکنند، نه استعفا دادن از شغلشان یا ایجاد رابطهی رمانتیک با یک سیم تصادفی.
درست مثل سیستم نمسیس (Nemesis System) در سایهی جنگ (Shadow of War)، مکسیس از مفهوم «بله، و…» (Yes, and…) در کمدی بداههگویی الهام گرفت. سیمها سعی میکنند از دستورات بازیکن پیروی کنند و آنها را نفی نکنند. مثلاً اگر بازیکن کاری کند که دو سیم عاشق هم شوند، خودمختاری سیمها نباید کاری کند که با هم به هم بزنند. همچنین سیمهایی که خود بازیکن ساخته باشد، بههنگام ورود به دنیای بازی گرایش جنسی مشخصی ندارند. ولی مثلاً اگر به یک سیم مذکر دستور بدهید که با سیمهای مذکر دیگر لاس بزند، عملاً دارید میگویید که این سیم باید دوجنسگرا یا همجنسگرا باشد و بازی هم این را لحاظ میکند. عملاً وظیفهی بازی این است که همیشه انسجام قصهای را که بازیکن قصد تعریف کردنش را دارد حفظ کند.
نتیجهگیری
سیمز سیستم هوشمصنوعی جالبی دارد. این سیستم امکان شبیهسازی و ابراز رفتارهای انسانی واقعگرایانه و همچنین قصهگویی خلاقانه و بازیکنمحور را فراهم میکند. این هوشمصنوعی هم عمدتاً از جانب مفهومی ساده مورد نظارت قرار میگیرد: برای شخصیتها، مکانها و حتی محلههای داخل بازی یک سری نیاز تعیین شده است و همهی این عوامل تصمیماتی میگیرند که در برطرف کردن این نیازها به آنها کمک کنند.
با اعمال تعدادی تنظیمات هوشمندانه، این هوشمصنوعی به خلق شخصیتهایی با رفتار باورپذیر، موقعیتهای اجتماعی که در آن سیمها رفتاری مناسب نشان میدهند و محلههایی که همیشه منسجم و موازنهشده باقی میمانند، منجر میشود.
ولی کاربرد هوشمصنوعی کاربردی فقط به بازیای بامزه و تفننی دربارهی آدمهای دیجیتالی محدود نمیشود. ما میتوانیم کاربرد این هوشمصنوعی را در انواع بازیهای دیگر را هم ببینیم. مثلاً در ایکسکام (XCOM)، نیروی دشمن میتواند تمام کاشیهایی را که میتواند رویشان قدم بگذارد در نظر بگیرد و با توسل به معیارهایی چون:
- فاصله
- فرصت شبیخون زدن
- زاویه
- امتیاز سنگرگیری
- در معرض دید بودن
- نزدیکی
به آن نمره دهد و سپس روی کاشیای برود که بالاترین نمره را داشته باشد. همچنین از هوشمصنوعی کاربردی میتوان در بازیهایی که بهصورت تصادفی تولید میشوند (Procedural Generation) استفاده کرد تا بازی دنیای تصادفی را بر پایهی نیازهای از پیش تعیینشده خلق کند.
هوشمصنوعی کاربردی ابزاری بسیار کارآمد در جعبهابزار بازیسازان است و شیوهی بهکار رفتن آن در سیمز میتواند برای طراحان بازی بسیار الهامبخش باشد.