بازی و سرگرمی

گیمولوژی | رسانه تحلیلی بازی سازی | مقدمات شِیدر نویسی در یونیتی

GPU چیست؟

Graphics Processing Unit) GPU) یک واحد پردازش است که مسئولیت سرعت بخشیدن و بهبود عملیات‌های گرافیکی کامپیوتر را بر عهده دارد. GPU ابزاری اختصاصی برای رندرهای گرافیکی در کامپیوترهای شخصی و  کنسول‌‌های بازی است. این واحد گاهی اوقات واحد پردازش بصری یا VPU نیز نامیده می‌شود. ویژگی‌های GPU‌های جدید برای پردازش و ارائه دادن کارهای گرافیکی، آن‌ها را بسیار کارآمدتر از واحدهای پردازش مرکزی یا CPU در پردازش الگوریتم‌های پیچیده کرده است.

مقایسه ی سرعت پردازش GPU و CPU

یک CPU با چهار (یا 8 یا 10) هسته ای که در آن است.

یک GPU با هزاران هسته که در آن است.

چگونه GPU در مقایسه با CPU سریع تر است؟

هسته CPU برای انجام عملیات‌های سریالی (ترتیبی) طراحی شده است در حالی که هسته GPU برای عملیات موازی یا به طور همزمان طراحی شده است.

شیدر چیست؟

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

شیدر مجموعه ای از دستورالعمل‌ها است که بر روی GPU (واحد پردازش گرافیکی) اجرا می‌شود.

انواع shaderهای مبتنی بر قابلیت های خود را می‌توان براساس قابلیت‌ها یا هدف شید به شکل زیر دسته‌بندی کرد:

1.Vertex shader (شیدر رئوس)

2.Pixel shader (شیدر پیکسل)

3 .Geometry shader (شیدر اشکال هندسی)

4.Compute shader (شیدر محاسبه)

5. Tesselation shader (شیدر موزاییک)

وقتی بخواهیم روی صفحه نمایش جسمی را رسم کنیم، باید آن را در قالب اشکال هندسی اولیه یا Mesh نشان دهیم.

Mesh چیست؟

Mesh از راس یا شکلهای هندسی اولیه تشکیل شده است. اگر ما بخواهیم شکل هندسی آبجکتی را در بازی رسم کنیم، آن شکل باید از Mesh ساخته شده باشد. علاوه بر این می‌توان یک بافت (texture) را در Mesh استفاده کرد  یا می‌توان برای متحرک کردن کراکتر، Mesh را اسکلت بندی کرد(rigging). در ساده‌ترین مرحله حتی اگر ما بخواهیم که بافتی را رسم کنیم، مجبوریم که یک Mesh کارت و پس از آن تکسچر را رسم کنیم. اگر بخواهیم چیزی را سایه بزنیم، باید یک شی را رسم کنیم (مانند Mesh آن اول) و سپس آن را سایه بزنیم.

شکله‌ای هندسی اولیه (Primitive) واحد اصلیMesh عبارتند از:

– Triangle مثلث

– Line(خط)

– Point (نقطه)

چگونه یک مثلث را بر روی صفحه نمایش رسم کنیم و سایه بزنیم؟


به منظور رسم یک مثلث بر روی صفحه نمایش، ما اول باید رئوس را به عنوان Mesh (که از رئوس تشکیل شده است) رسم کنیم. برای رسم رئوس باید از اولین نوع شیدرمان(Vertex Shader) استفاده کنیم. ما اطلاعاتِ موقعیت راس را جمع آوری می‌کنیم (علاوه بر آن می‌تواند شامل مقدار نرمال و اطلاعات رنگ باشد) و به شیدر ورتکس می‌دهیم تا روی صفحه نمایش نشان داده شود.

مشکل بعدی ما این است که چگونه منطقه ی بین این رئوس را پر کنیم. به عبارت دیگر، چگونه پیکسل‌های صفحه‌ی نمایش را در ناحیه‌ی هندسی سایه بزنیم. برای انجام این کار، ما از Pixel Shaders استفاده می‌کنیم تا عملیات را اجرا کنیم. یک  Pixel Shader، همچنین به عنوان Fragment Shader شناخته می‌شود که نوعی شیدر است که روی پیکسل یا یک فرگمنت کار می‌کند.

