دومین کارگاه تخصصی بازی نامه نویسی در ایران

دومین کارگاه تخصصی بازی ‌نا‌مه ‌نویسی ایران در بنیاد ملی بازی ‌های رایا‌نه‌ ای تشکیل می ‌شود. این کارگاه آموزشی به منظور بالا بردن سطح علمی بازی سازان و علاقه مندان به بازی ‌نامه ‌نویسی با موضوع: ”مقد‌‌‌مات بازی ‌نامه ‌نویسی و اشتراکات فیلم ‌نامه و بازی ‌نامه” دوشنبه 13 آبان ماه سال جاری از ساعت 16 الی 20 در سالن اجتماعات بنیاد ملی بازی ‌های رایانه‌ای برگزار می شود.

post

مراحل ساخت بازی کوهنورد

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


سخنران : فرهود فرمند

از مؤسسه تبیان در چهارمین جشنواره رسانه های دیجیتال
گزارش و تدوین : مریم ثابت قدم اصفهان

حقوق این گزارش برای سایت انیمیشن دیتا محفوظ است

اساس این محصول ، یک سری تبلیغات تلوزیونی بود که من از این ایده بعنوان طراحی کاراکتر استفاده کردم و خارج از محتوای تبلیغ ، کلاً داستان جدیدی را مطرح کردم.

من فکر می کنم ما در ادبیات فارسی از اساتید بزرگی برخورداریم و حال اگر بخواهیم بعنوان قصه گو برای نسل آینده خود سخن بگوییم ؛ باید از یک کاراکتر جدید نقل قول کنیم .
بخش Prototype از بهار 87 آغاز شد و سپس کار با انجین Game maker کلید خورد. کسانی که این انجین را می شناسند به خوبی می دانند که از قابلیت های ساده ای برخوردار است بطوری که شما قادر به گرفتن بازخورد نسبتاً خوبی از کار هستید. ما شهریور آن سال این طرح را ارائه دادیم ؛ اما مانند بسیاری از پروژه ها پاسخ ما تا شش الی هفت ماه بعد با تأخیر مواجه شد. دقیقاً زمانی که قصد توقف پروژه را داشتیم ؛ پاسخ قطعی به ما داده شد. اینچنین پروژه با نسخه اولیه Prototype آغاز شد.

اسکریپتی که برای خلق فضاها مورد استفاده قرار گرفت ؛ مبتنی بر محاسبات Collision بود تا چگونگی حرکت کاراکتر در این فضا و نوع Game play مشخص گردد.Collision به معنی برخورد است . در انجین ها و زبان های کد نویسی ، تمام اتفاقاتی (Event ) که در هر فریم ما بین اشیاء رخ می دهد ؛ به عنوان Collision مطرح می شوند.
سپس ما تصمیم گرفتیم تا از یک سری تست های ویژوال برای داشتن Reflection و سیستم های لایه ای برای تغییرات رنگ استفاده کنیم.
پیشنهاد من به کسانی که می خواهند از ایده خود اطمینان حاصل کنند ؛ این است که در بخش پیاده سازی پروژه حتماً به سراغ Prototype بروند.یعنی در هر شرایطی به این مبحث بها دهند. اینکه شما قادر باشید تا در حد توان Prototype ساختار کار خود را ارتقاء دهید ؛ شما را در ارائه یک چشم انداز کلی از انتهای پروژه یاری می رساند. حتی می توانید در خلال کار ، به ایده های اولیه خود نیز بازگردید و پایه اولیه را حفظ کنید. زیرا این طبیعی است که در حین انجام پروژه ، چه برای بهبود و چه برای رفع نواقص ، ایده های جدیدی به سراغ شما بیاید .در حقیقت ، Prototype به شما کمک می کند تا پایه داستان را در تمام مراحل حفظ کنید.

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

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

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

از آنجا که حرفه اصلی من ، تصویر سازی بود ؛ لذا همه چیز پروژه از تصویر شروع شد. من به تمام دوستان نیز پیشنهاد می کنم که پیش طرح هایی هر چند ساده از ایده های خود ترسیم کنند. گویی که می خواهند به کسی آدرس کروکی ارائه دهند.همانطور که در تصویر نیز ملاحظه می کنید ؛ اینچنین علاوه بر حرکات اصلی کاراکتر ، می توان به معرفی فضاهای بازی نیز پرداخت.

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

رابط کاربری از جمله بخش های دیگری است که می تواند چشم انداز مناسبی نسبت به اتفاقاتی که در بازی رخ می دهد ؛ مطرح کند. همانطور که ملاحظه می کنید کاراکتر اصلی در هر مرحله دستور جدیدی از شما می گیرد و شما با زدن یکی از جهات ، مسیر جدیدی بر روی دیوار تعیین می کنید.
چارت اصلی در Game play این است که لازم نیست شما وارد کوله پشتی شوید و مانند بازی Adventure ، ابزار خاصی را انتخاب کنید. این دقیقاً مستلزم صرف مدت زمانی طولانی است که ما در این بازی از آن پرهیز کرده ایم. لذا کاراکتر اصلی قادر به تشخیص ابزار است و تنها لازم است که شما به موقع و برحسب Time line بازی ، آن را در اختیار کاراکتر خود قرار دهید.

بخش دیگر به نام مستندات مربوط به مدیریت فنی به زبان انگلیسی موجود است. تأکید من به سازندگان بازی این است که تا جایی که امکان پذیر است در ارتقاء زبان انگلیسی خود بکوشند. زیرا بسیار مفید است تا در پی ارتقاء دانش خود از متون و کتب مورد نیازی که عمدتاً لاتین است ؛ بهره گیرید.
در اینجا من شرح وظایف بخش فنی را به زبان انگلیسی نوشته ام. یکی از نکات مهم در این بخش ، محدوده پروژه مورد نظر است. باید بدانیم که شرح وظایف در این پروژه چگونه است و از چه خروجی هایی برخوردار هستیم و یا اینکه کدام منابع ( Resource ) ضروری و کدامیک غیر ضروری هستند؟

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

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

مبحث دیگر در این میان ، حیات وحش است. ما سعی کردیم در این بازی قوانین حیات وحش را مد نظر قرار دهیم. بطوری که ما در این بازی حق کشتن و صدمه رساندن به هیچ موجودی را نداریم. این یک روند کلی است که در روند بازی کوهنورد رخ می دهد و تنها موجوداتی که حالتی تهاجمی دارند ؛ از بین می روند. بطور مثال ، در هر مرحله از بازی ، فصل مبارزه با بز کوهی به نحوی است که باید از کنار آن عبور کرد. اما در مورد عقرب ها اینچنین نیست و باید به دنبال شرایطی امن تر باشید و یا آن را نابود کنید.
بخش فنی پروژه مبتنی بر فناوری های موجود است. بسیاری از علاقه مندان به ساخت بازی به یک سری از انجین های آماده مراجعه می کنند تا فارغ از دغدغه های کدنویسی باشند. در پروژه کوهنورد نیز ما سعی کردیم از انجین معتبری استفاده کنیم و در این بین ، از ورژن 7 Game maker استفاده کردیم. یکی از مزیت های این انجین ، حالت Drag and Drop بخشی از دستورات آن است که برای افراد مبتدی می تواند بسیار سودمند باشد. گرچه برای بازی های قوی تر نیاز به دانش کد نویسی است.زبان این انجین GML است که زبان ساده شده ی C محسوب می شود. همچنین دسترسی به منابع از طریق فروم فعال آن به سادگی میسر است.
یکی از نکاتی که باید همواره مد نظر داشته باشید آن است که برای مطالعه انجین ها به سایت های مختلف نظیر Gamasutra و یا به وبلاگ و سایت های اساتید دانشگاه نیز مراجعه کنید و از تجربیات آنان بهره مند شوید.

