تنها که بازی کنید، سه قلعه از چهار قلعه را ماشین دفاع میکند. هر جنگسالارِ رایانهای همان حلقهٔ کوتاه را اجرا میکند: توپی را که ارزش ترسیدن دارد بیاب، حدس بزن از کجا از دیوارت خواهد گذشت، بلغز تا به آن برسی؛ و فاصلهٔ میان یک حریفِ دستآموز و یک بلای جان، به چهار عدد ختم میشود.
به انگلیسی نوشته و ویرایش شده است. این نسخهٔ فارسی با ترجمهٔ ماشینی تهیه شده است؛ هر جا دقت اهمیت دارد، متن اصلی انگلیسی معتبر است. خواندن متن اصلی به انگلیسی ←
نخستین کار یک جنگسالار، صد و بیست بار در ثانیه، غربالگری است. با وجود حداکثر دو توپِ رها در آوردگاه، هوش مصنوعی باید تصمیم بگیرد کدامیک سزاوار سپرش است. به هر توپِ فعال و در دستْنگرفته بر پایهٔ فاصله تا شاه خودش امتیاز میدهد، سپس از امتیاز هر توپی که واقعاً به سوی آن گوشه در حرکت است پاداشی ثابت به اندازهٔ 250 واحد کم میکند؛ با توپی که دور میشود چنان رفتار میشود که انگار 250 واحد دورتر از آن است که واقعاً هست. 1 کمترین امتیاز، توجه سپر را از آنِ خود میکند.
نتیجه مدافعی است که بابت توپی که بیآزار از کنارش میگذرد هراسان نمیشود، اما به توپی که هم نزدیکتر است و هم رو به داخل میآید بیدرنگ میچسبد. این مدلی خام است از کاری که یک انسان بیآنکه بیندیشد انجام میدهد: چیزی را که به سویت میآید بپا، و چیزی را که دور میشود نادیده بگیر. تمام این داوری یک ضرب داخلیِ ساده میان سرعت توپ و راستای رسیدن به شاه است؛ مثبت یعنی «به من نشانه رفته»، و همین کافی است.
جنگسالار پس از برگزیدن تهدید باید تصمیم بگیرد کجای ریل مورّبش بایستد. او مسیر کامل کمانه را حل نمیکند: نه ردیابی بازتاب، نه پیشبینی برخورد با دیوارها. موقعیت توپ را میگیرد، آن را گامی کوتاه در امتداد سرعت کنونیاش به جلو هُل میدهد (پیشبینی 0.12 ثانیهای) و آن نقطهٔ آینده را مستقیماً بر ریل تصویر میکند تا کسری هدف میان 0 و 1 به دست آید. 1
این پیشبینی عامدانه کمعمق است، و به همین دلیل است که میتوان هوش مصنوعی را شکست داد. چون تنها یکهشتم ثانیه جلو را میبیند و هرگز کمانه را پیشبینی نمیکند، توپی که قرار است از راه برخورد به دیوار برسد فریبش میدهد؛ او به همان جایی متعهد میشود که توپ اکنون به سویش نشانه رفته است. انسانی که شوتهایش را از لبههای آوردگاه کمانه میدهد دقیقاً همین نقطهٔ کور را به کار میگیرد. ماشین با یک سرِ سوزن آیندهنگری به اکنون واکنش نشان میدهد؛ او نقشه نمیکشد.
رایانه آیندهٔ توپ را محاسبه نمیکند. یکهشتم ثانیه به جلو خم میشود، سپرش را به جایی نشانه میرود که توپ در نبودِ هر مداخلهای آنجا میبود، و میگذارد هر چه مداخله میکند فرصت شما باشد.
هر سه درجهٔ دشواری یک بدنهٔ کد کاملاً یکسان دارند. آنچه میان آسان، متوسط و سخت تغییر میکند، سطری از چهار عدد تنظیمی است. 1 لرزش، خطایی تصادفی به هدف سپر میافزاید، چنانکه نشانهگیری یک جنگسالار آسان نزدیک به یکپنجم ریلش پرسه میزند حال آنکه جنگسالار سخت تقریباً دقیق است. فاصلهٔ واکنش تعیین میکند توپ باید چقدر نزدیک شود تا جنگسالار به خود زحمت ردیابیاش را بدهد؛ جنگسالار آسان هر چیزی را که بیش از 420 واحد از شاهش دور باشد نادیده میگیرد، که اندکی کمتر از نصف پهنای تخته است؛ جنگسالار سخت در سراسر آوردگاه ردیابی میکند. شانس گرفتن، احتمال آن است که توپی را که به اندازهٔ کافی به سپرش نزدیک شود بقاپد. و نشانهگیری به رقیبان یک کلید واحد است که تعیین میکند آیا جنگسالار اصلاً حمله میکند یا نه.
| پیچ تنظیم | آسان | متوسط | سخت |
|---|---|---|---|
| لرزش نشانهگیری (کسری از ریل) | 0.18 | 0.07 | 0.015 |
| فاصلهٔ واکنش (واحد) | 420 | 700 | 2,000 |
| شانس گرفتن | 0% | 25% | 55% |
| رقیبان را نشانه میگیرد؟ | خیر | خیر | بله |
هر چهار مقدار از یک جدول تنظیم کوچک در دل موتور بازی Bulwark میآیند، یک سطر برای هر رده. فاصلهٔ واکنش در ردهٔ سخت برابر دو برابر پهنای آوردگاه نوشته شده است، و آوردگاه مربعی 1,000 واحدی است، پس 2,000 واحد یعنی «همیشه در حال ردیابی». 1
جنگسالار آسان یا متوسط هرگز به قصد ضربه زدن توپ را نمیگیرد. جنگسالار آسان اصلاً توپی نمیگیرد و جنگسالار متوسط تنها گاهبهگاه، آن هم بیآنکه نقشهای داشته باشد که پس از بهدست آوردن توپ با آن چه کند. کلید نشانهگیری به رقیبان را بزنید، همان چیزی که تنها ردهٔ سخت انجامش میدهد، و هوش مصنوعی دیگر صرفاً واکنشی نیست. وقتی توپ را در دست دارد، به آنسوی تخته نگاه میکند، زخمیترین رقیب را برمیگزیند (آنکه کمترین آجر برایش مانده) و همانجا را نشانه میرود. 1
این کار را بدون هیچ مسیریابی انجام میدهد. یازده موقعیت نامزد را در امتداد ریل خودش نمونهبرداری میکند و برای هر کدام ریاضیاتِ رهاسازیِ موتور بازی را بازتولید میکند تا ببیند آن شوت در چه راستایی پرواز میکرد، سپس موقعیتی را نگه میدارد که بردار خروجیاش مستقیمتر از همه به سوی قربانی برگزیده نشانه رفته باشد. 1 این زورِ خام بر روی مشتی گزینه است و نه زیرکی، اما در آن شکیباست: جنگسالار پس از برگزیدن جا، توپ را نگه میدارد تا سپر واقعاً به آنجا بلغزد، و تنها وقتی رهایش میکند که رسیده باشد یا آنقدر نگهش داشته باشد که انتظار بیشتر از ارزش خودِ شوت گرانتر تمام شود. این نیت بهروشنی راهبردی است؛ درست همان کاری که انسانی در پی شکاری آسان میکرد. برگزیدن هدف بر پایهٔ «کمترین آجر»، سه مدافع مستقل را به سوی کسی نشانه میرود که پیشاپیش در حال باختن است.
هر چیز «تصادفی»ای که یک جنگسالار انجام میدهد، لرزش نشانهگیریاش، شیر یا خطِ گرفتن یا نگرفتن، از مولدی بذردار بیرون کشیده میشود؛ روالی فشرده به نام mulberry32 که یک عدد آغازین را به جریانی بلند و تکرارپذیر از مقادیر شبهتصادفی بدل میکند. 2 همان بذر را به آن بدهید و تا ابد همان دنباله را تولید میکند. یک مسابقهٔ زنده بذرش را از ساعت میگیرد، پس هیچ دو بازیای یکسان آغاز نمیشوند؛ اما همان بذر را که بازگردانید، مسابقه دقیقاً دوباره اجرا میشود: همان زاویههای پرتاب، همان لرزشها، همان گرفتنها.
آن قطعیت جزئیاتی تزئینی نیست. همان است که بازی را آزمونپذیر میکند، مجموعهٔ آزمونهای بازی مسابقههای کاملِ رایانه در برابر رایانه را از بذری ثابت اجرا میکند و هر بار همان نتیجه را انتظار دارد، و همان است که اجازه میدهد تمام شبیهسازی، از جمله مکاننمای مولد، در JSON بستهبندی و بازسازی شود، چنانکه در بازی آنلاین میزبان میتواند وضعیتش را جاری کند و هر یک از بازیکنان دیگر تختهای یکسان بازبسازد. جنگسالارها زنده به نظر میرسند چون خطاهایشان انسانی مینماید؛ اما در زیرِ پوست، «غریزه»هایشان بازگشتی حسابی و کوتاه است که هر کسی میتواند تا آغازش به عقب بپیچد. معلوم میشود ماشینی که از یک قلعه نگهبانی میکند، تنها به چند عدد و جریانی از بختِ بازتولیدپذیر نیاز دارد. 2