Fragment Shader: برای تعریف یک المان که در نهایت به رنگ نهایی پیکسل تبدیل می‌شود کمک می‌کند.

Tessellation Shader : همچنین به عنوان Hull Shader شناخته شده است. Shaderهای نسبتا جدیدی است که به OpenGL 4 و Directx 3d 11 اضافه شده است. به طور خلاصه Tessellation Shader  به منظور تقسیم مش استفاده می‌شود.

شیدر با تابع ثابت (Fixed Function Shader): شیدری که قابل برنامه‌نویسی نیست و در داخل سخت افزار تعبیه شده است.

در Rendering Pipeline (خط لوله ی رندرینگ)، یک شیدر هندسی بین شیدر رأس و شیدر پیکسل قرار دارد.

 Geometry Shader (شیدر هندسی): به عنوان یک پیشنهاد‌، برای تغییر در ساختار و دستکاری شکل هندسی استفاده می‌شود. شیدر هندسی، یک شکل اولیه را به عنوان ورودی دریافت می‌کند (که آن را به عنوان Vertex shader -شیدر رئوس- یک رأس در نظر می‌گیرد) و در نهایت آن را به Pixel Shader جهت نمایش بر روی صفحه‌ی نمایش منتقل می‌کند.

Compute Shader:  شیدر محاسبه، هدف عمومی شیدر می‌باشد که در خارج Rendering Pipeline  استفاده می‌شود. یعنی دیگر در آن از شکل اولیه یا شیدر پیکسل استفاده نمی‌شود. در عوض، با استفاده از شیدر‌های محاسبه (Compute Shader) از قابلیت پردازش موازی GPU برای انجام وظایف عمومی استفاده می‌کند.

بیایید برای فهم عمل پردازش با مثال رسم Mesh Triangle شروع کنیم:

هر Mesh از تعدادی رئوس تشکیل شده است، به همین دلیل برای رسم یک Mesh برای اولین بار، قبل از ارسال آن به شیدر رأس به اطلاعات رئوس آن نیاز داریم. 

این اطلاعات شامل:

– موقعیت (position value of the vertex)

 – رنگ رأس (color value of the vertex)

 – و مقدار نرمال رأس (normal value of the vertex) می‌باشند.

کارخانه ی Vertex shader

Vertex Shader به عنوان یک ماشین پردازشگر، داده‌های ارسالی را داخل هر بسته به عنوان دستور، پردازش می‌کند. بعد از اینکه پردازش vertex shader تمام شد، آن اطلاعات پردازش شده را در قالب بسته دیگری به نام “خروجی ورتکس” (Vertex Output) فراهم می‌کند، سپس خروجی ورتکس بهRasterizer (رسام) می‌رود. 

Rasterizer

ورودی ورتکس و ورتکس خروجی باید حداقل اطلاعات موقعیت (Position) رأس را داشته باشد که بعداً آن را به Rasterizer  منتقل کند. معمولا، ورتکس شیدر موقعیت شی(Object-Space) را به موقعیت فضای طرح (Projection-Space) تبدیل می‌کند. در Vertex Shader، ما می‌توانیم مختصات هر رأس را تغییر دهیم.

به عنوان مثال برای اینکه شیدر پرچم را ایجاد کنیم می‌توانیم رئوس Mesh پرچم را بر مبنای تابع موج سینوسی حرکت دهیم.

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

رسام تعیین می‌کند که کدام یک از پیکسل‌های صفحه‌ی نمایش در ناحیه‌ی هندسی پوشیده می‌شود و هر پیکسل مقادیر Interpolation (درون یابی) خود را دارد. برای هر پیکسل تعیین شده‌، Fragment/Pixel Shader اجرا می‌شود. Vertex-Output مجموعه اطلاعاتی است که خارج از Vertex-Shader می‌باشد که به Rasterizer می‌رود و در نهایت به Fragment/Pixel ارسال می‌شود.

هنگامی که یک رسام با استفاده از فرآیند نمونه گیری برای پیدا کردن پیکسل‌ها، یک منطقه هندسی را پوشش می‌دهد، به هر پیکسل یک نمونه داده می‌شود و اشعه(Ray) از نقطه نمونه‌گیری عبور داده می‌شود. اگر پرتو با شکل هندسی برخورد کند این بدان معناست که پیکسل تحت پوشش شکل هندسی یا در داخل منطقه هندسی است.
نقش دیگرRasterizer این است که داده‌ها را برای پیکسل‌های بین رئوس درون یابی کند (Interpolate).

