برنامه آلفاگو که بالاخره انسان رو شکست داد، چطور کار میکنه؟ (قسمت اول)

برنامه آلفاگو که بالاخره انسان رو شکست داد، چطور کار میکنه؟ (قسمت اول)

در فاصله بین ۹ تا ۱۵ مارس سال ۲۰۱۶، یک مسابقه گو برگزار شد که شامل ۵ بازی بود بین «لی سِدُل»، دومین نفر در فهرست بهترین های گو در دنیا، و «آلفاگو»، یک برنامه کامپیوتری که توسط شرکت Deepmind طراحی شده که از زیرمجموعه های Google به شماره میره. جایزه مسابقه یک ملیون دلار بود که توسط گوگل پرداخت میشد. آلفاگو این مسابقه رو ۴ بر ۱ برد. این نوشته بر اساس ترجمه ای از این مقاله است، و قراره به زبان نسبتن ساده ای توضیح بده که آلفاگو چطور تونست اولین برنامه کامپیوتری ای باشه که یک قهرمان گو در این سطح رو شکست میده. (چون مقاله اصلی طولانیه و ترجمه هم زمان میبره، من این مطلب رو در چند قسمت میذارم.)

مقایسه گو با شطرنج

گو و شطرنج هردو بازی های بسیار محبوبی هستند که از نظرهایی شباهت دارند: هردو بازی های دو نفره ای هستند که در اون بازیکن ها به ترتیب نوبتشون رو انجام میدن، و در هیچ کدوم هم فرایند تصادفی ای وجود نداره (مثلن مثل تاس در تخته نرد).

گری کاسپاروف، قهرمان شطرنج جهان، در سال ۱۹۹۷ مغلوب برنامه کامپیوتری «دیپ بلو»(Deep blue) شد. این برنامه توسط شرکت آی بی ام نوشته شده بود و روی یک سوپرکامپیوتر اجرا میشد. این اولین بار بود که یک قهرمان شطرنج دنیا در یک مسابقه رسمی مغلوب کامپیوتر میشد. در نگاه اول میشه باخت لی سدل در مقابل آلفاگو رو با باخت گری کاسپاروف در مقابل دیپ بلو مقایسه کرد. فقط با این تفاوت که برد آلفاگو حدودن بیست سال دیرتر اتفاق افتاده. خب  اصلن اهمیت موضوع چیه؟ برای درک این موضوع باید به تفاوت بین شطرنج و گو توجه کنیم.

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

ولی با وجود اینکه قوانین بازی گو ممکنه به نظر ساده تر از شطرنج برسه، پیچیدگی (complexity)  بازی گو بیشتر از شطرنجه. در گو نسبت به شطرنج، در هر نوبت بازی، یک بازیکن باید از بین تعداد بیشتری حالت ممکن حرکت خودش رو انتخاب کنه. به علاوه بازی گو معمولن طولانی تره. به صورت میانگین یک بازی گو حدود 150 حرکت طول میکشه که این عدد در شطرنج حدود 80 حرکته.

به این دلایل، تعداد بازیهای متفاوت گو حدود 10 به توان 761 تخمین زده میشه، و این عدد برای شطرنج حدود 10 به توان 120 بازی متفاوته. هردوی این عددها اعداد خیلی بزرگی هستند. تعداد تمام اتمهای موجود در دنیا حدود 10 به توان 80 تخمین زده میشه. با این حال گو خیلی پیچیده تره و به همین دلیل هم تا به حال نوشتن یک برنامه قدرتمند گو اینقدر سخت بوده.

چرا نوشتن برنامه کامپیوتری برای گو اینقدر مشکله؟

برای اینکه درک بهتری از نحوه کارکرد برنامه های کامپیوتریِ بازیهایی مثل شطرنج و گو داشته باشیم، خوبه که اول با مفهوم «درخت بازی» (Game tree) آشنا بشیم. درخت بازی یک ساختار ریاضیه که از «راس ها» و «یالها»  تشکیل شده. یالها مثل شاخه های درخت میموند و راسها محل اتصال این شاخه ها به هم هستند. اولین راس درخت رو ریشه میگن. درخت بازی، حالتهای مختلف ممکن در بازی رو به صورت راسهای درخت نشون میده و یالها (یا شاخه ها) انتخابهای بازیکنها هستند. ریشه درخت وضیعت شروع بازی رو نشون میده. اولین راسهایی که به ریشه متصل هستند حالت های ممکن بازی رو بعد از اولین حرکت نشون میدن، و همینطور تا آخر…برای بازیهای ساده ای مثل تیک تاک تو (بعضی جاها تو ایران بهش میگن سه به سه قطار) میشه تمام درخت بازی رو تو یک تصویر رسم کرد:

برای بازیهای پیچیده تر، رسم درخت بازی به سرعت غیرممکن میشه. درخت بازی شطرنج حدود 10 به توان 120 راس داره که نگهداری اطلاعاتش روی هر کامپیوتری غیر ممکنه (یادتون هست که تعداد اتمهای دنیا رو حدود 10 به توان 80 تقریب میزنن).

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

خوب حالا برنامه Deep blue چطور کاسپاروف رو شکست داد؟ به صورت کلی، برنامه اول  درخت بازی رو تا جایی که براش امکان داره جستجو میکنه (معمولن شش یا هفت مرحله یا کمی بیشتر جلو میره). بعد توسط یک «تابع ارزیابی» (evaluation function) کیفیت صفحه بازی رو در اون راسها  میسنجه و به هر راس عددی نسبت میده که نشون دهنده کیفیت وضعیت بازی برای کامپیوتر در اون شرایط صفحه است. بعد خیلی ساده برنامه بر اساس این اعداد حرکتی رو انتخاب میکنه که کمترین ضرر ممکن رو بعد از اون شش یا هفت حرکت داشته باشه. کار تابع ارزیابی برای اینکه تشخیص بده هر وضیعت صفحه به نفع کدوم یکی از بازیکنهاست وقتی به به پایان بازی نزدیک میشیم ساده تره. نزدیک به انتهای بازی راحت تر میشه گفت که کدوم بازیکن داره میبره، ولی در ابتدای بازی تشخیص اینکه وضیعت صفحه بازی به نفع کدوم بازیکنه کار خیلی سخت تریه.

بنابراین دو پارامتر کیفیت یک برنامه هوش مصنوعی رو تعیین میکنن:

  • قدرت پردازش کامپیوتر، هرچی قدرت کامپیوتر بیشتر باشه یعنی میتونه در یک زمان محدود تا مراحل بیشتری رو در درخت جستجو کنه (تعداد حرکتهای بیشتری رو جلو بره) که این باعث میشه تابع ارزیابی بتونه تخمین بهتری از وضعیت صفحه بدست بده.
  • کیفیت تابع ارزیابی (اینکه چقدر خوب میتونه تشخیص بده وضعیت صفحه به نفع کدوم بازیکنه)

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

روش جستجوی مونت کارلو (Monte Carlo Tree Seach) به کمک می آید

روش جستجوی مونت کارلو، یک روش دیگه برای جستجوی بهترین حرکت در درخت بازیه. روش به این شکله که کامپیوتر برای خودش تعداد زیادی بازی رو به شکل های مختلف از وضعیت فعلی صفحه شبیه سازی میکنه و اینقدر بازی رو جلو میبره  تا وقتی یکی از دو طرف برنده بشن. کامپیوتر این کار رو تعداد بارهای زیادی تکرار میکنه. دفعات اول  کامپیوتر همه حرکتها رو برای هر دو بازیکن تصادفی انتخاب میکنه. ولی بعد حساب اینو نگه میداره که کدوم حرکتها دفعات بیشتری باعث بردن کامپیوتر شدن و در بازیهای بعدی از اونها بیشتر استفاده میکنه. در حقیقت این روش تلاش میکنه به  جای بررسی تمام حالت های ممکن بازی، به صورت آماری بهترین حرکت رو پیدا کنه. یک نکته خیلی جالب روش مونت کارلو اینه که به هیچ دانشی در مورد استراتژی های بازی احتیاج نداره. برنامه Deep Blue الگوریتم خیلی پیچیده ای داشت که تشخیص بده کیفیت کدوم وضعیت صفحه برای یک بازیکن بهتره، ولی روش مونت کارلو فقط بازیها رو ادامه میده تا به آخر برسن و یه مقدار هم حساب کتاب حرکتها رو نگه میداره. در عوض روش مونت کارلو برای اینکه نتیجه بده باید تعداد خیلی زیادی بار بازی رو برای خودش شبیه سازی کنه تا به نتیجه برسه کدوم حرکت بهتره. تا به حال تمامی قویترین برنامه های گو بر اساس روش مونت کارلو طراحی شده بودن، که البته همراه بودن با راهنماهایی برای شرایط خاص صفحه که توسط بازیکنهای حرفه ای گو به برنامه اضافه شده بودن، تا برنامه در اون شرایط خاص به جای جستجو کردن  بهترین حرکت، از اون حرکات توصیه شده استفاده کنه.

