آموزش ساخت بازی

ساخت بازی

در این صفحه می خوانید:

تاریخچه ساخت بازی

تاریخ بازی با توسعه اولین بازی های ویدئویی آغاز می شود، هر چند که بازی های ویدئویی بستگی به تعریف آن دارد، اولین بازی ها ارزش سرگرمی کمی داشتند و تمرکز توسعه آنها جدا از تجربه کاربر بود، در حقیقت این بازی ها نیاز به رایانه داشتند. OXO، توسط الکساندر داگلاس در سال 1952، اولین بازی کامپیوتری بود که از صفحه نمایش دیجیتال استفاده کرد. در سال 1958 یک بازی به نام تنیس برای دو، که خروجی آن روی یک اسیلوسکوپ نمایش داده می شد توسط فیزیکدان ویلی هگینبثام، در آزمایشگاه ملی بروکلین ساخته شد. در سال 1961 بازی رایانه ای به نام Spacewar توسط گروهی از دانشجویان موسسه فناوری ماساچوست به رهبری استیو راسل ایجاد شد. طراحی تجاری واقعی و توسعه بازی ها در دهه 1970 آغاز شد، زمانی که بازی های ویدیویی و نسل اول کنسول ها به بازار عرضه شد. در سال 1972، اولین سیستم کنسول خانگی به نام Magnavox Odyssey منتشر شد. در همان سال شرکت آتاری بازی پونگ را منتشر کرد که محبوبیت بازی های ویدئویی را افزایش داد. موفقیت تجاری پونگ شرکت های دیگر را برای توسعه کلون های پونگ و تولید بازی های ویدئویی ترغیب کرد.

در اوایل سال 2000 بازی های موبایل شروع به محبوبیت نمود. از آنجا که نسل سوم کنسول ها و صنعت بازی های ویدئویی خانگی به طور مداوم رشد و گسترش داشت درآمد صنعت بازی از دهه 1990 حداقل پنج برابر شده است. در سال 2007 درآمد بازی های ویدئویی بخش نرم افزاری 9.5 میلیارد دلار بود که بیشتر از صنعت فیلم بود. سریعترین بخش های بازار در حال رشد، بازی های موبایل با میانگین سالیانه 19٪ برای گوشی های هوشمند و 48٪ برای تبلت ها است.

ساخت بازی چیست؟

بازی سازی یا توسعه بازی ویدیویی فرآیندی است که در آن بازی‌های ویدئویی عرضه می‌شوند. توسعه بازی های کامپیوتری و کنسول های تجاری سنتی معمولا توسط یک ناشر تامین می شود. تهیه‌کننده و ناشر معمولاً خارج از تیم طراحی و از شرکت‌های بیرونی هستند و می توانند در طول چند سال این فرآیند را به اتمام برسانند. بازی های Indie معمولا زمان و پول کمتری می گیرند و می توانند توسط افراد و توسعه دهندگان کوچک تولید شوند. صنعت بازی مستقل افزایش یافته است و با رشد سیستم های جدید توزیع آنلاین مانند Steam و Uplay و همچنین مارکت های بازی موبایل برای دستگاه های Android و iOS این روند تسهیل شده است.

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

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

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

OpenGL در توسعه بازی: هر بازی سه بعدی که حداقل در یک پلتفرم متفاوت از مایکروسافت، نینتندو و سونی اجرا می شوند از OpenGL استفاده می کنند که شامل هر بازی است که در لینوکس، اندروید، MAC OS X ، آیفون-اپل، سیمبین و غیره اجرا می شود.

Sprite Kit در توسعه بازی: با این رندر گرافیک و زیر ساخت انیمیشن می توانید با استفاده از یک سیستم انیمیشن سازی بهینه سازی شده، شبیه سازی فیزیکی و پشتیبانی از رویداد، بازی های مبتنی بر دوبعدی را ایجاد کنید.

GameSalad در توسعه بازی: ساده ترین پلتفرم برای ساخت بازی های ویدئویی دو بعدی و برنامه های تعاملی است که برای سیستم عامل های MAC OS X و ویندوز طراحی شده است.

انواع موتور بازی سازی که دارای محبوبیت هستند در زیر اشاره شده است:

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

آنریل انجین: آنریل انجین یک موتور بازی سازی است که در زبان ++C نوشته شده است و دارای درجه بالایی از قابلیت انتقال و ابزاری است که امروزه بسیاری از توسعه دهندگان بازی استفاده می کنند. هدف بزرگ استفاده از تکنولوژی Unreal ساخت پایگاهی از کد بود که بتوان آن را از طریق نسل های مختلف بازی توسعه و بهبود داد.

Game Maker: یک ابزار توسعه بازی است که شما را قادر به ساخت بازی های ویدئویی می کند. همه توسعه دهندگان بازی می توانند از GameMaker Studio استفاده کنند. خواه شما یک توسعه دهنده حرفه ای باشید که به دنبال ورود به انجمن بازی های ویدئویی است یا یک دانش آموز علاقه مند به رشته بازی ویدئویی، می توانید از این نرم افزار استفاده کنید. از این رو استفاده از این نرم افزار برای ایجاد بازی های کامپیوتری آسان است.

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

Havok Vision Engine: یک موتور بازی متقاطع سه بعدی است که توسط Trinigy ساخته شده و توسط Havok در سال 2003 منتشر شد.

ShiVa:یک موتور بازی سه بعدی با یک ویرایشگر گرافیکی است که برای ایجاد برنامه های کاربردی و بازی های ویدئویی برای رایانه های رومیزی، وب، کنسول های بازی و دستگاه های تلفن همراه طراحی شده است. برنامه های کاربردی متعددی با استفاده از ShiVa از جمله بازسازی شاهزاده ایرانی 2 برای موبایل و بابل ریز توسط  Ubisoft منتشر شده است. موتور های بازی سازی فراوانی وجود دارد که هر کدام در حد خود فوق العاده هستند اما ما در اینجا سعی کردیم چند تا از برترینها رو برای شما شرح دهیم.

درآمد ساخت بازی

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

کمپانی بازی سازی Blizzard Entertainment: شرکت بازی سازی بلیزارد به عنوان یکی از قدیمی ترین استودیو های بازی سازی دنیا به شمار می رود که تا به امروز توانسته با ارائه 7 بازی خارق العاده همانند بازی معروف WarCraft درآمد چشمگیر 4 بیلیون دلاری را برای خود در سال 2014 به ارمغان بیاورد. همچنین می توان به بازی StarCraft نیز پرداخت که سود سالیانه این بازی برای شرکت حدود 4.5 بیلیون دلار تخمین زده شده است.

کمپانی بازی سازی UbiSoft: شرکت بازی سازی UbiSoft یکی از بزرگترین و ثروتمند ترین شرکت های دنیا می باشد. ارزش تخمینی این شرکت تا به امروز چیزی حدود 2 بیلیون دلار برآورد شده است .کمپانی یوبی سافت دارای 29 استودیو زیرمجموعه است و از بازی های معروف این کمپانی می توان به Assassins creeds ،prance of Persia ،cell و splinter اشاره کرد.

کمپانی بازی سازی Konami: شرکت بازی سازی konami یکی از برترین شرکت های بازی سازی دنیا می باشد که از بدو تولد خود فراز و نشیب های بسیاری را طی کرد، اما با ورود مغز متفکری مثل هیدئو کوجیما این شرکت جان تازه ای به خود گرفت و توانست رشد سریعی در بین کمپانی های بازی سازی داشته باشد. از موفق ترین بازی های این شرکت می توان به Silent Hill و بازی فوتبالی PES اشاره کرد.

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

تکنولوژی های ساخت بازی

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

بسیاری از بازی ها به طور انحصاری در یک زبان نوشته نشده و ممکن است دو یا چند زبان را ترکیب کنند. به عنوان مثال Unity، یک موتور بازی محبوب، قطعات مختلفی در C و ++C و #C دارد. برای کنسول ها، حمایت از پلت فرم هدف، معمولا مورد توجه ترین عامل است. در گذشته، بازی های ویدئویی برای کنسول ها تقریبا به طور انحصاری در زبان اسمبلی به دلیل منابع محدود از نظر سرعت ذخیره سازی و پردازش نوشته شده بود. با این حال، با پیشرفت تکنولوژی، گزینه هایی برای توسعه بازی در کنسول ها وجود دارد. نینتندو، مایکروسافت و سونی همه SDK های متفاوت خود را برای Wii U، نینتندو سوئیچ، ایکس باکس وان و پلی استیشن دارند. بسیاری از توسعه دهندگان زبان های سفارشی مانند QuakeC و UnrealScript به طور کامل برای بازی های خود ایجاد کرده اند.

چند سکویی در بازی سازی

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

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

دسته دوم: توسط زبان‌های تفسیرشده نگارش می‌شوند و توسط مفسرهای موجود در هر سکوی رایانه‌ای قابل اجرا هستند.

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

از مهمترین تکنولوژی هایی که از قابلیت چند سکویی پشتیبانی می کنند عبارتند از:

  • Unity
  • Unreal Engine
  • GameMaker Studio
  • CryEngine
  • Vision
  • ShiVa

مسیر توسعه بازی

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

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

مسیر ساخت بازی

یادگیری های توصیه شده برای هر مسیر :

  • گیت
  • گیت هاب
  • مهارت های ارتباطی
  • دانش تحقیق کردن
  • سوال و جواب و تحقیق

در صورتی که مسیر برنامه نویسی سمت کلاینت بازی را انتخاب کنید از طریق این لینک تصویر با تکنولوژی های مورد نیاز آشنا شوید.توسعه دهنده کلاینت و دیزاینر بازی باید زبان برنامه نویسی #C به همراه موتور بازی یونیتی را یاد بگیرند. همچنین یادگیری ساختمان داده ها و الگوریتم های زبان C جهت ارائه راه حل های کارآمد برای مشکلات پیچیده و یادگیری قوی زبان C به همراه الگوریتم ها و ساختمان داده جزو مباحث پایه ای این مسیر می باشد.

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

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

گرچه این مسیر آسانی نخواهد بود اما با پیروی از این راهنما توقف کمتری برای رسیدن به هدف خود دارید.

آیا این نوشته را دوست داشتید؟