Interpolation

در محاسبات عددی، Interpolation (درون یابی) روشی است برای یافتن مقدار تابع درون یک بازه، زمانی که مقدار تابع در تعدادی از نقاط گسسته معلوم است.

اگر ما یک مثلث داشته باشیم با اطلاعات موقعیت (Position)، می‌توانیم آن را به Vertex Input راهی کنیم. سپس آن Rasterizer (رسام) اطلاعات هر ورتکس را دریافت می‌کند و اینکه کدام پیکسل صفحه ی نمایش باید با Mesh پوشش داده شود را کشف می‌کند .وقتی مثلث روی صفحه نمایش رسم شود رسام مقدار نرمال هر پیکسل را براساس مقدار نرمال خوانده شده‌ی هر ورتکس ارائه می‌دهد.

مقدار X رأس بالا برابر 0 و مقدار رأس X پایین برابر 1 است بنابراین مقدار وسطی برابر 0.5 می باشد.

به طور مشابه، مقدار Y راس بالا 1 و مقدار Y راس پایین 0 است، در نتیجه مقدار Y وسطی برابر 0.5 است.

درنتیجه مرکز این خط خواهد شد – (0.5، 0.5، 0). در این روش، مقدار برای هر پیکسل  توسط رسام محاسبه می‌شود.

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

ترجمه از: لینکدین Chayan Vinayak

مقالات مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بازی و سرگرمی

گیمولوژی | رسانه تحلیلی بازی سازی | مقدمه‌ای بر تحلیل هنری و روانشاسانه‌ی بازی‌های ویدئویی

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

 

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

 

حال با ارائه مثالی از بازی نبرد قبیله‌ها (Clash Of Clans) می‌خواهم مسائل روانشناختی و تاثیرات ضمیر ناخودآگاه و رابطه آن با بازی‌های ویدیوئی را توضیح دهم. یکی از میل‌های بنیادی و مشترک بین همه انسان‌ها میل به قدرت است. ریشه این میل برمی‌گردد به زمان کودکی انسان‌ها و رابطه شخص با پدر به عنوان سمبل قدرت که با نام عقده اُدیپ شناخته می‌شود. در واقع کنش‌های بین فرزند، مادر و پدر این میل را تشدید یا واپس‌زننده می‌کند. از آنجا که قصد ما در این مقاله صحبت درباره تاثیرات روان انسان و بازی‌های ویدیوئی است امیدوارم این توضیح مختصر حق مطلب را در این نوشته کوتاه ادا کرده باشد. لازم به ذکر است که روانشناس مطرح، زیگموند فروید، این مسائل را برای ما شرح داده و لازم است برای درک بهتر به کتاب‌های وی رجوع کنیم.

 

می‌توان گفت یکی از عوامل اعتیادآور بودن بازی نبرد قبیله‌ها Clash Of Clans، همان میل به قدرت است که گاه با ظواهر دیگر همچون میل به دیده شدن و میل به ستوده شدن نمایان می‌شود که در گیم‌پلی این بازی کاملا قابل رویت است. مانند قدرت روزافزون، ذخیره ثروت، پیروزی‎های مداوم و… که امیال درونی ما را ارضا می‌کنند. تمامی انسان‌ها در راستای ارضای امیال‌شان کارهایی انجام می‌دهند که ضمیر ناخودآگاه آن‌ها را هدایت می‌کند. این ارضای امیال به هیچ عنوان امری نیست که بتوان آن را دسته بندی کرد. بستگی به رفتار شخص دارد که می‌تواند آسیب زا یا در راستای تکامل امیال نابالغ آن شخص باشد. بگذارید مثالی برای‌تان بزنم. ما نمی‌توانیم بازی خدای جنگ (God of War) با صفاتی همچون ترویج دهنده خشونت، بی رحمی و صفاتی مشابه دسته‌بندی کنیم. زیرا وجود خشونت در روان تمام انسان‌ها قطعی است وهمچون دیگر امیال انسان نیاز به تخلیه دارد. اگر در زمان مناسب و به روش مناسب تخلیه نشود می‌تواند برای شخص و اجتماع آسیب زا باشد. روش تخلیه این احساس در انسان‌ها متفاوت است. شخصی با ورزش، دیگری در بازی و یا حتی ممکن است فردی با صحبت کردن این احساس را تخلیه کند. در اینجا من به مسئله زمان اشاره کردم. این زمان مناسب نیز قابل بررسی است. برای مثال افراد می‌توانند با ابزارهای متفاوتی همچون) ESRB که رده‌بندی سنی مناسب برای بازی‌ها را اعلام می‌کند) این زمان مناسب را بشناسند. البته لازم به ذکر است این عدد می‌تواند برای افراد متفاوت متغیر باشد که این مسئله نیاز به بررسی تخصصی‌تری دارد.

 

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

 