(پایان قسمت اول)

منبع: https://www.tastehit.com/blog/google-deepmind-alphago-how-it-works/

 

راهنمای بازی: Dao

راهنمای بازی: Dao

Dao یک بازی کارتی ساده است که من به تازگی به دستم رسیده. بازی تنها از تعدادی کارت تشکیل شده و برای همین ساختش خیلی ساده است. کافیه این فایل رو پرینت کنید و بعد کارتها رو ببرید (و البته بهتره قبلش کاغذهای پرینت شده رو به مقوای نازک بچسبونید که کارتها خیلی نازک نباشن).

بازی برای ۲ تا ۶ نفر مناسبه و زمان یک دور بازی حدود ۱۵ دقیقه است. ایندفعه بازی رو به کمک عکسهایی که از بازی گرفتم توضیح میدم:

بازی از ۶۰ کارت تشکیل شده. هر کارت یک علامت خاص و یک عدد داره. در کل ۵ تا علامت وجود داره (درخت، آب، کوه، آتش، زنجیر) و اعداد روی کارتها هم میتونن بین صفر تا چهار باشن. در تصویر زیر میتونین نمونه هایی از کارتها رو ببینید:

 

برای شروع بازی همه کارتها رو خوب بر بزنید و بعد دسته کارتها رو به صورت رو به پایین روی میز قرار بدید. بعد سه تا کارت رو به ترتیب بردارید و در کنار دسته کارتها در کنار هم در یک ردیف قرار بدید. مثل این شکل:

 

حالا آماده شروع بازی هستین. یک نفر رو انتخاب کنید که بازی رو شروع کنه و بعد به ترتیب به صورت ساعتگرد هر نفر نوبتش رو انجام میده. هر بازیکن در نوبتش میتونه فقط یکی از دو کار ممکن رو انجام بده. یا اولین کارت موجود در ردیف رو برداره، و یا یک کارت به ردیف اضافه کنه. اگه بازیکن تصمیم بگیره که اولین کارت موجود در ردیف رو برداره، خیلی ساده نزدیک ترین کارت به دسته کارتها رو برای خودش برمیداره (جلوی خودش میذاره) و بعد بقیه کارتها رو به دسته کارتها نزدیک میکنه تا جای خالی رو پر کنن. مثلن در شکل زیر بازیکن کارت «آتش با شماره یک» که در تصویر قبلی کنار دسته کارتها بوده برداشته و بقیه کارتها رو به سمت دسته کارتها جابجا کرده:

 

اگه بازیکن تصمیم بگیره بجای برداشتن یک کارت از ابتدای ردیف، یک کارت به انتهای ردیف اضافه کنه، باید کارت رویی دسته کارتها رو برداره و اونو در انتهای ردیف قرار بده. برای مثال د رادامه شکل قبلی، در شکل زیر بازیکن یک کارت از دسته کارتها برداشته (که کارت «آتش با شماره سه» بوده) و اونو در انتهای ردیف قرار داده:

 

ولی نکته مهم اینه که اگه بازیکنی که کارتی رو به انتهای ردیف اضافه میکنه، باعث بشه که مجموع اعداد در ردیف بیشتر از ۱۲ بشن، به اصطلاح «سوخته» و باید همه کارتهای موجود در ردیف رو (به همراه کارتی که تازه گذاشته بوده) برای خودش برداره و جلوی خودش قرار بده. مثلن در شکل زیر بازیکنی که کارت «زنجیر با شماره سه» رو در انتهای ردیف قرار میده باعث میشه که مجموع اعداد کارتها بیشتر از دوازده بشه و باید همه کارتها رو برداده:

 

عد از اینکه یک بازیکن سوخت، دوباره سه تا کارت از روی دسته کارتها برمیداریم و در یک ردیف قرار میدیم (درست مثل ابتدای بازی) و نوبت نفر بعدی خواهد بود. قانون مربوط به سوختن فقط یک استثنا داره. اگه کارتی که در انتهای ردیف قرار میگیره عددش با عدد کارت قبل از خودش برابر باشه، حتی اگه مجموع بیشتر از دوازده باشه، اون بازیکن نسوخته و کارتها رو برنمیداره. (در این حالت اگه نفر بعد هم تصمیم بگیره کارتی به ردیف اضافه کنه، تنها در حالتی نمیسوزه که  باز هم کارتی با عدد برابر با کارت قبلی بذاره). برای مثال در شکل زیر با اینکه کارت «زنجیر با شماره سه» باعث شده که مجموع بیشتر از ۱۲ بشه، ولی چون عدد قبلیش هم ۳ بوده، بازیکن کارتها رو برنمیداره:

 