کوهنوردی که در اینجا مشاهده می کنید دارای حرکت Free climbing است که در حقیقت بدون هیچگونه تجهیزاتی بر روی دیوار حرکت می کند. این می تواند یک ایده جدید در بازی کوهنورد بشمار آید. اینکه چه تجهیزات اولیه ای برای کاراکتر فراهم کنیم ؛ بسیار اهمیت دارد.

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

فارغ از نوع گرافیک باید در تلاش باشید تا بازی را ارائه دهید که برای کاربر جذاب بوده و حداقل تا مدتی او را پای سیستم نگاه دارد. بنابراین اعتقاد داریم اگر چه نمای بازی به ظاهر ساده است ؛ اما در هر چه باور پذیر شدن آن باید تلاش کنیم.
یکی از مشکلات در حین پروژه ، وجود معدود هنرمندان در یک پروژه دو بعدی بود . زیرا اغلب هنرمندان ترجیح می دهند در عرصه سه بعدی فعالیت کنند. و این یکی از دلایل به تأخیر افتادن زمان اتمام پروژه است. دلیل دوم این بود که هنرمندان توان کافی در اجرای فرایند اجرایی مورد درخواست را ندارند و اینچنین کار را نیمه رها می کنند.
ما یک سری فیچیرهای خاص داستان های کمیک استریپی را در بازی مد نظر داشتیم و آن ، Typography هجاها و صدا ها در بازی بود.بدین معنا که فرضا ً صدای برخی از حیوانات در داستان های کمیک استریپی به صورت متن نمایش داده می شود. اما متاسفانه به دلیل نیازمندی به سخت افزار از آن صرفنظر کردیم.
بخش هنری پروژه ، همانند بسیاری از پروژه های دیگر از پیش تولید شروع شد. ما به دنبال فضاهایی رفتیم که پیش از این ، در بخش پیش تولید معرفی شده بود . ما در این مرحله ، چشم اندازی از مناطق آب و هوایی و اقلیمی متفاوت ارائه می دهیم که در وهله نخست شاید شما را به یاد مناطق سیبری و یا صحرای کشورهای عربی بیاندازد.
ما این دغدغه را نداشتیم که بازی خود را به صورت دیداری نشان دهیم ؛ بلکه با حفظ سادگی ، در صدد ارائه کار با کیفیت قابل قبول بودیم.

اساس طراحی هنری در بخش پیش تولید آماده شد. سپس ما به سراغ مدل سازی و انیمیشن رفتیم. من برای اینکار برنامه Anime Studio را برگزیدم. این نرم افزار خروجی سریعی را در اختیار شما قرار داده و نیازمندی های بصری شما را به خوبی برآورده می سازد. یکی دیگر از مزیت های آن ، ویژگی Vector base آن است.این یکی از قابلیت های خوبی است که بدین طریق در اختیار شما قرار می گیرد تا در زمان تغییر اندازه تصاویر ، آزادی عمل اختیار کنید وحتی بتوانید از این کاراکتر ها ، خروجی HD همراه با روتوش بگیرید. همچنین با گرفتن خروجی فریم به فریم PNG ، آن ها را در بازی موبایل بکار برید. حتی می توانید به آن فیچرهای جدیدی برای تسهیل فرایند انیمیشن بیافزایید . نسخه جدید آن دارای Physic نیز می باشد که روابط میان اشیاء را قابل انیمیت می سازد.
البته من اعتقادی ندارم که همه رخدادها در یک نرم ا فزار خاص اتفاق می افتد. سفارش من در بخش انیمشین آن است که تمام اتفاقاتی که قرار است در یک نرم افزار اجراء شوند ؛ مبتنی بر آن است که پیش از این بر روی کاغذ ثبت شده باشند. لازم نیست این طراحی ها خیلی دقیق باشند ؛ اما توجه کنید که Map کار را به زیبایی روی کاغذ آورید و سپس برای اجرای آن به سراغ یک نرم افزار بروید. کسانی که فی البداهه از یک نرم افزار استفاده می کنند ؛ اگرچه نمی توان به نادرستی کارشان اذعان داشت ؛ اما مسلماً به خروجی مد نظر خود دست نمی یابند.
اگر دقت کنید ، در زمان گرفتن خروجی PNG ، کاراکتر دارای یک بک گراند تک رنگ است که به صورت یک لایه شیشه ای به فرمت PNG ذخیره می شود. سپس شما می توانید بدون نیاز به برش در بک گراندی که در حال حرکت است ؛ از آن استفاده کنید.
مزیت خروجی PNG این است که لایه ی آلفای قابل حذف بعنوان مثال همین بک گراند شکلاتی و خاکستری رنگ پشت کاراکتر ، بطور خودکار حذف می شوند. در حالی که اگر خروجی با فرمت JPEG ذخیره می شد ؛ حتی در صورت کیفیت مناسب تصویر ، باز هم همانند فرمت PNG نبود. لذا PNG یکی از فرمت های خوب و متداولی است که هم اکنون در اکثر بازی های رایانه ای مورد استفاده قرار می گیرد.

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

بخش فضا سازی مراحل ، فارغ از بعد هنری دارای بعد فنی نیز می باشد که باید پیاده سازی شود. ما از یک ساختار چند لایه ای در اینجا استفاده کرده ایم. در حقیقت لایه های بک گراند بطور موازی چیده می شوند و شما در تغییر موقعیت ها می توانید سرخوردن این لایه ها را متناسب با عمق میدان دید دوربین مشاهده کنید. ما از چنین فیچری در انجین Game maker برخوردار نبودیم . زیرا این ابزار تنها لایه هایی را در اختیار شما قرار می داد که جابجایی آنها نسبت به یکدیگر در یک فضای خاص تعریف نشده بود.
خوشبختانه با دسترسی به یک سری توابع و هماهنگی آنها طی برنامه نویسی که در بازی تحقق یافت ؛ توانستیم به این قابلیت دست یابیم ؛ بطوری که در هر مرحله متناسب با ترکیب بندی خاص آن مرحله و تعداد لایه های متغیر آن ، فضا و چشم انداز کلی مرحله را می سازیم. و این یکی از اتفاقات خوب این پروژه بشمار می آید.
البته این فیچر به صورت Optional وجود دارد که شما می توانید از این امکان یا بهره برده و یا نبرید. این انتخاب به نوع سخت افزار شما بستگی دارد. اگر سخت افزار شما ضعیف باشد ؛ مطابق شکل سمت راست ، تصویری کاملاً Flat خواهید داشت ؛ بطوری که حجم حافظه کمتری را به خود اختصاص می دهد. حال آنکه اگر از سخت افزار قوی تری استفاده کنید ؛به یک تصویر چند لایه ای که القاء کننده فضای نسبتاً سه بعدی و نیمه دو بعدی است ؛ دست یافته و از آن لذت می برید.