ماهیت بازی‌های ویدئویی و هنر

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

 

هنر برای هنر

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

 

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

 

سه صلیب | رامبرانت

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

 

رابطه تصویرسازی و بازی‌های ویدیوئی

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

 

حال می‌خواهیم تصویرسازی را با بازی‌های ویدیوئی مقایسه کنیم:

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

مقالات مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بازی و سرگرمی

گیمولوژی | رسانه تحلیلی بازی سازی | مقدمه‌ای بر برش عمودی (Vertical Slice)

تصور کنید ساخت یک بازی را برنامه ریزی کرده اید. تمامی کانسپت‌های آن آماده شده است. دیزاین های اولیه صورت گرفته و تمامی سیستم های اصلی جداگانه پروتوتایپ شده و کارایی آنها اثبات و امتحان شده‌اند. اما شما هنوز قبل از ورود به مرحله تولید اصلی و ترک مرحله پیش تولید نیاز دارید تا کارهایی را انجام داده و تصمیماتی را تصویب کنید. چرا که شما به تعداد زیادی مهندس، آرتیست، طراح بازی و … جهت پیاده سازی، تست و تایید محتوایی که برای بازی در نظر گرفته و زمان بندی کرده‌اید نیاز خواهید داشت و تمامی این موارد هزینه بالایی خواهد داشت. نه شما و نه کسی که روی بازی های شما قرار است سرمایه گذاری کند دوست ندارد، بر روی پروژه‌ای سرمایه خود را قرار دهد که اطمینانی از خوب بودن محصول نهایی و یا توانایی‌های اجرایی تیم سازنده، نسبت به آن ایده و طرح بازی، ندارد. بنابراین چیزی که نیاز دارید به سرمایه گذار خود جهت افزایش شانس سرمایه گذاری و ایجاد اطمینان نشان دهید برشی عمودی (Vertical Slice)  از بازیتان است که به آن اولین نسخه قابل بازی (First Playable) نیز می گویند.

 

Vertical Slice یا بُرش عمودی چیست ؟

 

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

 

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

 

 

چرا بسیاری از بازی سازان در دنیا از ساخت  Vertical Slice متنفر هستند؟

 

در ساخت برش عمودی باید تعداد زیادی از سیستم‌های بازی را به صورت حاضر و فعال داشته باشیم:

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

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

 

نسخه دمو قابل بازی منتشر شده از ریبوت Devil May Cry در واقع بُرش عمودی این بازی بوده است

 

دلایلی برای ساخت Vertical Slice :

 

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

 

 

  • قانع کردن سرمایه گذار

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

 

  • درک چکونگی کارکرد مکانیک ها در کنار یکدیگر

شما می­ توانید تک تک مکانیک‌های بازی خود را در پروتوتایپ‌ های جداگانه ایجاد کرده و آزمایش نمایید. حتی ممکن است از نتیجه آن ها نیز بسیار راضی باشید اما اینکه این مکانیک‌ها هر کدام جداگانه خوب هستند تضمینی بر این نخواهد شد که در کنار یکدیگر نیز تجربه لذت بخشی را به وجود می­‌آورند.

 

  • درک چگونگی کارکرد مکانیک‌ها، درون مراحل بازی

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

 

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

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

 

  • آیا ساخت این پروژه قانع کننده است ؟

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

  