بازی به همین شکل ادامه پیدا میکنه تا اینکه یا همه کارتهای دسته کارتها تموم بشن، و یا اینکه موقعی که برای شروع نوبت جدید میخوایم سه تا کارت جدید بذاریم، کارت کافی در دسته کارتها موجود نباشه. حالا بازیکن ها امتیازشون رو محاسبه میکنن. برای محاسبه امتیاز بازیکن ها کارتهای مربوط به هر علامت رو جدا میکنن. بعد هر بازیکن یک علامت رو انتخاب میکنه  که از اون علامت امتیاز مثبت بگیره. در این صورت مجموع تمام اعداد کارتهای با اون علامت رو جمع میکنه. بعد تعداد کارتهایی که از بقیه علامتها گرفته رو میشمره و از این عدد کم میکنه و این میشه امتیاز بازیکن. برای مثال در این شکل، این بازیکن تصمیم میگیره که امتیازش رو از علامت آتش بگیره. مجموع اعداد کارتهای آتش میشن ۸. این بازیکن شش کارت دیگه هم داره که علامت آتش ندارن. برای همین باید عدد ۶ رو از ۸ کم کنه که در نتیجه امتیازش میشه ۲.

وقتی همه بازیکن ها امتیازشون رو شمردن، بازیکن با بیشترین امتیاز برنده بازیه. امیدوارم از ساخت و بازی کردن این بازی لذت ببرید :)

راهنمای بازی: Go

راهنمای بازی: Go

گو (Go) یک بازی خیلی قدیمیه که از ساده ترین اجزای ممکن (یک صفحه خانه خانه، و مهره های دایره ای سیاه و سفید) و قوانین خیلی ساده (هدف شما در بازی اینه که گروههای حریفتون رو محاصره کنید و اجازه محاصره شدن گروههای خودتون رو به حریف ندید) تشکیل شده. برخلاف شطرنج که مهره ها در جریان بازی حذف میشن، بازی گو با یک صفحه خالی شروع میشه و مهره ها در جریان بازی به صفحه اضافه میشن و بازی به معنی واقعی کلمه روی صفحه «شکل میگیره». با این حال همین اجزا و قوانین ساده، پیچیده ترین حالت های تصمیم گیری رو در بین همه بازیهای ساخت بشر که بین مردم بازی میشن به وجود آورده.(اگه تعداد تمام ذرات زیراتمی موجود دردنیای شناخته شده رو داشته باشید، برای اینکه حدود تعداد بازیهای مختلف  ممکن گو رو بدست بیارید باید این عدد رو در یک ۱۰ که جلوش ۳۰۰ تا صفر گذاشتن ضرب کنید.). همین پیچیدگی شرایط بازی باعث شده که نوشتن یک برنامه کامپیوتری قدرتمند گو برای برنامه نویسان خیلی مشکل باشه.

اگرچه بازی گو به اندازه شطرنج در غرب محبوب نیست، ولی در شرق آسیا محبوبترین بازی به شمار میره. بیش از ۱۰۰ میلیون بازیکن فعال داره، روزنامه ها  و مجلات بسیاری فقط در مورد گو چاپ میشن و کانالهای تلویزیونی ۲۴ ساعته وجود داره که فقط بازیهای گو رو نشون میدن و بررسی میکنن.همون طور که اصطلاحات شطرنج در غرب وارد زبان و فرهنگ مردم شده (مثلن مات شدن)، در شرق آسیا هم حتی اونهایی که بازی گو رو بلد نیستن با بعضی از مفاهیم و اصطلاحاتش آشنا هستن.

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

بازی گو در ویکیپدیا

یک کتاب آموزش بازی گو

یک سایت مرجع خیلی خوب برای مطالب مربوط به بازی گو

آموزش گام به گام قوانین و تکنیکهای اولیه بازی گو

یک صفحه پر از معرفی منابع مختلف بازی گو

یک نرم افزار برای بازی گو

خوب، حالا این هم فیلم آموزش بازی که گفته بودم. البته فیلم خیلی ساده درست شده و ابتدایی ادیت شده، ولی فکر میکنم کار رو راه میندازه :)

 

 

تجربه‌های بازی در ایران (از خانه تا کافه)

تجربه‌های بازی در ایران (از خانه تا کافه)

(نوشته شده توسط شقایق)

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

برخورد شماره یک. Qwirkle

مثل همیشه که به ایران میریم، بخش بزرگی از چمدونهامون پرشده بود از جعبه‌های بازی و اسباب‌بازی که برای دوستان و خانواده سوغاتی می‌بریم. فقط امسال یه فرقی داشت: به جز بازی‌هایی که برای جوون‌ها و بچه‌ها بردیم، یه بازی هم برای پدر و مادرم بردیم. پدر و مادر من اهل بازی نبودند. فقط گاهی که ما اصرار می‌کردیم تو بعضی از پارتی‌گیم‌های ساده، به اصرار ما بازی می‌کردند. مادرم هم تا جایی که می‌تونست تلاش می‌کرد از زیر همون هم در بره. ولی امسال ما بازی Qwirkle رو بردیم و گفتیم که این رو برای خونه آوردیم و نه به طور خاص برادرزاده ام. همون اول مادرم از شکل کاشی‌های بازی خوشش اومد و با اشتیاق نشست که قوانین رو یاد بگیره. وقتی که بازی کردند، بیشتر علاقه‌مند شدند. طوری شده بود که مادرم صبح و عصر و شب پیشنهاد می‌داد که باهاش بازی کنیم. حتی وقتی ما داشتیم یه بازی دیگه می‌کردیم، می‌خواست زودتر تموم بشه که بریم با اون Qwirkle بازی کنیم.
بعد از این که ما خونه‌شون رو ترک کردیم، هر شب بعد از شام تا وقت خواب دو نفری دو سه دست بازی می‌کنند. تا حدی که امشب که به‌شون زنگ زدم، گوشی رو دیر برداشتند و پدرم گفت: ببخشید، گرم بازی بودیم! بعد از مدتی که با پدرم صحبت کردم، پرسیدم: مادر نیست؟ گفت چرا ولی سخت تو فکره که چطور یه شیش‌تایی بسازه!
نتیجه‌گیری اخلاقی:Qwirkle بازی ساده‌‌ و جذابیه که می‌تونه همه افراد خانواده رو، از رده‌های مختلف سنی، دور هم جمع کنه.

برخورد شماره دو. Settlers of Catan

یکی از بازیهایی که برای برادرزاده ۱۱ ساله‌ام بردیم، نسخه اولیه بازی Settlers of Catan بود. بازی رو راحت یادگرفت و خیلی هم خوشش اومد. در نتیجه دم به ساعت ازمون میخواست که باهاش بازی کنیم. ولی …
بازی این طوره که یه سری منابع برای محصولات مختلف هست که روشون از ۱ تا ۱۲ شماره‌گذاری شده. فقط هیچ منبعی با شماره ۷ وجود نداره. هر کسی تو نوبتش دو تاس میندازه و بسته به جمع عدد دو تاس یه سری محصول مربوط به اون عدد رو به دست میاره. وقتی دو تاس شیش تایی رو بندازید، احتمال به دست آوردن عدد ۷ از هر عددی بیشتره (حساب کتابش با خودتون). ولی همونطور که گفتم، با آوردن عدد ۷ هیچ محصولی به دست نمیارید تو این بازی. چون هیچ منبعی با شماره ۷ نیست. در عوض میتونید آقا دزده رو حرکت بدید که بره یکی از بازیکنها رو غارت کنه. البته از غارت اون چیز زیادی هم دست شما رو نمیگیره. این طوری بود که من حوصله‌م سر رفت و بر ضد دزد شورش کردم و قرار گذاشتیم که دیگه دزد با عدد ۷ تکون نخوره و به جاش هرکی ۷ آورد، یه دونه محصول به دلخواه برداره. من این طوری بیشتر دوست داشتم ولی برادرزاده‌ام همچنان دوست داشت که با دزد رو هم بریزه.
نتیجه‌گیری اخلاقی: بازی برای نوجوانها هم مناسبه و میتونه خیلی جذاب باشه. ولی اگه بازیکن‌های باشخصیتی مثل من تو بازی هستند که ترجیح میدن خودشون سود کنند به جای این که فقط باعث ضرر دیگران بشن، میتونید همین تغییری رو که ما دادیدم رو تو بازیتون اعمال کنید. راستش مسئله با شخصیتی شوخی بود. من مشکلی ندارم تو بازی، بقیه بازیکنها رو له کنم ولی دزد جلوی پیشروی بازی رو میگیره، چون هی همه ۷ میارن و یکی منابعی که جمع کرده رو از دست میده. در نتیجه: بازی یه طور بی‌لذتی طولانی میشه.

برخورد شماره ۳. کافه برد

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

از ساعت پنج، پنج و نیم کم کم بقیه میزها هم پرشد و بقیه کارکنان کافه هم رسیدند. با این که خودمون داشتیم بازی میکردیم ولی حواسم به میز بقلی هم بود که میخواستند یه بازی انتخاب کنند. از حرف زدنشون و نوع سوالهاشون میفهمیدم که مدت زیادی نیست که با دنیای بازی آشنا شدند. میدونید؟ به نظرم این خیلی خوب اومد. فهمیدم درسته که نود و نه درصد مشتریها به هدف بازی وارد میشن ولی اینطور نیست که همه‌شون جزو اون دسته کوچیک شدیدن علاقه‌مند باشند که بازی اگه تو ثریا هم باشه، برن سراغش. فهمیدم که آدمهای جدیدی هم دارن علاقه‌مند میشن. خریدن بازی تو ایران کار ساده‌ای نیست و میتونه خیلی هم گرون دربیاد. کافه برد این امکان رو میده که با پرداخت مبلغی بازیهای مختلفی رو امتحان کنید که شاید امکان خرید همه‌شون رو نداشته باشید، یا حتی مطمئن نباشید که آیا ممکنه ازش خوشتون بیاد.
این طور نیست که کافه بردیها فقط تو تهیه مجموعه بازیهاشون، طراحی سایت یا ساخت ویدیو حرفه‌ای باشند. به کیفیت خوردنیها و آشامیدنیهاشون و نظر مشتریها نسبت به اونها اهمیت میدن. به نظر من که چای ماسالا و شکلات داغ شون خیلی شیک بود. این که شکر کم مصرف میکنند، منو خیلی راضی کرد. وقتی شما غروب بعد از کار به جای دویدن میرید کافه، دیگه اقلن باید در مصرف شکر صرفه جویی کنید 😉
از صمیم قلب برای کافه برد آرزوی موفقیت میکنم که هم خودشون به همین خوبی به کارشون ادامه بدن، و هم موفقیتشون باعث شه که دیگرانی هم بخوان این تجربه رو تکرار کنند. به نظر من اینطور کافه‌ها برای گسترش فرهنگ بازی خیلی مهمه. اینطوری بازی میتونه تبدیل بشه به یه فعالیت سرگرم کننده بعد از کار. مثلن بعد از یه روز کاری، آدمها برن گوشه دنج یه کافه، با دوستاشون بازی کنند و یه چیزی بنوشند و خستگی کار روزانه رو فراموش کنند.
اون وقتها که ما دانشجوی لیسانس بودیم، تهران انقدر کافه نداشت. بعدنها تعداد کافه‌ها یه کم بیشتر شد، از دوستی که رستورانهای زیادی میشناخت پرسیدیم که کافه خوب هم میشناسه. جواب داد: «از شما دوتا (یعنی من و مسعود) گذشته، میخواین برین کافه چی کار؟». اون وقت میخواستیم بریم قهوه و کیک خوشمزه بخوریم. ولی تصور کنید که میتونستم بهش جواب بدم که میخوایم بریم یه بازی جالب کنیم. تصور کنید آدم به دوستش بگه که کافه فلان بازی بهمان رو آورده و بریم دور هم امتحانش کنیم. من این تجربه رو نداشتم، امیدوارم آينده‌گان داشته باشند.

راهنمای بازی: رادار برای خون آشام (Vampire Radar)

راهنمای بازی: رادار برای خون آشام (Vampire Radar)

بازی «رادار برای خون آشام» یک بازی تیمیه که در اون یک نفر نقش خون آشام رو بازی میکنه و بقیه بازیکنها نقش شکارچیان خون آشام رو که تلاش میکنن به کمک هم خون آشام رو نابود کنن.

2015-10-24 14.13.58

راهنمای ساخت:

بعد از اینکه این فایل رو دانلود کردید و پرینت گرفتید، اون رو روی یک مقوا یا ابر فشرده (فوم) بچسبوند و قطعات بازی رو ببرید. قطعات بازی مربع های تشکیل دهنده صفحه بازی و ژتون های گلوله و خفاش هستند. به جز اینها، به دوازده مهره برای نشون دادن شکارچی ها احتیاج دارید: در سه رنگ و از هر رنگ چهارتا. میتونید برای ساخت مهره از سنگهای کوچیک رنگی، لگو، یا  دکمه استفاده کنید. (راه ساده و سریعی که من گاهی استفاده میکنم تکه کردن یک پاک کن سفید به قطعات مکعب شکل و رنگ کردن قطعات به صورت دلخواهه).

راهنمای بازی:

بازی برای دو تا چهار نفره. (بهترین حالت بازی چهارنفره است). من قوانین بازی رو برای سه و چهار بازیکن توضیح میدم. قوانین خاص مربوط به دو نفره بازی کردن این بازی در راهنمای انگلیسی هست، میتونید به اونجا مراجعه کنید. در ابتدای بازی یک نفر نقش خون آشام رو به عهده میگیره و بقیه بازیکنها نقش شکارچی ها رو به عهده میگیرن. شکارچیان در صورتی برنده میشن که خون آشام تمام ژتون های خفاش خودش رو که نشون دهنده میزان جونش هست از دست بده و کشته بشه (حتی اگه بعضی از شکارچیها کشته شده باشن، میتونن همچنان در صورتی که خون آشام کشته بشه برنده بشن) . خون آشام در دو حالت میتونه برنده بازی بشه: یا اینکه همه شکارچیها کشته بشن. یا اینکه همه گلوله های موجود در بازی مصرف شده باشن و شکارچی ها هنوز برنده نشده باشن.

آماده سازی بازی:

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

2

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

3 4

بعد هر شکارچی تعدادی از ژتون های گلوله باقیمونده رو برمیداره. اگه دو شکارچی در بازی هستن هر کدوم ۳ ژتون، و اگه سه شکارچی هستن هرکدوم ۲ ژتون برمیدارن. خون آشام هم ۴ ژتون خفاش باقیمونده رو برمیداره. خون آشام در طول بازی از یک کاغذ و قلم استفاده میکنه که کد مربوط به محل خودش رو روی اون مینویسه. نوشته های این کاغذ باید از شکارچی ها مخفی بمونه. اولین کاری که باید خون آشام بکنه اینه که محل شروع حرکت خودش رو بنویسه (کد مربوط به محل که روی مربع ها نوشته شدن). این محل باید یکی از ۱۶ خونه وسطی بازی باشه (نمیتونه یکی از خونه های کناری باشه).

نحوه بازی:

همه بازیکن ها به ترتیب و به صورت ساعتگرد نوبت خودشون رو انجام میدن، تا زمانیکه یا خون آشام و یا شکارچی ها برنده بشن. اولین بازیکنی که بازی رو شروع میکنه بازیکن سمت چپ خون آشامه.

نوبت شکارچی ها: هر بازیکن شکارچی در نوبت خودش میتونه ۲ بار مهره های شکارچی رنگ خودش رو فعال کنه. با هر بار فعال کردن یک مهره، اون مهره میتونه یا حرکت کنه و یا شلیک کنه. پس یک شکارچی میتونه یک مهره رو دوبار فعال کنه، یا دو مهره مختلف رو هر کدوم یک بار فعال کنه. مثلن میتونه یک مهره رو یک بار حرکت بده و با یک مهره دیگه شلیک کنه. برای حرکت دادن یک مهره اون رو به صورت افقی یا عمودی به خونه کناری خودش منتقل کنید. دقت کنید که هیچ مهره ای در بازی نمیتونه از دیوار بگذره. اگه مهره شکارچی بعد از حرکت وارد خونه ای شده که در اون ژتون گلوله باشه، اون شکارچی میتونه ژتون گلوله رو برای خودش برداره. اگه مهره شکارچی بعد از حرکت وارد خونه ای بشه که علامت رادار داره، بلافاصله از قدرت رادار استفاده میکنه. (دقت کنید که برای استفاده از قدرت رادار حتمن مهره باید وارد اون خونه بشه و فقط با بودن در اون خونه نمیتونید از رادار استفاده کنید). استفاده از قدرت رادار به این صورته که خون آشام باید فاصله محل فعلیش رو تا محل رادار اعلام کنه. فاصله به صورت تعداد حرکتهای افقی و عمودی که بین اون دو خونه است حساب میشه (بدون لحاظ دیوارها). در شکل زیر نحوه محاسبه فاصله خونه های مختلف تا محل رادار رو میبینید.( اگر محل رادار در خانه با عدد صفر باشه، اعداد نشون میدن که اگه خون آشام روی هر کدوم از مربع ها باشه چه عددی رو باید اعلام کنه).

1

برای شلیک توسط یک مهره، مهره ای که میخواید با اون شلیک کنید رو نشون بدید  و بعد یکی از چهارجهتی که میشه شلیک کرد رو مشخص کنید. اگر خون آشام در هر خونه ای در مسیر گلوله باشه، اعلام میکنه که تیر خورده و یکی از ژتونهای خفاش خودش رو از دست میده. در غیر اینصورت اعلام میکنه که اتفاقی نیفتاده. اگر گلوله به خون آشام برخورد کنه و خون آشام آخرین ژتون خفاش خودش رو از دست بده، خون آشام کشته میشه و شکارچی ها پیروز میشن. دقت کنید که گلوله از دیوار نمیتونه رد بشه. (اگر خون آشام در همون خونه مهره شلیک کننده باشه، باز هم گلوله بهش برخورد میکنه). در شکل زیر میتونید مثالی از شلیک توسط یک مهره شکارچی رو ببینید.

5

بعد از اینکه یک شکارچی دو بار مهره های خودش رو فعال کرد نوبت نفر بعد به صورت ساعتگرده. اگر نفر بعدی هم شکارچی باشه به همین صورت نوبتش رو انجام میده. اگر نفر بعدی خون آشام باشه نوبتش رو به این صورت انجام میده:

نوبت خون آشام : خون آشام در نوبت خودش میتونه تا حداکثر دوبار «حرکت معمولی» انجام بده. حرکت معمولی به این صورته که خون آشام به صورت افقی یا عمودی به خونه مجاورش حرکت میکنه. توجه کنید که خون آشام مهره ای در صفحه نداره و حرکت کردنش به این صورته که بازیکنی که نقش خون آشام رو داره باید آدرس محل جدیدش رو در کاغد بنویسه. به جز انجام حرکت معمولی، خون آشام میتونه به هر تعداد بار که بخواد «حمله» کنه، و یا «درمان» کنه. برای حمله کردن خون آشام یک مهره شکارچی که یا در همون خونه خون آشام قرار داره و یا در خونه مجاورش (افقی یا عمودی) هست رو در نظر میگیره، به اونجا حرکت میکنه و بعد اون مهره شکارچی رو از صفحه خارج میکنه. توجه کنید که حرکتی که خون آشام برای حمله انجام میده جزو دو حرکت معمولیش به حساب نمیاد. برای درمان، خون آشام یک ژتون خفاش که یا در همون خونه خون آشام و یا در خونه مجاورش (افقی یا عمودی) هست رو در نظر میگیره، به اونجا حرکت میکنه و بعد اون ژتون خفاش رو از صفحه خارج میکنه. باز هم توجه کنید که حرکتی که خون آشام برای درمان انجام میده جزو دو حرکت معمولیش به حساب نمیاد. خون آشام میتونه به انجام دادن حمله، درمان، و حرکت معمولی تا زمانی که بخواد ادامه بده. ولی هر وقت خون آشام دومین حرکت معمولیش رو انجام داد باید همونجا نوبتش رو تموم کنه. (بعد از دومین حرکت معمولی نمیتونه دیگه حمله یا درمان کنه). پس برای مثال، خون آشام میتونه اول یک درمان همراه با حرکت انجام بده. بعد یک حرکت معمولی انجام بده، بعد یک حمله همراه با حرکت داشته باشه، بعد یک حمله بدون حرکت (در همون محل خودش) داشته باشه، و در آخر هم یک حرکت معمولی انجام بده. بازیکنی که نقش خون آشام رو بازی میکنه نمیگه که دقیقن داره از کجا به کجا حرکت میکنه یا اینکه چندتا از حرکتهای مجاز خودش رو انجام داده. فقط محل مربوط به حرکتهاش رو به ترتیب روی کاغذش یادداشت میکنه و اگر حمله ای کرد مهره شکارچی رو از صفحه برمیداره، و اگر درمان کرد ژتون خفاش رو از صفحه برمیداره.

چند نکته مهم:

  • وقتی همه مهره های یک شکارچی کشته بشن، همه گلوله های مونده اون شکارچی از بازی خارج میشن و قابل استفاده توسط بقیه شکارچی ها نیستن.
  • خون آشام بازی رو با ۴ تا ژتون خفاش شروع میکنه و حداکثر تعداد ژتون خفاشی که خون آشام میتونه در بازی داشته باشه در بازی 2 و 3 نفره چهار ژتون، و در بازی 4 نفره پنج ژتونه. اگر خون آشام به اندازه حداکثر ظرفیتش ژتون داشته باشه و بخواد درمان کنه، ژتونی که برمیداره از بازی خارج میشه.
  • گلوله های شکارچی ها و ژتون های خون آشام باید همیشه برای همه قابل دیدن و شمرده شدن باشن.

بازی به این صورت ادامه پیدا میکنه تا اینکه یا یا شکارچی ها و یا خون آشام برنده بشن. امیدوارم بازی رو بسازید و از اون لذت ببرید. اگر سوالی داشتید در کامنت ها بپرسید تا جواب بدم.