بخش دیگر به مکانیزم های اصلی بازی اشاره دارد. اینکه ساختار و قهرمان داستان از رویکرد game playe از چه روندی برخوردارند.
به همان میزان که درگیری شما در بازی از رویکرد ساختار و game play حجیم تر و پیچیده تر می شود؛ این اتفاق دقیقاً در داستان نیز رخ می دهد. یعنی داستان برای game play وارد یک سری پیچیدگی ها می شود که می تواند روند داستان را جذاب تر کند.
Game play دارای یک سری گستردگی هایی است که بخش اصلی آن به تنوع تجهیزات کوهنوردی در بازی مرتبط است.و اینکه در بخشی از مراحل شاهد عدم دسترسی به این امکانات هستیم ؛ تا زمانی که قابلیت های دسترسی به این تجهیزات را اتخاذ نماییم.
سیستمی در بازی برای جمع آوری تجهیزات در بازی وجود دارد که می توانید با جمع آوری امتیازات و با توجه به میزات صعودتان ، ابزارهایی را از باجه های دیجیتالی خریداری کنید و اگر احیاناً موفق به خرید و تهیه این تجهیزات نشده اید ؛ وارد حالت Free mode بازی شوید. این بخش به شما اجازه می دهد صرفنظر از خط داستانی بازی ، به سادگی در بازی بچرخید و جوایزی که تاکنون نیافته اید را بیابید و به ابزارهای رازگونه دسترسی یابید. در Free mode متناسب با توانمندی های جدیدی که کسب کرده و تجهیزاتی که خریداری کرده اید ؛ می توانید حرکات جدید خود را تمرین کنید. از اینرو کاراکتر قوی تر می شود و با قرار گیری در موقعیت اصلی بازی ، با توانمندی بیشتری قادر به عبور از موانع در پیش رو است.
دشمنان بازی به نوعی خود کوهستان و موجوداتی هستند که در تعامل با آن ها قرار دارید. بطوری که تعدادی از آنها را می توانید نابود کنید و از یک تعدادی دیگر فقط عبور می کنید، به نحوی که این روند بعنوان یک game play جدید در بازی معرفی می شود.
بخش کوله پشتی ، که تصویر کوچکی از آن را در شکل سمت چپ بالای تصویر مشاهده می کنید ؛ دربرگیرنده فهرست کاملی ازتمام امکاناتی است که شما در بازی گرداوری کرده اید. و همانطور که اشاره کردم لازم نیست تا قبل از انجام کاری وارد کوله پشتی شده و ابزار را انتخاب کنید. بلکه بر حسب موقعیت های مختلف ، لازم است تا در زمان مناسب به درخواست کاراکتر پاسخ مثبت دهید. بسیاری از این ابزارها بر حسب زمان بندی مناسب ، نظیر پرش ها و صعودها به شما توصیه می شوند. برخی نیز در هنگام شروع پرش و یا گرفتن قلاب ها توسط کاربر انتخاب می شوند.
علاوه براینکه در بخش مکانیک های بازی ، فیچرهایی را به بازی اضافه کرده ایم ؛ سعی کردیم تا قابلیت هایی را نیز به داستان بیافزاییم که به ویژه در مبارزه با غول ها منعکس می شود. حالت خشم کاراکتر و ضربات مهلکی که وارد می آورد ؛ به حالت داستانی وارد بازی می شوند ؛ بطوری که با ایجاد یک Time line جدید ، با سایر کاراکتر ها تعاملی برقرار کرده و استراتژی جدیدی اتخاذ می کنید.

در این بازی شما بر اساس خط زمانی مورد نظر ، رکوردی را ثبت کرده و پرچم خود را از رنگ برنزی به طلایی یا بر عکس ارتقاء می دهید. هر مرحله دارای سه پرچم است که رکورد شما مجموع این پرچم ها خواهد بود و اینچنین تحت مقایسه با سایر شرکت کنندگان قرار می گیرید.

پایان چهارمین جشنواره رسانه دیجیتال و بخش بازی های رایانه ای

بالاخره چهارمین جشنواره رسانه دیجیتال هم به پایان رسید و بازی های برتر هم معرفی شدند، نتایج را ببینید

نام اثر نام شركت رتبه
بهترین بازی رایانه شخصی دیدگاه هنری
مير مهنا اسپريس پويا نما رتبه اول
گرشاسب فن افزار شریف رتبه دوم
روباهي که به دنبال صدا رفت … کانون پرورش فکري کودکان و نوجوانان رتبه سوم
شایسته تقدیر
بهترین بازی رایانه شخصی دیدگاه فنی
اعطاي جايزه در تالار وحدت رتبه اول
مير مهنا اسپريس پويا نما رتبه دوم
کوهنورد موسسه فرهنگي و اطلاع رساني تبيان نور رتبه سوم
شایسته تقدیر
بهترین بازی رایانه شخصی دیدگاه مفهومی
مير مهنا اسپريس پويا نما رتبه اول
قتل در کوچه هاي طهران 1312 عماد رحماني رتبه دوم
رتبه سوم
شایسته تقدیر
بهترین بازی بر خط
رتبه اول
رتبه دوم
رتبه سوم
آسمان دژ توسعه گر شبیه ساز شایسته تقدیر
بهترین بازی سال
اعطاي جايزه در تالار وحدت رتبه اول
رتبه دوم
رتبه سوم
شایسته تقدیر
بهترین بازی کودک
رتبه اول
رتبه دوم
رتبه سوم
گاندو مهدي خداشناس شایسته تقدیر
بهترین بازی پایداری و مقاومت
رتبه اول
رتبه دوم
رتبه سوم
لانه شیطان 2 سازمان بسيج دانش آموزي و فرهنگيان شایسته تقدیر

امیدوارم که نقد پذیر باشند،

بازی میرمهنا

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

بازی گرشاسپ

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

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

و نقد دیگر که به بنیاد ملی بازی های رایانه ای وارد است، چرا در بزرگترین و معتبر ترین نمایشگاه داخلی که بنیاد می تواند حضور قوی و پررنگ داشته باشد، حضوری احساس نمی شود؟

چرا وقتی تمام نگا هها و سیاست ها بر جنگ نرم معطوف شده است وبازی های ویدئویی از مهمترین صلاح های جنگ نرم محسوب می شوند ، ما به طور جدی و واقعی وارد این حوزه نمی شویم؟

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

post

پردازش گرافیک در بازی رایانه ای

سخنران : بهنام آقاجانی از شرکت اسپریس پویا نما

گزارش و تدوین : مریم ثابت قدم اصفهان

ناظر علمی : بهنام آقاجانی

حقوق این گزارش برای سایت انیمیشن دیتا محفوظ است

شیدر مجموعه دستور العمل هایی است که به زبان خاصی نوشته شده و قابل اجرا بر روی سخت افزار اختصاصی با انعطاف پذیری بالا به نام GPU یا ( Graphic Processor Unit ) است تا افکت های تصویری بوجود آیند. از جمله ویژگی های این سخت افزار تعبیه ریاضیات برداری پیشرفته و Optimize شده جهت پردازش اعمال گرافیکی است.
با توجه به اشکال بالا در سمت چپ یک شیدر بسیار ساده را ملاحظه خواهید کرد در صورتیکه در سمت راست فقط با تغییر برنامه شیدر پردازش سایه، و پراکنش نور با استفاده از مکان یک منبع نور خارجی را داریم.

اطلاعات Vertex مدل ساخته شده در هر نرم افزار سه بعدی که به عنوان مفعول پردازش به چرخه رندر ارسال شده وارد Vertex Processor می شود همچنین تعدادی متغیر دلخواه که در نمودار با نام V Custom Variables نام گذاری شده اند نیز به این پردازشگر ارسال و سرانجام برنامه نوشته شده برای این واحد که Vertex Shader نامیده می شود توسط Vertex Processor اجرا گشته و خروجی در قالب یک Output structure و Vertex Position بدست می آید. Vertex Position مجددًا در Geometry Shader ممکن است مورد پردازش قرار گیرد ولی عملیات دیگری بر روی آن صورت نخواهد گرفت.( شکل زیر )

اما Output Structure به عنوان ورودی جدید Fragment Shader به Fragment Processor ارسال می شود. همچنین Texture ها و تعدادی متغیر دلخواه که در نمودار با نام P Custom Variables نام گذاری شده اند نیز وارد این پردازشگر شده. برنامه نوشته شده که Fragment Shader یا Pixel Shader نامیده می شود توسط این هسته مورد پردازش قرار خواهد گرفت و خروجی این پردازش فقط رنگی بر روی صفحه نمایش یا هر Render Target دیگری می باشد.

این شکل ، تکمیل نمودار ترسیم شده پیشین است .
یکی از قسمت های قابل برنامه نویسی شیدر ،Vertex Shader است که وظیفه آن ، نگاشت مختصات سه بعدی ورتکس ها برروی فضای دو بعدی (همان Screen ) است. اگر حرکت برگ درختی را در یک نمای سه بعدی در نظر گیرید ؛ با استفاده از Vertex Shader می توان موقعیت لحظه به لحظه Vertex را به طریقی جابه جا کرد که گویی تحت تأثیر باد حرکت می کند.

از قسمت های دیگر قابل برنامه نویسی ، Geometry Shader است که مبحث نوینی در شیدرها بشمار می آید و به جز چند بازی رایانه ای اخیر در جهان، کمتر در بازی های دیگر مورد استفاده قرار گرفته است. در حقیقت ، Geometry Shader پس از Vertex Shader قرار گرفته و وظیفه اش این است که بعد از تعیین اطلاعات ورتکس ها می توان Edge هایی را اضافه یا حذف کرد و یا به انجام برخی عملیات پردازشی که برای CPU هزینه بر است؛ پرداخت. در حقیقت ، Geometry Shader می تواند در برخی موارد عملیات سنگین بر روی CPU را حذف و آن را به خود اختصاص و با سرعتی مظاعف مورد پردازش قرار دهد.

درشکل بالای این تصویر ، ماهی را مشاهده می کنید که بطور ساده مدل سازی شده است و با Normal افکت های برجسته بر روی بدن آن بوجود آمده. اما در سمت راست آن ، بعد از پردازش در Geometry Shader ، تعدادی جزئیات ( Detail ) به بالای بدن آن افزوده شده است و خارها ی تن و دور چشم ماهی برجسته تر شده است. حتی در زیر آرواره آن ، خار نیز وجود دارد. تمام اینها بوسیله Geometry Shader و تکسچری که برجستگی را نمایان می سازد ؛ تحقق یافته است. در صورتی که تولید این مدل در فرایند ساخت سه بعدی مستلزم استفاده از مقادیر زیاد پلی گان است که نتیجه آن ، درگیر شدن CPU در فرایند دشوار و زمانبر رندرینگ برای تهیه Render Batch ها و ارسال مدل High poly به GPU برای پردازش می باشد.

در تصویر پایین سمت چپ ، هم یک مدل پیچیده و هم یک انیمیشن قابل مشاهده است که به صورت High poly درحال شکل گیری است. اگر قرار باشد چنین طرحی در 3D Studio Max ساخته شود ؛ هم هزینه مدل سازی زیادی بواسطه ایجاد شاخ و برگها در بر دارد و هم تعداد Key frame ها افزایش می یابد. در صورتی که می توان به راحتی این فرایند را در Geometry Shader انجام داد. کسانی که در مدل سازی سه بعدی فعالیت دارند ؛ می دانند که ساخت چنین Content در نرم افزار سه بعدی تا چه اندازه نیازمند پلی گان ها و انیمیشن طاقت فرسایی است.

قسمت دیگر ، Pixel Shader است و توضیح بسیار کوتاهی دارد. در واقع ، این بخش رنگ خروجی را مشخص می کند. اما همین وظیفه کوچک ، تمام تکنیک های رندرینگ را تحت تأثیر قرار می دهد.

درچند لحظه قبل، ما بخش های قابل برنامه نویسی چرخه Render را مشخص کردیم. در این بخش ، مابقی قسمت هایی را مورد توجه قرار می دهیم که غیر قابل برنامه نویسی هستند.
همانطور که بیان شد ؛ Vertex data ها به طریقی باید وارد Vertex Shader شده و از برنامه یا شبیه سازی سه بعدی خوانده شوند. لذا اطلاعات Vertex data توسط Input Assembler بر روی GPU از Application ( برنامه کاربردی ) fetch شده و وارد Vertex Shader می گردد.

Stream Output می تواند یک backup از خروجی Vertex Shader و در نهایت Geometry Shader تهیه کرده و در جایی ذخیره کند تا اینچنین تمام اطلاعات برای انجام محاسبات مجدد قابل بازگشت به حافظه باشد.

Rasterizer نتایج Vertex Shader و Geometry Shader ( در صورت موجود بودن ) را به پیکسل مبدل می کند. یعنی عملیات per-vertex به عملیات per-pixel تبدیل می شود. اصطلاحاً به این مبحث ، درون یابی (Interpolation )گویند.

اگر سه vertex در سه گوشه مثلث را مشاهده کنید ؛ درمی یابید که این سه ورتکس به رنگهای مختلف آبی، قرمز و سبز هستند؛ اما در بین این سه ورتکس ، بیشمار Pixel وجود دارد که قرار است رنگ آمیزی شود. یکی از وظایف درونیاب تعیین رنگ Pixel های مذکور است که به یک Gradient بین سه رنگ قرمز، سبز و آبی بوجود می آید.
از طرفی دیگر اگر این ورتکس ها دارای نرمال های متفاوتی باشند ؛ به این شکل هم نرمال هر پیکسل درونیابی می شود و برای سایر اطلاعات Vertex هم روش به همین شکل است.

Output Merger ، بر اساس اطلاعات Render Target Depth Stencil و خروجی های Vertex Shader ، Geometry Shader و Pixel Shader می تواند پیکسل ها را در موقعیت های مورد نظر ترسیم کند.

در تصویربالا یک نمونه کد Shader را ملاحظه می کنید. سه خط سبز اول ، همان ( V custom variable ) ها هستند که وارد شیدر شده اند. سپس یک Structure output قرار دارد که وارد Fragment Shader می شود تا پردازش Pixel shader تحقق یابد. در نهایت یک Function main وجود دارد که اطلاعات حاصل از Position ، Tangent ، Normal و Binormal و یک سری دستورالعمل هایی که بر اساس ماتریس ها دید و World و … محاسبه می کنیم ؛ در انتها Out می کند.
موقعیت این Output که با Float 4 ( رنگ زرد ) مشخص شده به Geometry Shader انتقال می یابد . اگر Geometry Shader در کار نباشد ، ادامه کار انجام می شود. اما بعد از گذشتن اطلاعات از Vertex Shader ، وارد Pixel Shader می گردد. خطوط قهوه ای ، اطلاعات مشترکی هستند که محل ارتباط اطلاعات بین Vertex Processor و Fragment Processor می باشد.
در نهایت رنگ diffuse * color + gloss * specular ، خروجی رنگ پیکسل ها را تعیین می کند.

حاصل شیدر قبلی این تصویر بالا است که با استفاده از Noise sample در تکسچری از یک فایل fetch شده و شیدر قوری که با رنگ قرمز Solid قابل مشاهده بود ؛ اکنون بدین شیوه نورپردازی می شود.

از حدود سال 2000 شیدرهایی در بازی رایانه ای بکار گرفته شد که برجستگی های روی شئ را از اطلاعات Normal map حاصل می آورد.
اما Parallax map از جمله قابلیت های نوینی است که به دلیل هزینه های سخت افزاری بسیار ، اگرچه هنوز به طور جدی در بازی های رایانه ای مورد استفاده قرار نگرفته ؛ اما می تواند تصویر دو بعدی را به نحوی نمایان سازد که کاربر گمان کند یک تصویر سه بعدی را می نگرد. بطوری که از هر زاویه به آن نگاه کنید ؛ نه یک تکسچر بلکه یک مدل را مشاهده کنید.این یک Parallax occlusion mapping است.
ساخت Parallax map چندان پیچیده نیست؛ اما از قواعد ویژه خود تبعیت می کند. در حقیقت این قابلیت ترکیبی از Normal map و Height map ( ترکیب آن در لایه آلفای Normal map ) حاصل می آید که با استفاده از شیدر مناسب می توان به قابلیت فوق دسترسی یافت.

Frame buffer ، مکانی است که اطلاعات خروجی رندر گرافیک در آن ذخیره می شود و در هر لحظه Video display می تواند به آن مراجعه کند و اطلاعات را از روی آن بخواند و بر روی صفحه نمایش ترسیم کند.
از آنجا که فریم بافر ، بطور همزمان قابل خواندن و نوشتن نیست ؛ لذا باید backup از فریم بافر در اختیار داشته باشیم تا قادر به خواندن از روی آن باشیم.
در حقیقت ، فریم بافر مکانی برای خواندن و backup بعنوان مکانی برای نوشتن مد نظر قرار می گیرند. به چنین مکانی که روی آن می نویسند، اصطلاحاً back buffer گویند.

به طور پیش فرض Render Target همان Backbuffer است؛اما می تواند یک تکسچر نیز باشد.

MRT مخفف عبارت Multiple Render Target است که در طی دو الی سه سال گذشته به عنوان یک تکنیک روز مورد توجه قرار گرفته است. بطوری که امکان رندرگیری همزمان یک صحنه بر روی چند تکسچر را برایمان فراهم می کند. اگر بخواهیم یک تصویر را چهار بار رندر کنیم ؛ باید چهار مرتبه اطلاعات ورتکس بافر را به همراه تکسچر ها fetch کرده و محاسبات شیدر ها را انجام دهیم؛ به این ترتیب Performance به شدت کاهش می یابد.
اما با تکنیک MRT می توان یک بار این عمل را انجام داد ؛ اما خروجی را به جای یک رنگ در Pixel Shader ؛ چهار رنگ را با Symbolهای Color0- Color3 ایجاد نمود

البته یکی از محدودیت های MRT این است که بیش از چهار تکسچر را نمی توان به طور همزمان به عنوان Render Target در نظر گرفت. محدودیت دیگر آن این است که هر چهار Render Target ما باید دارای یک bit size باشد. بطور مثال هر چهار تکسچر باید R8G8B8A8 یا مثلاً R16G16 یا 32 و 24 بیت باشند.

Deferred Rendering بهترین نمونه از MRT بشمار می آید. در تصویر زیر شما Deferred Rendering را در بازی Killzone2 مشاهده می کنید.

در این تصویر ، depth یا position هر پیکسل نمایش داده شده است. یک نکته قابل توجه آن است که آیا در اینجا حقیقتاً فاصله میان دو پیکسل تا ایندازه کم است که هر دو با یک gradient نمایش داده می شوند؟
Depth که شما در اینجا مشاهده می کنید ؛ float است که قابل نمایش با رنگ نیست. مابین هر Gradient ثابت ،کلی اعداد اعشاری وجود دارد که عمق های ریز تر را قابل ذخیره می سازند. تصویر depth از پیکسل ها گرفته می شود. Normal هر پیکسل در Render Targetدیگری ترسیم می شود.

تصاویر دیگر در برگیرنده اجزایی هستند که حرکت و به اصطلاح motion دارند.

یک تکسچر به اصطلاح Albedo ( بدون پردازش سایه و نور ) نیز وجود دارد که فقط ورتکس و پیکسل ها همراه با تکسچرهای آن موجود است.

و سپس با ترکیب تصاویر قبل ؛ یک composition Deferred داریم که نور و سایه های اشیاء یا به نام دیگر Shader اشیاء ( سایه ای که بر روی دیوار و یا روی زمین افتاده ؛ مد نظر نیست ) پردازش می شوند.

سپس اطلاعات blur به تصاویر قبل اضافه می شوند.

اگر دقت کنید ، شاید این پرسش به ذهن شما خطور کند که با توجه به اینکه نمی توان بیش از چهار Render Target را در اطلاعات رندرینگ بکار گرفت ؛ پس دلیل وجود شش تا هفت تکسچر موجود در این لیست از تصاویر چیست؟
علت آن را می توان در این نمایه نشان داد:

Intensity و Lighting در Render Target 0 ذخیره شده اند. بطوری که Intensity در لایه آلفا ذخیره شده و Lighting Accumulation در لایه های رنگی RGB ذخیره شده است.

Normal X و Normal Y در Render Target1 به صورت 16 بیتی ذخیره شده اند. اما Normal. z در کجا ذخیره می شود؟ اگر خط انتهای این مطلب را بخوانید ؛ در می یابید که Normal. z از یک محاسبه ریاضی ساده دبیرستان قابل دستیابی است :

Motion vector xY ، Specular power و Specular intensity در لایه آبی و آلفای Render Target 2 ذخیره می شوند.

در نهایت ، RGB تکسچرها به اسم Albedo درون Render Target 3 و Sun occlusion در آلفای آن ذخیره می شوند.

این تکنیکی بود که Kill zone 2 برای رندرینگ خود بکار برده بود.

در این تصویر ، در قسمت سمت چپ شما هشت هسته (core ) را مشاهده می کنید که هر یک دارای دو Stream Processor است. اینها همان GPU هایی هستند که محاسبات کارهای گرافیکی را بر عهده دارند.
چهار خط آدرس داریم . این یکی از دلایلی است که بواسطه آن نمی توان از بیش از چهار Render Target در تکنیک MRT بهره برد. بدیهی است اگر از هشت خط آدرس برخوردار بودیم ؛ می توانستیم از هشت Render Target نیز برخوردار شویم.

با توجه به تصویر بالا ، اگر قرار باشد تعدادی از Stream processing ها فقط ورتکس ها و تعدادی دیگر تنها پیکسل ها را پردازش کنند ؛ در اینصورت به تصویر پایین سمت چپ می رسیدیم. که در یک خط Pixel Shader ما خالی مانده و Vertex Shader پر شده است؛ این در حالی است که Performance آن عدد چهار است.
در تصویر پایینی آن که عملیات Pixel Shader بیشتر است ؛ در می یابیم که Vertex Shader خالی مانده و Pixel Shader اشغال شده است. در حالی که workload part آن عدد 8 است.
اما در تصویر راست قسمت بالا ؛ وقتی دارای Unified Shader هستیم ؛ در صورتی که نیاز به پردازش پیکسل باشد ؛ Unified Shader خود را به Pixel Shader تبدیل می کند . و اگر نیاز به پردازش ورتکس باشد ؛ خود را به Vertex Shader تبدیل می کند. و در هر حالتی، در مجموع vertex Shader و Pixel Shader ، از خانه پردازشگر و Performance برابر با 12 برخورداریم.

در این قسمت بحث سخت افزاری به پایان می رسد. اما مهمترین بخش این جلسه ، کالبد شکافی رندرینگ Pipline بازی رایانه ای call of juares و میرمهنا است.

تمام مطالبی که بازگو شد حاکی از این بود که قادر به مشاهده و ارزیابی دمو ها شده و تشخیص دهیم که یک بازی رایانه ای بسیار حرفه ای با رویکرد تکنیکی خوب به چه شیوه ای تصاویر را رندر می کند؟
اکنون می خواهیم دریابیم چگونه می توان یک بازی را ویرایش کرده و هسته رندر آن را کشف کرد؟
این کار با استفاده از ابزار PerfHUD امکان پذیر است. این ابزار منحصر به کارت گرافیکی nvidia است .
Debugging گرافیک یک بازی به این روش مستلزم کسب اجازه از سوی بازی است. درحال حاضر ، Call Of Juares این امکان را به عمد فراهم آورده تا متخصصان قادر به بررسی تکنیک های رندرینگ آن باشند.

با مشاهده تکسچر در سمت راست تصویر ، شما یک تکسچر سیاه رنگ مستطیلی شکل را به ابعاد 4096 * 1024 مشاهده می کنید . معمولاً چنین تکسچری مرسوم نیست و حال باید دید این تکسچر از کجا آمده است؟
در واقع این محلی است برای ذخیره مکان و یا عمق پیکسل ها که مانند همان شکل depth ترسیم می شود که برای عملیات سایه پردازی PSSM بکار می رود.
PSSM , تکنیکی است که تا چهار تکسچر مختلف را از اطلاعات موقعیت پیکسل های خود دریافت کرده و بنا بر نزدیک بودن دوربین به هر یک از این پیکسل ها ، تعیین می کند که آیا سایه (shadow ) باید با کیفیت بیشتری رندر شود یا با کیفیت کمتر ؟ بحث های مفصلی است که در این قسمت نمی گنجد.

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

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

اگر شما به حالت Advance سوئیچ کنید ؛ می توانید تک تک مدل های بازی ، ورتکس و مدل ها و حالت های رندر شده آن را مشاهده کنید. حتی قادر هستید Vertex Shader و Pixel Shader ترسیم یک مش را نیز مشاهده کنید ؛ البته Source شیدر را در صورت وجود نشان می دهد ؛ در غیر اینصورت نتیجه کامپایل شده ای که مورد استفاده GPU است را برایتان نمایان می سازد.

برای مرور این مبحث ، تکسچرها را روی هم گذاشته ایم » تکسچر خام بدون سایه پردازی ؛ Normal ها ،depth map هر پیکسل قابل مشاهده اند که با ترکیب آنها به شکل Deferred Rendering تصویر خروجی بدست می آید.

هر کسی تکسچر شماره 3 را مشاهده کند ؛ احتمالاً به عنوان یک تکسچر خراب آن را دور می اندازد ؛ در صورتی که می توان گفت بخش عظیمی از زیبایی رندر Call Of Juares مبتنی بر این تکسچر بوده است.حالا به دقت این تکسچر را بررسی می کنیم.
تمام رنگ های قابل مشاهده مفهوم خاصی دارند ؛ رنگ آبی نمایگر Occlusion map است. اگر بتوانید اسب ها ، دم اسب ها و حلقه ای که به دور بدن آن ترسیم شده ملاحظه کنید ؛ در می یابید یک occlusion map تولید می کنند.حتی کنار تفنگ شما نیز یک occlusion تولید می شود.
رنگ زردی که مشاهده می کنید ، مکانی است که در آن سایه وجود دارد. وقتی چنان تعریف کنید که هر جایی که زرد وجود دارد به رنگ خاکستری مبدل شود ؛ گویی صحنه بدون سایه شما به صحنه سایه دار تبدیل می شود همان طور که مشاهده می کنید ؛ روی بدن اسب نیز چندین سایه وجود دارد که در تصاویر بعدی ، نتیجه آن را در می یابید.

در تکسچر 5 ، تمام جاهایی که به رنگ سفید مشخص شده اند ؛ نمایانگر مکان هایی هستند که لبه ی اشیاء جدا می شود. بدین معنا که قادریم حاشیه اشیاء را نرم تر کنیم . از طریق Normal map این حاشیه ها به دست آمده و در نهایت برای پردازش AntiAliasing روی تصویر کلی استفاده می گردد.

همانطور که ملاحظه می کنید ؛ قسمت هایی که در مورد شان صحبت شد به ویژه روی بدن اسب به صورت سایه قابل مشاهده است. در جاهای دیگر نیز اگرچه سایه ای نداریم ؛ اما می توان به وضوح Occlusion را دید.
این تصاویر ، بخش هایی از رندرینگ Call Of Juares است. در واقع تکنیک های بیشتری موجود هستند که برای آسمان ، خورشید ، آب و تکسچر جاده و همچنین فضای بارانی بکار گرفته شده اند که مجال بررسی آنها وجود ندارد.

مبحث دیگر این جلسه بررسی بازی میرمهنا است:

در قسمتی از رندرینگ این بازی ، اگر چه برگ ها سایه دارند ؛ اما با لرزش آن ها توسط باد ، هیچ حرکتی قابل مشاهده نیست . در حقیقت ، به دلیل هزینه های سخت افزاری موجود ، تکنیک مورد نیاز برای به حرکت در آوردن سایه ها حذف شده است.
اگر دیوارهای سنگی را بنگرید ؛ برجستگی های آنرا مشاهده می کنید. در حقیقت از Parallax map که به طور دستی ساخته شده است ؛ ما بعنوان Normal map استفاده کرده ایم. اما به دلیل هزینه های سخت افزاری از تکنیک Parallax map صرفنظر شده است.
حرکت پوشش گیاهی از طریق Vertex Shader مقدور شده است. همه اشیاء با استفاده از تعدادی به اصطلاح Surface map ، جزئیات (detail ) گذاری شده اند.
پارچه ای که روی درشکه اسب نمایان است ؛ علاوه بر تکسچر و Normal دارای یک detail نیز هست که شما می توانید حتی بافت ریز پارچه را بدون افت کیفیت تصویر مشاهده کنید.
اگر به دست بازیکن دقت کنید ؛ تقریباً تمام سلول های روی پوست را نیز می بینید؛ در این مورد نیز هیچ تکسچر بزرگی استفاده نشده است .
همچنین روی هر شئ که زوم کنید ؛ سایر اشیاء پیرامون به شکل محو قابل مشاهده اند.
بازی میرمهنا، بسیار تحت تأثیر بازی Call Of Juares بوده است. در واقع بامهندسی معکوسی که تحقق یافته ؛ ابتدا بازی Call Of Juares طبق شیوه ای که فرا گرفتیم بررسی شده و هسته رندر آن استخراج شده و سپس سعی کرده ایم به همان شیوه یک چرخه رندر برای این بازی بسازیم.
اگر دقت کنید اگر سر خود را بالا آورید ؛ ابرهایی که در ابتدا روشن بوده اند؛ به مرور روشنایی خود را از دست می دهند و از حالت اغراق آمیز در هاله نور خارج می شوند. این همان تکنیک HDRL است که به ویژه در Call Of Juares نمود بیشتری نسبت به میرمهنا دارد.
بعلاوه تکنیک shadow map توسط یک همکار خارجی به مدت طولانی در این پروژه انجام شده است.

post

گزیده ای از کارگاه مراحل تولید بازی 12 رخ ( سیاوش )

گزیده ای از کارگاه مراحل تولید بازی 12 رخ ( سیاوش )
سخنران : حسن مهدی اصل

حقوق این گزارش و تصاویر برای استودیو سورنا در سایت انیمیشن دیتا محفوظ است

معرفی تیم سازنده و زمان تشکیل تیم
حسن مهدی اصل ( مدیر پروژه و برنامه نویس ادیتور سیمرغ ) – علی اکبر محمدی ( برنامه نویس ارشد و برنامه نویس موتور گرافیکی و زبان اسکریپت کوروش ) – سجاد بیگ جانی ( برنامه نویس سگان و هوش مصنوعی ) – هادی رباطی ( برنامه نویس بخش فیزیک موتور ) – آرمان آرین ( نویسنده ) – حامد خزریان ( مدیر گرافیک و اسکریپت نویس ) – علیرضا یارمحمدی ( گیم دیزاینر ) – احمد محمد نژاد (گیم دیزاینر ) – عباس رمضان زاده ( کانپست آرت ) – تیم آلمانی ( مدل سازی ، ریگ و انیمیشن )
زمان رسمی امضاء قرار داد با بنیاد ملی بازی های رایانه ای : 15 مرداد 1388

انتخاب سبک بازی : به دلیل علاقه شخصی اعضاء و پر طرفدار بودن این سبک بازی.
توانایی این سبک در جذب مخاطب زیاد است ( همانطور که می دانیم میلیون ها نفر به صورت آنلاین بازی های سری warcraft را هر روز بازی می کنند)
نگرش تیم در قسمت فنی پروژه : تولید تمامی ملزومات و ابزارها و موتور گرافیکی بازی در داخل تیم ( موتور گرافیکی سورنا (KGE) – ادیتور سیمرغ – زبان اسکریپت کوروش – سگان – هوش مصنوعی – صدا – ورودی خروجی ها – لاگر – هسته بازی )
داستان بازی :
آرمان آرین و انتخاب کیخسرو از دل داستان سیاوش .
تغییر نام بازی از سیاوش به 12 رخ به دلیل مرگ سیاوش در ابتدای بازی تحقق یافت . در ضمن در داخل بازی اتفاق بزرگی به نام هنگامه هماون رخ می دهد که در آن 12 پهلوان ایران و توران در مقابل هم صف آرایی کرده و به مبارزه می پردازند . این مبارزه به صورت سنتی انجام می شود و به ترتیب از کشتی گرفتن آغاز و با سلاح های سرد ادامه می یابد . برنده مسابقه باید سر طرف مقلوب را از سر جدا می کرد و در دست راست می گرفت. این اتفاق در داستان، تیم را به تغییر داستان به 12 رخ ترغیب کرد .
دوره کیانیان و داستان کی کاووس و غرور آن – ورود کیخسرو به داستان – مرگ سیاوش – پیدا کردن کیخسرو در بیابانهای توران – شروع پادشاهای کیخسرو – بازپس گیری مرزهای ایران از توران – انتقام خون پدر(سیاوش) از افراسیاب

گرافیک :
2 بعدی : دکمه ها ، GUI و کانسپت ها

3 بعدی : مدل های 3 بعدی خانه ها ، کاراکترها ( ساخت مدل 3 بعدی ، ریگ کردن ، انیمیشن )
دموی بازی : تابلوی قهوه خانه ای و جابه جایی دوربین روی آن

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


طراحی مراحل
: در نسخه اول بازی 7 مرحله ارائه خواهد شد که هر مرحله یک ویژگی جدید خواهد داشت . مراحل در بعضی قسمتها به هم پیوسته هستند ؛ ولی برای جابه جایی بین آنها ، دمو و کات سین نمایش داده خواهد شد . در قسمت طراحی مراحل آموزش و سیر آسان تا دشوار، لحاظ شده ولی هنوز مراحل و نیروهای موجود در آن بالانس و تست نشده اند.
نسخه اسکریپتی بازی هم وجود دارد که در این قسمت از بازی می توان قومی را انتخاب و مقابل هوش مصنوعی بازی کرد . البته نسخه شبکه هم وجود دارد که در نسخه دوم بازی ارائه خواهد شد.

بخش فنی : موتور گرافیکی بازی ، KGE سورنا انجین و متن باز است . تولید آن از سال 85 با توسعه تدریجی آن همراه بوده است. اگرچه بسیار کوچک و ناقص است ؛ ولی برای بازی 12 رخ کافی به نظر می رسد و توان ترسیم تمام آنچه در صحنه موجود است را دارد . تولید موتور گرافیکی بازی یکی از سخت ترین بخش های ساخت بازی در دنیاست . در ایران نیز تنها 4 تیم مشغول به این کار هستند. البته تیم هایی نیز مشغول به ساخت بازی هستند که ترجیح می دهند از موتورهای گرافیکی آماده استفاده کنند .

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

سگان : سگان ابزاری است برای ساخت پنل های دو بعدی و 3 بعدی در محیط بازی که مناسب برای سیستم GUI است . سگان به اسکریپت کوروش و هسته بازی متصل بوده و می تواند رویدادهایی را نیز از خود اعلام کند . به طور مثال وقتی پنلی وجود داشته باشد، شما در صحنه می توانید رویدادهای کلیک ، ورود و خروج ماوس را برای آن پنل در نظر گرفته و از آن برای تغییر مقدار خاصی در درون بازی استفاده کنید . انیمیشین یکی از مهمترین قسمتهای سگان است که زیبایی خاصی به آن می دهد و با استفاده از شیدر ها بر روی این پنل ها می توان ابزارها و افکتهای گرافیکی خوبی به صحنه اضافه کرد . سگان شامل این ابزارها است : Button-panel-check box-scroll bar-extended panel-label – edit box-track bar-progress bar-


هوش مصنوعی : سیستم هوش مصنوعی بازی از بخش های مختلفی تشکیل شده است ازجمله :
مسیر یابی
ساخت و ساز
مدیریت منابع
master AI
حمله

بخش های مختلف با سیستم کامپوننت به کارکتر مورد نظر متصل می شوند . به طور مثال اگر کاراکتری فاقد کامپوننت RUN باشد ؛ توان حرکت و مسیر یابی نخواهد داشت و یا اگر کاراکتری فاقد کامپوننت Attack باشد ، در صورتی که کاراکتر دشمن در شعاع دید او قرار گیرد ؛ به آن حمله نخواهد کرد . رفتارها و قابلیت های متفاوت با کامپوننت های مختلف به انواع کاراکترها متصل می شوند و این کار می تواند به صورت Real time هم انجام شود . به طور مثال کاراکتر شما در حین بازی از فروشگاه آیتمی خریداری می کند که قابلیت اضافه کردن سلامتی در هر ثانیه به میزان 5 واحد را داراست و این قابلیت به طور مدت دار و زمانی است و پس از پایان زمان تعیین شده از کاراکتر جدا می شود .

ادیتور سیمرغ : ادیتور سیمرغ برای طراحی مراحل و پیاده سازی گیم پلی بازی نوشته شده و تمام ابزارهای بالا در داخل ادیتور در کنار هم ،بازی نهایی را از دل ادیتور اجرا می کنند . کل صحنه شامل صحنه 3 بعدی ، صحنه سگان ، هوش مصنوعی و تمام اسکریپت های موجود همراه با تمام مشخصات ( Properties ) نوشته شده برای هر خانه و کاراکتر در داخل یک فایل یکپارچه ذخیره می شوند . هر فایل ذخیره شده برای یک مرحله است .
این مدل ذخیره سازی به ما کمک می کند تا در داخل هر مرحله بتوانیم از انواع مختلف GUI ، هوش مصنوعی ( سخت تر ، راحتر ) ، properties مختص به هر کاراکتر ، خانه و محیط ( شب ، روز ، بارانی ، برفی ) برخوردار باشیم . در داخل ادیتور کل بازی بارگذاری شده و هر آنچه در ادیتور دیده می شود با زدن دکمه Run و با اضافه شدن اسکریپت کامپایل شده ،به بازی تبدیل می شود و این کار بدون بارگذاری و یا صرف زمان خاصی انجام شود. تمام قابلیت بازی نهایی در این قسمت در اختیار طراح می باشد و او می تواند به سرعت مراحل خود را طراحی ، تست و بازی کند و بلافاصله به ادیتور بازگردد و این کار را تا تکمیل مرحله ادامه دهد.

بخش دوم : معرفی بازی 12 رخ ( سیاوش )
استودیو بازی سازی سورنا ، یک تیم ساخت بازی است که با هدف ساخت بازی های RTS و RPG تشکیل شده است و سالهاست که در زمینه تولید نرم افزار های چند رسانه ای و نرم افزار های بازی فعالیت کرده است .
بازی 12 رخ یک بازی استراتژیک بر اساس اسطوره های ایران باستان است که در آن دو گروه موجود در بازی با قابلیتهای خاص خود روربرو می شوند و قهرمانان داستان ، نقش محوری و کلیدی در بازی ایفا می کنند . کاراکتر های دیگر نیز ، نقش مکمل آنها را در بازی دارند . با جمع آوری منابع موجود در بازی می توان خانه ها و مکان های نظامی ساخت و یا نیروهای جدید ایجاد کرد و حتی تکنولوژی های جدید را خرید . راه پیروزی در بازی ، توفیق مأموریت های اصلی و شکست قهرمانان دشمن است. البته گیم پلی اصلی بازی کنترل یونیت هاست و طی تصمیمات صحیح به بهترین نحو می توان بازی را انجام داد. قهرمانان در این بازی از توانایی کسب امتیاز و تجربه برخوردارند و می توانند از جادوهای مختلف نیز استفاده کنند . تعامل با سیستم GUI بازی بسیار مدرن و پیشرفته است و در مواقع مورد نیاز کنسول GUI بازی که همیشه در قسمت پایین صفحه در کنار شما خواهد بود ، تمام امکانهای مورد نیاز شما در اختیار قرار خواهد داد .
داستان بازی بر اساس یک روایت باستانی (شاهنامه ، اوستا ، بندهش )نوشته شده است و در جریان بازی طی دیالوگ ها و Cut Scene هایی توصیف خواهد شد و قابلیت های سینماتیک بازی نیز جلوه بصری زیبایی به این بخش از بازی می بخشد .


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

post

بازی سازی به سبک دیوید کیج

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

گزارش گر: مریم ثابت قدم اصفهان

حقوق این گزارش برای سایت انیمیشن دیتا محفوظ است

بخش اول : نکاتی در مورد بازی Heavy Rain از منظر دیوید کیج
سخنران : پویا دادگر

یکی از نکاتی که در طراحی بازی باید مد نظر قرار گیرد این است که یک بازی خوب لزوماً نباید در برگیرنده مراحل دشواری باشد که بازیکن را به کرات درگیر نماید. مهم این نیست که در یک سطح یا Level از بازی ما به دفعات مختلف درگیر بازی شویم ؛ بلکه آنچه شایان اهمیت است سرگذشت داستان است.
ما باید سرگذشت و سفر را در مقابل چالش های یک بازی مد نظر قرار دهیم . در همه بازی ها ، ما باید از نقطه ابتدایی A به نقطه انتهایی B برسیم. معمولاً ، شما طی مراحلی باید دشمنانی را از بین برده ؛ پازلی را حل کنید و یا یک مرحله دشواری را بپیمایید تا به نقطه B برسید . مسئله اصلی عبور از این نقاط نیست ؛ بلکه شما باید بعنوان یک بازیکن از سرگذشت بازی لذت ببرید و حتی سرنوشت داستان را رقم بزنید و نه اینکه یک بازی ساز ، بازیکننده را مقید به انجام اموری سازد که او طی مراحل مختلف انجام دهد.

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


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

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


یکی از دشواری ها در ساخت بازی ، وجود اسکریپت های پیچیده است که آرش جعفری در اینباره توضیح بیشتری می دهد. اما بطور کلی ، در بازی Heavy Rain شما دوربین ثابتی مشاهده نمی کنید. این دوربین ها متحرک اند و مراحل لودینگ هم با نبود Loading time به شیوه ای است که در وسط بازی متوقف نگردد.
کار جالب دیگری که در این بازی تحقق یافته این است که انیمیشن ها از روی Blue Ray خوانده شده و صدا نیز از روی هارد دیسک شنیده می شود . سپس ایندو در یک لحظه با هم ترکیب و ذخیره می شوند.


همه اینها باعث شده تا Heavy Rain واقع گرایانه جلوه کند. بعلاوه ، حدود چهار میلیون کد و هشتصد هزار دوربین در مراحل و مکانهای مختلف بازی وجود دارد که به نظر رقم های عجیب غریبی است . البته ذکر 62 محل قرار گیری مختلف دوربین نمایانگر دقت و زحمتی است که در این فرایند صورت گرفته است.

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

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


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

بخش دوم : مباحث سخت افزاری بازی Heavy Rain
سخنران : آرش جعفری
بازی سازان این تیم ، چندان به ارائه مباحث گسترده در این بازی نپرداخته اند. به نظر می آید که در این مورد چندان رغبتی نداشته اند. لذا ما با بسیاری از نکات فنی آن نا آشنا هستیم.
اما از دیدگاه یک بازی ساز می توان به نکات فنی موجود در این بازی اشاره کرد. بطور خلاصه می خواهیم به گفتگو در مورد Concept جدیدی در این ویدئو گیم بپردازیم. مسئله اصلی این است که همانطور که پویا دادگر نیز بدان اشاره داشت ؛ بازیکن می تواند سطوح (Levels ) مختلفی را در بازی تعیین کند.

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

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

لزوم به قرارگیری حالات چهره باعث شده تا در در فرایند بازی سازی از ابزار Facial capture و کپچر حالات چهره بازیگر استفاده شود.
ما باید از محتویات بازی ، ملکول Condition را خلق کنیم. مسئله مهم این است که باید به سراغ بخش احساسات چهره برویم و با توجه به وجود قسمت اعظم دیالوگ ها و عکس العمل های خاص ، باید این احساسات را به بخش انیمیشنی بازی مرتبط گردانیم.
لذا اینکار مستلزم توجه به موارد زیر است :
نمایش احساسات روی چهره
در لحظه مشاهده کاراکتر قادر باشیم علاوه بر دیالوگها ، عکس العمل او را نیز ببینیم .

Condition ها از جنس تصویر و انیمیشن های تعاملی اند. در مجموع ، یک تصویر می تواند صحنه (scene ) را در اختیارمان قرار می دهد که از مجموع آنها ، ما یک Level را تجربه می کنیم.
در بازی Heavy Rain به Close up بسیار تکیه شده است : Close up Lighting و Close up Facial
به لحاظ فنی ، تیم بازی ساز ، گام متفاوتی در مبحث Texture size برداشته است. آنان در ابتدا با استفاده از موشن کپچر توانستند کتابخانه ای (Library ) از حالات مختلف صورت تهیه کنند.اینچنین زوایای مختلف حرکت چشم و ابرو و خطوط ریز ایجاد شده بر صورت مد نظر قرار گرفت.


نکته بسیار اساسی در این بازی ، بهره مندی از یک انجین قدرتمند در ساخت Condition ها و assemble کردن همه محتویات طراحی شده است. در طراحی یک Condition که مولکول سازنده درخت واره احتمالات بازی را تشکیل می دهد ؛ همه تصمیمات نقش اساسی در روند بازی دارد.اگر شما جواب پسر تان را چیزی بدهید ، اتفاقاتی که در آینده رخ می دهد یک Condition در برابر این پاسخ بشمار می آید. لذا ما باید از طریق یک ادیتور ، به کتابخانه ای از تمام احتمالات دسترسی داشته باشیم. نام این ادیتور Yam است. ضمن اینکه این ادیتور بر روی AI نیز مانورهای خوبی می دهد.
اگرچه هوش مصنوعی در تمام بازی ها از الگوی یکسانی تبعیت می کند ؛ اما در این بازی شاهد حالات و عکس العمل های بهتر و بیشتر شخصیت ها هستیم.
بعلاوه ؛ در این ادیتور این بازی اهمیت Trigger بیش از انیمیشن است. و همچنین دارای یک Time line است که ما می توانیم انیمیشن ها را تسریع و یا کوتاه کنیم.

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

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


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

شاید با عدم وجود امکانات فناورانه در کشور ، تولید این قبیل بازی ها بسیار دشوار به نظر آید. اما تا پنج الی ده سال آینده و طی طراحی و تولید ابزارهای نوین ، می توان به ساخت چنین بازی هایی که به دفعات قابل بازی کردن هم هستند ؛ امیدوار بود.

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

post

نسخه 3 موتور بازی ساز یونیتی[unity 3 ]

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

دانلود نسخه 3 موتور بازی ساز یونیتی [unity game engine 3]

حدود 500 مگابایت