در نهایت برش عمودی موضوعی نیست که ساختار مشخص و از پیش تعیین شده داشته باشد. هر تیم می تواند ساختار خود را تهیه کند و  پیش ببرد. تمام این موارد به نوع بازی شما و میزان توانایی تیم مربوط است. اما در پایان نکته ای که مشخص و معلوم است؛ نیاز قطعی به برش عمودی است. با استفاده از Vertical Slice شما هزینه‌های ساخت، ریسک شکست، احتمال ساخت بازی خسته کننده را پایین می‌آورید و از آن طرف سرعت ساخت، کیفیت و اعتماد به نفس تیم و در نهایت سرمایه گذار را بالا می برید.

مقالات مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بازی و سرگرمی

گیمولوژی | رسانه تحلیلی بازی سازی | مقدمه‌ای بر برش عمودی (Vertical Slice)

تصور کنید ساخت یک بازی را برنامه ریزی کرده اید. تمامی کانسپت‌های آن آماده شده است. دیزاین های اولیه صورت گرفته و تمامی سیستم های اصلی جداگانه پروتوتایپ شده و کارایی آنها اثبات و امتحان شده‌اند. اما شما هنوز قبل از ورود به مرحله تولید اصلی و ترک مرحله پیش تولید نیاز دارید تا کارهایی را انجام داده و تصمیماتی را تصویب کنید. چرا که شما به تعداد زیادی مهندس، آرتیست، طراح بازی و … جهت پیاده سازی، تست و تایید محتوایی که برای بازی در نظر گرفته و زمان بندی کرده‌اید نیاز خواهید داشت و تمامی این موارد هزینه بالایی خواهد داشت. نه شما و نه کسی که روی بازی های شما قرار است سرمایه گذاری کند دوست ندارد، بر روی پروژه‌ای سرمایه خود را قرار دهد که اطمینانی از خوب بودن محصول نهایی و یا توانایی‌های اجرایی تیم سازنده، نسبت به آن ایده و طرح بازی، ندارد. بنابراین چیزی که نیاز دارید به سرمایه گذار خود جهت افزایش شانس سرمایه گذاری و ایجاد اطمینان نشان دهید برشی عمودی (Vertical Slice)  از بازیتان است که به آن اولین نسخه قابل بازی (First Playable) نیز می گویند.

 

Vertical Slice یا بُرش عمودی چیست ؟

 

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

 

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

 

 

چرا بسیاری از بازی سازان در دنیا از ساخت  Vertical Slice متنفر هستند؟

 

در ساخت برش عمودی باید تعداد زیادی از سیستم‌های بازی را به صورت حاضر و فعال داشته باشیم:

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

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

 

نسخه دمو قابل بازی منتشر شده از ریبوت Devil May Cry در واقع بُرش عمودی این بازی بوده است

 

دلایلی برای ساخت Vertical Slice :

 

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

 

 

  • قانع کردن سرمایه گذار

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

 

  • درک چکونگی کارکرد مکانیک ها در کنار یکدیگر

شما می­ توانید تک تک مکانیک‌های بازی خود را در پروتوتایپ‌ های جداگانه ایجاد کرده و آزمایش نمایید. حتی ممکن است از نتیجه آن ها نیز بسیار راضی باشید اما اینکه این مکانیک‌ها هر کدام جداگانه خوب هستند تضمینی بر این نخواهد شد که در کنار یکدیگر نیز تجربه لذت بخشی را به وجود می­‌آورند.

 

  • درک چگونگی کارکرد مکانیک‌ها، درون مراحل بازی

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

 

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

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

 

  • آیا ساخت این پروژه قانع کننده است ؟

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

  

در نهایت برش عمودی موضوعی نیست که ساختار مشخص و از پیش تعیین شده داشته باشد. هر تیم می تواند ساختار خود را تهیه کند و  پیش ببرد. تمام این موارد به نوع بازی شما و میزان توانایی تیم مربوط است. اما در پایان نکته ای که مشخص و معلوم است؛ نیاز قطعی به برش عمودی است. با استفاده از Vertical Slice شما هزینه‌های ساخت، ریسک شکست، احتمال ساخت بازی خسته کننده را پایین می‌آورید و از آن طرف سرعت ساخت، کیفیت و اعتماد به نفس تیم و در نهایت سرمایه گذار را بالا می برید.

مقالات مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا