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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

کمپانی بازی سازی 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 به طور کامل برای بازی های خود ایجاد کرده اند.

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

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

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

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

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

نرم افزار های ساخت بازی

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

نرم افزارهای ساخت بازی زیر را بررسی کنید:

یونیتی (Unity)

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

آنریل انجین (Unreal Engine)

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

گیم میکر (Game Maker)

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

گیم سالاد (GameSalad)

GameSalad یک پلتفرم برنامه ریزی با قابلیت drag-and-drop (کشیدن و رها کردن) است که باعث می شود مبانی علوم رایانه را به آسانی و با سرگرمی آموزش داد. همچنین GameSalad ساده ترین پلتفرم برای ایجاد بازی های ویدئویی دو بعدی و برنامه های تعاملی است که توسط شرکت GameSalad برای سیستم عامل های MAC OS X و ویندوز تولید شده است.

GameSalad برای مصرف کنندگان و متخصصان خلاق مانند طراحان گرافیک، انیماتورها و توسعه دهندگان بازی برای نمونه سازی سریع، ساخت و انتشار بازی های Cross-platform و رسانه های تعاملی کاربرد دارد.

مونو گیم (MonoGame)

MonoGame به شما امکان می دهد از دانش خود در مورد زبان های NET و #C برای ایجاد بازی برای iOS، Android، PlayStation 4، macOS و موارد دیگر استفاده کنید.

کرای اینجین (CryEngine)

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

ShiVa

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نظرتون درباره این نوشته چیه؟ عالیه بد نیست خوب نبود