پیشتر در مورد ضرورت یادگیری بازی سازی و چگونگی کسب درآمد از بازی سازی صحبت کردیم. حال میخواهیم بازی سازی را شروع کنیم. یکی از مراحل اولیه برای بازی سازی (حتی گاهی قبل از تشکیل تیم بازی سازی)، انتخاب یک موتور بازی سازی است. دانستن این که بازی شما با کدام موتور بازی سازی قابل توسعه است، کمک میکند تا در انتخاب اعضای تیم بازی سازی بهتر عمل کنید. علاوه بر آن، اگر کسی بخواهد به عنوان یک بازی ساز مستقل تمامی وظایف بازی سازی را به تنهایی انجام دهد، باید از میان موتورهای بازی سازی یکی را انتخاب کند، چراکه فرصتی برای یادگیری همه چیز را نخواهد داشت و با انتخاب موتور مناسب، کارها سریعتر و سازمانیافتهتر انجام میشود. پس تصمیم گرفتیم تا در این مقاله در مورد موتورهای بازی سازی و اهمیت آنها صحبت کنیم و موتورهای بازی سازی محبوب و کاربردی را به شما معرفی کنیم؛ با ما همراه باشید.
موتور بازی سازی چیست؟
موتور بازی سازی یک برنامه یا فریمورک است که بازی سازان با کمک آن میتوانند بخشهای مختلف بازی خود را سریعتر ساخته و همزمان بازی را تست کنند. موتورهای بازی سازی قدرت گرافیکی بالایی دارند و در واقع ترکیب چند نرم افزار با یکدیگر هستند. برای مثال فرض کنید میخواهید یک بازی مشابه با بازی سوپرماریو یا همان قارچخور بسازید. برای ساخت این بازی، باید تصاویر محیط بازی و کاراکتر را با برنامه فتوشاپ طراحی کنید. برای اضافه کردن صدا یا ساخت موسیقی بازی و چسباندن آن به تصاویر باید از نرم افزارهای ساخت و ترکیب صدا کمک بگیرید. برای طراحی مراحل بازی، منطق و کنترلرها باید در یک محیط برنامه نویسی (IDE) شروع به کدنویسی کنید و همزمان این بخشها را به یکدیگر چسبانده و یک خروجی در قالب پلتفرمهای مختلف بگیرید تا بتوانید بازی را در مراحل مختلف تست کنید. موتورهای بازی سازی همهی این کارها را در قالب یک نرم افزار به شما ارائه میدهند و نیازی نیست که برای اتصال بخشهای مختلف بازی خود نگران این موارد باشید.
امکانات موتورهای بازی سازی چیست؟
موتورهای بازی سازی با یکدیگر متفاوت هستند و ممکن است یک موتور قابلیتی داشته باشد که موتورهای دیگر فاقد آن هستند. در ادامه برخی از امکاناتی که موتورهای بازی سازی برای بازی سازان فراهم میکنند را بررسی میکنیم. ما در این قسمت سعی کردیم تا آن دسته از قابلیتهایی را معرفی کنیم که اغلب موتورهای بازی سازی در اختیار بازی سازان قرار میدهند.
محیط تجمیع شده
موتورهای بازیسازی، قدرت گرافیکی بالایی دارند. هر موتور بازی سازی دارای یک محیط گرافیکی برای طراحی بازی و ترکیب بخشهای مختلف است. این محیط گرافیکی به فرآیند تولید بازی کمک میکند. برای مثال وارد کردن (Import) فایلها به محیط بسیار ساده است. علاوه بر آن، رابط گرافیکی برای اجرای بازی هنگام روند توسعه، میتواند عملیات رندر را با سرعت خوبی فراهم کند.
فیزیک در بازی سازی
فیزیک در بازی سازی، همان عملکرد منطقی المانهای موجود در بازی و ارتباط اجزای مختلف بازی با یکدیگر است. این شبیه سازی از روی سیستم فیزیک در دنیای واقعی نشات میگیرد. برای مثال، بازی سوپر ماریو را در نظر بگیرید. ماریو باید بپرد و با برخورد به قارچها تکامل پیدا کند. در موتورهای بازی سازی، دیگر مفاهیم پایهای فیزیک مانند برخورد بین اشیای بازی و یا حرکاتی مانند پرش، از قبل پیاده سازی شده است و لازم نیست بازی ساز صفر تا صد کد را خودش بنویسد. در حقیقت با استفاده از موتورهای بازی سازی فقط با نوشتن چند خط کد میتوان کاری کرد تا اشیای بازی به همان صورتی که میخواهید رفتار کنند.
کدنویسی
یکی از مهمترین قسمتهای هر موتور بازی سازی کدنویسی یا اسکریپت نویسی (Scripting) در آن است. بازی ساز، منطق بخشهای مختلف بازی را در فایلهایی تحت عنوان اسکریپت مینویسد. کدنویسی باعث میشود بازی ساز بتواند تفکر خود را در بازی اجرا کند. بسیاری از اشیای معمول در بازیها مانند دوربین، سیستم اجرای انیمیشن و... از قبل در موتورهای بازی سازی کدنویسی شدهاند و نیازی نیست تا بازی ساز دوباره چرخ را اختراع کند.
گرافیک و صدا
در بسیاری از موتورهای بازی سازی، بازی ساز این امکان را دارد تا منابع مورد نیاز بازی (مانند صداها و موسیقی، تصاویر، مدلها، انیمیشنها و...) را از پایه طراحی کند. اما حتی اگر موتوری این قابلیت را نداشته باشد، میتواند به راحتی منابع موردنظر خود را از پلتفرمهای مخصوص مانند فتوشاپ و... انتخاب و تهیه کرده و در بازی استفاده کند. منابع بازی باعث ایجاد احساس در بازیکن شده و در نهایت موجب افزایش علاقهی او به بازی کردن میشود. موتورهای بازی سازی کمک میکنند تا با جمعآوری این منابع، آنها را به صورت خلاقانهای در بازی خود استفاده کنید.
رابط کاربری
بسیاری از بازیها رابط کاربری یا UI مخصوص خود را دارند. این رابط کاربری بسته به نوع روایت و گرافیک بازی طراحی میشود. اما محتوای کلی المانهای رابطهای کاربری، کمابیش یکی است؛ برای مثال همیشه نیاز به یک دکمه دارید و فقط تابعی که میخواهید با فشار دادن دکمه صدا زده شود، متفاوت است که آن تابع هم با کد نوشته میشود. به همین دلیل است که بیشتر موتورهای بازی سازی ابزارهایی را برای طراحی رابط کاربری در اختیار بازی سازان قرار میدهند؛ المانهایی مانند دکمهها، منوهای کشویی، اسلایدرها و... .
شبکه سازی
بسیاری از بازیها به گونهای طراحی میشوند تا بتوانید با دوستان خود به صورت گروهی و آنلاین بازی کنید. در این بازیها به یک بستر قدرتمند شبکه سازی (Networking) و یک سرور قدرتمند نیاز است که اتصالات را پردازش کرده و حوادث بازی را در بستر شبکه با سرعت و دقت بالایی منتقل کند. بازیهای تحت شبکه یکی از دستههای پرطرفدار در بین انواع ژانرهای مختلف بازی هستند؛ به همین دلیل، اغلب موتورهای بازی سازی دارای سیستم شبکه سازی، کامپوننتهای قابل تنظیم و APIهای داخلی هستند که این امکان را به بازی ساز میدهند تا برای بهینهسازی بازیهای آنلاین و چندنفره از آنها استفاده کنند.
هوش مصنوعی
ممکن است بخواهید یک بازی طراحی کنید که در آن دشمنان در حال مبارزه با کاراکتر اصلی بازی یا همان قهرمان بازی باشند. این دشمنان باید به قدری هوشمند طراحی و پیاده سازی شوند که بازیکن از بازی کردن احساس بیهودگی نکند. موتورهای بازی سازی زیادی، سیستم هوش مصنوعی پیشرفته را ارائه میدهند. وجود این سیستم باعث میشود تا بازی ساز تمرکز خود را روی تنظیم درجهی سختی بازی و طراحی بازی گذاشته و از اتلاف وقت بر سر پیاده سازی کدهای پیچیدهی هوش مصنوعی جلوگیری کند. همچنین امروزه بازیهای زیادی با محوریت فناوریهای واقعیت ترکیبی مانند واقعیت مجازی و یا واقعیت افزوده ساخته میشوند. این فناوریها در بسیاری از موتورهای بازی سازی دارای پکیج هستند و تنها با نصب آنها به راحتی میتوانید ساخت بازی خود را شروع کنید.
ساخت فایل نهایی بازی
در برنامه نویسی، اگر بخواهید یک برنامه را در قالب اندروید، ios و دسکتاپ بسازید، باید برای هر پلتفرم به سراغ زبان برنامه نویسی مخصوص آن بروید. در غیر این صورت تنها انتخاب شما فریمورکهایی است که از چند پلتفرم پشتیبانی میکنند یا به اصطلاح چندسکویی هستند. این باعث میشود که انتخابهایتان تا حد زیادی محدود شود. اما در بازی سازی به لطف وجود موتورهای بازی سازی نیاز نیست تا نگران چنین مشکلی باشید. اغلب موتورهای بازی سازی، خروجی فایل بازی را به صورت خودکار برای پلتفرمهای مختلف ارائه میدهند و شما فقط باید تنظیمات خروجی از قبیل آیکون بازی، تنظیمات صفحهی نمایش بازی و... را مشخص کنید.
آیا همیشه باید از موتورهای بازی سازی استفاده کرد؟
موتورهای بازی سازی با یک فریمورک بسیار بزرگ و نسبتا ساده، کمک میکنند تا بازی سازان این بخشها را با زحمت کمتری به یکدیگر وصل کنند. در حقیقت در یک موتور بازی سازی صرفا با وارد کردن منابع (مانند صداها و تصاویر) و اختصاص دادن کد مناسب به هرکدام، بازی شما ساخته میشود. برای اجرای همزمان بازی در حال توسعه نیز تنها یک کلید اجرا را فشار میدهید. برای گرفتن خروجی هم به راحتی گزینههای موردنظر خود را مشخص میکنید.
علاوه بر آن، موتورهای بازی سازی دارای یک فریمورک ساخت بازی میباشند که در دفعات بعدی ساخت بازی قابل استفاده هستند. این ویژگی به بازی سازان کمک میکند تا زمان بیشتری را برای تمرکز بر مولفههای اصلی ساخت بازی مانند مدلهای شخصیت، بافتها، نحوه تعامل اشیا و... اختصاص دهند و به عبارتی آنها دیگر درگیر نکات حاشیهای ساخت بازی مانند چگونه خروجی گرفتن از بازی نمیشوند.
ساخت بازی بدون کمک موتورهای بازی طولانیتر و سختتر است. با این حال، بسیاری از شرکتهای بازی سازی بزرگ و حتی کوچک (که به آنها indie گفته میشود) ابتدا خود یک موتور بازی سازی را میسازند و سپس با کمک آن توسعهی بازی را آغاز میکنند. ساخت موتور بازی سازی نیازمند استفاده از واسطهای کاربردی مانند DirectX، opengl و XNA است و همچنین کتابخانههای تجاری و متنباز شامل فیزیک، طراحی صحنه، گرید بندی صفحه و کتابخانههای GUI را در بر میگیرد. لذا ایجاد موتورهای بازی سازی کار آسانی نیست اما گاهی اوقات لازم است که بازی به اندازهی کافی متفاوت ساخته شده باشد که در هیچ کدام از موتورهای بازی سازی معمول موجود کار نکند و توسط سایرین کپی نشود.
محبوبترین موتورهای بازی سازی کدامند؟
موتورهای بازی سازی فراوانی ساخته شدهاند که امکانات زیادی برای بازی سازان فراهم کردهاند. در ادامه موتورهای بازی سازی محبوب را بررسی میکنیم.
آنریل انجین (Unreal Engine)
یکی از شناخته شدهترین و پیشرفتهترین موتورهای بازی، موتور آنریل است که توسط شرکت اپیک گیمز (Epic games) ساخته شده است. نسخهی اصلی آنریل در سال ۱۹۹۸ منتشر شد و امروزه یکی از کاربردیترین موتورهای بازی سازی است. از بازیهای معروف ساخته شده با موتور آنریل میتوان به سری Mass Effect، مجموعهی Gears of wars، سری بایوشاک و سری بتمن اشاره کرد.
قدرت موتور بازی سازی آنریل در سیستم گرافیکی آن است. بلو پرینت (Blueprint) سیستم کدنویسی بصری آنریل است که به بازی ساز امکان تعریف منطق قسمتهای مختلف بازی را بدون کدنویسی میدهد. آنریل همچنین میتواند به اندازه کافی تغییر داده شود تا بازیها را به تجربههای بسیار منحصر به فرد تبدیل کند. زبان برنامه نویسی بازی سازها در این موتور ++C است. آخرین نسخه از موتور آنریل ورژن ۴ است که ابزارهای کاربردی زیادی را برای توسعه دهندگان فراهم کرده است. با این حال، موتورهای دیگری وجود دارند که برای بازی سازان تازه وارد آسانتر هستند.
یونیتی (Unity)
محبوبترین موتور بازی سازی برای تازهکارها یونیتی است. یونیتی یک موتور بازی سازی پیشرفته با امکانات زیاد است که بسته به نوع بازی میتوانید از آن امکانات استفاده کنید. به عبارتی، امکانات زیاد یونیتی باعث پیچیدگی آن نمیشود و یادگیری آن برای بازی سازها آسان است. اگر بخواهید با برنامه نویسی بازی سازی کنید، یونیتی انتخاب اول شماست. از معروفترین بازیهای مستقل ساخته شده با یونیتی میتوان Inside، Ori and the Blind Forest، Cuphead و Firewatch را نام برد. بازی ایرانی و تحسین شده فرزندان مورتا (Children of Morta) نیز با این موتور ساخته شده است.
برخی از مزایای یونیتی عبارتند از:
یونیتی تنها با چند کلیک، برای پلتفرمهای مختلف (دسکتاپ، تلفن همراه، پلی استیشن، ایکس باکس و...) خروجی بهینه تولید میکند.
به کاربر اجازه میدهد بهراحتی با محتواهای سهبعدی تعامل برقرار کند.
به بازی ساز حق انتخاب میدهد که از بین دو زبان #C و جاوا اسکریپت یکی را انتخاب کرده و کدنویسی را شروع کند.
به دلیل عملکرد قوی، بسیاری از بازی سازان و به خصوص بازی سازان مستقل به سراغ آن میروند.
یادگیری آن به نسبت امکانات زیادی که دارد، آسان است.
منابع زیادی برای یادگیری یونیتی و یک جامعهی بازی ساز گسترده برای رفع اشکالات بازی سازی با یونیتی وجود دارد.
یونیتی رایگان است و به راحتی قابل دانلود میباشد.
یونیتی قابل نصب بر روی پلتفرمهای مختلف است و برای کار با آن نیازی به مهاجرت به سیستم عامل خاصی نیست.
پکیجهای کاربردی و زیادی در یونیتی ساخته شده است که از طریق فروشگاه دارایی یونیتی (Asset Store) در دسترس هستند. در این فروشگاه توسعه دهندگان پکیجهای ساخته شدهی خود را با دیگران به صورت رایگان یا پولی به اشتراک میگذارند و شما میتوانید هر چیزی که برای ساخت بازی خود نیاز دارید را در این فروشگاه بیابید.
کرای انجین (Cry Engine)
کرای انجین نیز یکی از موتورهای بازی سازی رایگان است که بدون پرداخت پول میتوان به تمامی امکانات آن دسترسی پیدا کرد. کرای انجین به وسیلهی شرکت آلمانی کرایتک (Crytek) ساخته شده است و همانند آنریل، نقطهی قوتش گرافیک بسیار بالای آن است. سری بازیهای معروف فارکرای (FarCry) و کرایسیس (Crysis) با کرای انجین توسعه یافتهاند. کرای انجین از عینک واقعیت مجازی Oculus Rift پشتیبانی میکند و برای ساخت بازیهای واقعیت مجازی (VR) نیز گزینهی مناسبی است.
منابع آموزشی رایگان زیادی برای کرای انجین در اینترنت وجود دارد. این منابع شامل ویدئوهای آموزشی، انجمنها، مستندات و مقالات هستند، اما به دلیل جزییات زیاد این موتور ممکن است یادگیری آن کمی سخت باشد. همانند یونیتی، کرای انجین نیز یک فروشگاه برای اشتراکگذاری انواع پکیجهای رایگان و پولی به نام Cryengine Marketplace دارد.
برای استفاده از کرای انجین به یک سیستم پردازشی قوی نیاز دارید. پس حتما حداقل سیستم مورد نیاز برای نسخهی کرای انجین مورد نظر خود را بررسی کنید. اگر کامپیوترتان به اندازهی آن قوی نبود، به سراغ سایر موتورهای بازی سازی بروید. در غیر این صورت، کرای انجین برای ساخت بازی روی کامپیوترهای شخصی و کنسولهای بازی که توان گرافیکی بالایی دارند از بهترین گزینههاست.
گودو (Godot)
اولین نسخهی موتور بازی سازی گودو در سال 2014 منتشر شد و محبوبیت آن با گذشت سالها، به تدریج با فراهم کردن یک مجموعهی کامل از ابزارهای مورد نیاز برای بازی سازان، رشد کرد. گودو هم برای ساخت بازیهای دوبعدی و هم بازیهای سهبعدی مناسب است. در ایران، گودو و یونیتی در رقابت سختی هستند و بازی سازان با نیازسنجی بازی خود یکی از این دو را انتخاب میکنند.
موتور گودو تحت لایسنس MIT، رایگان و متن باز است. علاوه بر آن، انجمنهای زیادی برای پاسخ به سوالات، رفع باگها و توسعهی ویژگیهای جدید گودو ایجاد شدهاند. پس برای یادگیری گودو به مشکل جدی برنخواهید خورد. این انجمنها در حال حاضر بسیار فعال هستند و به خاصترین سوالات نیز پاسخ میدهند.
گیم میکر (Game Maker)
اغلب افرادی که در گذشته برنامه نویسی نکردهاند، به سراغ گیم میکر میآیند. چراکه برخلاف موتورهای بازی سازی دیگر، محبوبیت گیم میکر به این دلیل است که برای بازی سازی با آن، نیازی به دانش برنامه نویسی نیست. گیم میکر به جای کدنویسی، یک سیستم ایونت (event) و اکشن (action) طراحی کرده است که به مراتب از برنامه نویسی با زبانهای مختلف راحتتر و سریعتر است. بازیهای Hotline Miami، Super Crate Box و بازی ایرانی مِموراندا همگی با گیممیکر ساخته شدهاند.
اگر برنامه نویس باشید احتمالا میدانید که کدنویسی چقدر کار را برای تغییرات مختلف آسان میکند و هر منطقی را با کمی فکر میتوان پیاده سازی کرد. از آن جایی که گیم میکر از این امکان بهرهمند نیست، بازی ساز هنگام کار با آن برای پیاده سازی برخی از مکانیکهای بازی موردنظر خود با محدودیت روبهرو میشود. البته گیم میکر قابلیت اسکریپت نویسی نیز دارد و از یک زبان مخصوص خود با نام GML استفاده میکند. GML زبان آسانی است و بازی سازان با استفاده از آن میتوانند کمی از محدودیتهای گفته شده را برطرف سازند.
گیم میکر برای ساخت بازیهای دوبعدی استفاده میشود و اگر میخواهید بازیهای سهبعدی بسازید، بهتر است موتور بازی سازی دیگری را انتخاب کنید. هر چند یک نسخهی رایگان برای گیم میکر وجود دارد، اما برای استفاده از امکانات بیشتر نیاز به خریداری یکی از نسخههای Professional یا Master دارید.
کانستراکت (Construct)
در گذشته بازی سازان زیادی از کانستراکت استفاده میکردند، چراکه کانستراکت نیز همانند گیم میکر از آن دسته موتورهای بازی سازی است که در آن نیازی به کدنویسی ندارید. کانستراکت هم برای ساخت بازیهای دوبعدی به کار میرود، با این تفاوت که مبتنی بر HTML است. پس اگر با HTML5 آشنا هستید و قصد ساخت بازی دوبعدی برای پلتفرم تلفن همراه دارید میتوانید از کانستراکت استفاده کنید.
یکی از نقاط قوت کانستراکت، ساده بودن آن و منابع آموزشی زیاد است. همچنین بازیهای توسعه یافته با کانستراکت میتوانند در قالب انواع پلتفرمها از قبیل اندروید، iOS، ویندوز فون و مرورگرهای وب منتشر شوند.
موتورهای بازی سازی کمتر شناخته شده
در بخشهای قبل موتورهای بازی سازی محبوب را معرفی کردیم. با این حال گزینههای بیشتری نیز برای انتخاب وجود دارد. ممکن است بسته به نوع بازی خود به یک ویژگی خاص نیاز داشته باشید و مجبور باشید به سراغ موتورهای بازی سازی نه چندان مشهور بروید. برخی از این موتورها عبارتند از:
هر یک از موتورهای بازی سازی معرفی شده مزایا و معایب خودشان را دارند. در حال حاضر یونیتی و آنریل محبوبترین موتورهای بازی سازی (به خصوص در ایران) هستند. چراکه تقریبا انواع مختلف بازیهای دوبعدی و سه بعدی را پشتیبانی میکنند و یادگیری آنها راحتتر است. برخی فکر میکنند موتور بازی سازی که دارای بیشترین امکانات ممکن باشد یک موتور بازی سازی عالی است. اما این تصور در بسیاری از موارد اشتباه است. به طور کلی اینکه کدام یک از این موتورهای بازی سازی را انتخاب میکنید، براساس مواردی مشخص میشود که در ادامه به آن میپردازیم.
سیستم کامپیوتری
داشتن یک کامپیوتر، ابتداییترین مرحله از ساخت بازی است. با این حال، همه نمیتوانند هزینهی یک کامپیوتر با حداقل پیشنیازها را بپردازند. اگر کامپیوترتان ضعیف است، به سراغ بازی سازی نروید. چراکه موتورهای بازی سازی نیاز به قدرت بالای پردازشی و گرافیکی دارند تا به درستی قابل استفاده باشند. حداقل سیستم موردنیاز برای استفاده از موتورهای بازی سازی سیستمی است که دارای فیزیک (مانند یونیتی و آنریل) Ram 4 و CPU 5 هستهای باشد.
ژانر بازی
بسته به اینکه بازی شما یک بازی پلتفرمر ساده است یا یک شوتر آنلاین، ممکن است به امکاناتی مانند دوربین اول شخص و یا شبکهسازی بازی نیاز داشته باشید. همهی موتورهای بازی سازی این امکانات را پشتیبانی نمیکنند، پس حتما نوع بازی خود را مشخص کنید و بعد به دنبال موتور بازی سازی باشید.
نوع بازی
دوبعدی یا سهبعدی بودن بازی در انتخاب موتور بازی سازی تاثیر دارد، زیرا برخی از موتورهای بازی سازی براساس آن امکانات خود را ارائه میدهند. برای مثال گیم میکر به سختی از بازیهای سه بعدی پشتیبانی میکند، اما دارای امکانات زیادی برای ساخت بازیهای دوبعدی است.
مهارتهای هنری
برای ساخت گرافیک یک بازی نیازی نیست تا به تمامی جنبههای هنر آگاه باشید. گرچه هر چقدر که دانش شما بیشتر باشد، نتیجهی بهتری میگیرید، اما موتورهای بازی سازی با قدرت گرافیکی زیاد خود به اجرای طرحهای گرافیکی کمک میکنند. همانطور که گفتیم در بسیاری از موتورهای بازی سازی حتی امکان طراحی کاراکتر به صورت دوبعدی و سهبعدی، مدل سازی و... وجود دارد که کار را برایتان آسان میکند.
سکوی هدف
پلتفرم خود را مشخص کنید. ممکن است یک موتور بازی سازی مختص یک نوع خروجی (برای مثال تلفن همراه) باشد. علاوه بر آن ممکن است که یک موتور بازی سازی به طور خاص برای یک پلتفرم (مثلا ویندوز) بهینه شده باشد و در صورت گرفتن خروجی اندروید از همان پروژه، به دلیل حجم زیاد و نوع کنار هم قرار گرفتن کامپوننتها، به مشکلات زیادی برخورد کنید.
امکانات مربوط به برنامه نویسی
هر یک از موتورهای بازی سازی از زبان برنامهنویسی خاصی پشتیبانی میکنند. زبانهای برنامه نویسی مختلفی وجود دارند که یادگیری و کدنویسی با آنها میتواند سخت یا آسان باشد. علاوه بر این، کدنویسی بصری یک ویژگی در موتورهای بازی سازی است که به توسعه دهندگان اجازه میدهد تا جنبههای بازی را به جای عملیات خستهکنندهی کدنویسی، به صورت بصری دستکاری کنند.
ابعاد پروژه
میزان گستردگی و پیچیدگی یک بازی بستگی به سبک و تخصص شما دارد. برخی ممکن است ترجیح دهند تا تمامی موارد را از صفر تا صد خودشان طراحی کنند، اما برخی نیز ممکن است در یک تیم بهتر کار کنند. از همه مهمتر، انتخاب یک موتور بازی سازی متناسب با ابعاد بازی، میتواند فرآیند طراحی را تا حد زیادی سریعتر کند.
میزان بودجه
بحث رایگان بودن و یا نبودن یک موتور بازی سازی به دلیل کرکهای فراوانی که در ایران به راحتی در دسترس هستند، خیلی مطرح نیست. اما جذب نیروی بازی ساز مسلط به یک موتور بازی سازی براساس میزان پیچیده بودن آن موتور، ممکن است هزینهی گزافی برایتان داشته باشد. پس اگر در بودجهی خود محدودیت دارید، حتما به این مورد توجه کنید.
پشتیبانی جامعهی بازی سازان
بسیاری از موتورهای بازی سازی، انجمنها و جوامع فوقالعادهای برای کسب اطلاعات، مشاوره و رفع خطاهای پروژههای خاص خود دارند. پس اگر در ابتدای راه هستید، شاید بهتر باشد با یک موتور بازی سازی کار را آغاز کنید که سوال و جوابهای زیادی از امکانات آن در اینترنت وجود دارد.
نگهداری و بهروزرسانیها
آیا موتور بازی سازی شما به کندی کار میکند؟ آیا به بهروزرسانیهای پیاپی نیاز دارید؟ یک موتور بازی سازی بهروز، خطاهای کمتری دارد و با گسترش امکانات جدید، بازنویسی میشود. اما تغییرات پیاپی در محیط موتور بازی سازی ممکن است برای برخی از بازی سازان آزاردهنده باشند و ترجیح دهند تا تنها از یک نسخه از موتور بازی سازی خود استفاده کنند.
جمع بندی
همانطور که در برنامه نویسی برای کدنویسی آسان و سریع و خطایابی راحتتر برنامه، از محیطهای برنامه نویسی استفاده میشود، در ساخت بازی نیز موتورهای بازی سازی برای پرهیز از دوباره کاری در یکپارچه سازی بخشهای مختلف بازی به وجود آمدهاند. در این مقاله سعی کردیم تا تمامی نکاتی که نیاز است در مورد موتورهای بازی سازی بدانید را به شما آموزش دهیم و موتورهای بازی سازی پراستفاده و محبوب بازی سازان را معرفی کنیم.
اگر سوالی درمورد بازی ساز شدن دارید یا برای شروع بازی سازی به کمک نیاز دارید نترسید، ما همراه شما خواهیم بود. برای آشنایی با چگونگی پیمودن ادامهی راه میتوانید به مقالهی نقشهی راه بازی سازی مراجعه کنید. همچنین اگر قصد تحصیل در رشته بازی سازی را دارید، میتوانید مقالهی رشتهی بازی سازی را مطالعه کنید. برای ورود به صنعت بازی سازی هم حتما مقالهی راههای کسب درآمد از بازی سازی را بخوانید. خوشحال میشویم سوالات، پیشنهادات و تجربیات خود در کسب درآمد از بازی سازی را با ما و سایر کاربران به اشتراک بگذارید.
سلام مجدد. ببخشید من میخواستم داخل پژوهشم به این مقاله ارجاع بدم ولی تاریخ انتشار نداره. میشه تاریخ انتشار این مقاله رو بهم بگید لطفاً؟
نازنین کریمی مقدم۲۴ دی ۱۴۰۱، ۱۱:۵۶
درود
بررسی کردم گویا 19 آذر 1399 یا 2020/12/10 هست.
برقرار باشید.
۲۲ دی ۱۴۰۱، ۱۴:۳۹
سلام. این مقاله خیلی روان و به زبون ساده توضیح داده شده و برای افرادی مثل من که حوزه ی تخصصیشون غیر مرتبطه، فهمش ساده بود. ممنونم.
۰۲ آذر ۱۴۰۱، ۱۱:۰۸
سلام
ببخشید هنوز برام اون بازی رو پیدا نکردین ?
آخه خیلی برام مهم هست من میخوام فقط بررسی اش کنم و ببینم بازی اش چه جور هست که در یک روز ۲۰۰۰۰۰ دلار در امد داشته ?
نازنین کریمی مقدم۰۵ آذر ۱۴۰۱، ۲۱:۲۹
درود
نه متاسفانه چنین گیمی رو نتونستم پیدا کنم. اما <a href="https://itch.io/games" target="_blank" rel="noopener nofollow ugc">سایت itcho</a> رو بررسی کنید ممکنه بتونید پیداش کنید.
۲۸ آبان ۱۴۰۱، ۰۶:۵۰
سلام
ببخشید من دنبال یه بازی هستم که با یونیتی ساخته شده
من قبلا به طور تصادفی یه سرچ زدم یه سایت بود که داخل بازی هایه ساخته شده با یونیتی را نوشته بود و الان هر چی میگردم پیدا نمیکنم اون سایت رو
داخل از چند تا بازی که یونیتی ساخته شده بود حرف زده بود یه ویدئو هم داشت که انگلیسی حرف میزد و زیر نویس فارسی داشت اون بازی که من دنبالش هستم وقتی انتشار داده در یک روز ۲۰۰۰۰۰ دلار درآمد داشته و بازی اش یه گربه بود و یه تیم سه نفره اون را طراحی کردن من هر چی میگردم پیدا نمیکنم و داخل سایت هایه خارجی هم نمیتونم چیزی پیدا کنم میشه بر اساس این چیز هایی که گفتم برام پیدا کنید خیلی ممنون ??????
نازنین کریمی مقدم۲۸ آبان ۱۴۰۱، ۰۹:۵۱
درود
سبک بازی چی بوده و اینکه برای چه پلتفرمی طراحی شده؟
۱۰ اسفند ۱۴۰۰، ۰۹:۳۵
اگر میشه در رابطه با جبر خطی کمکم کنید ممنون بعد من ۱۸ سالمه کو تا سنم تموم بشه تا ۲۵ سالگی کارم را تمام میکنم به خودم اعتماد دارم خدا هم با من است
۰۶ اسفند ۱۴۰۰، ۱۱:۴۷
سلام خانم کریمی مقدم من علی هستم که در کامنتهای پایین بهتون پیام دادم الان دارم روی ساخت موتور بازی کار میکنم باورتون نمیشه من بعد از این همه تلاش تازه دیدم صفحه ۱۱۲ کتاب هستم ?????والان یک جایی گیر کردم در مبحث جبر خطی میتوانید کمکم کنید
خواهش میکنم Help
نازنین کریمی مقدم۰۹ اسفند ۱۴۰۰، ۱۰:۱۱
درود
والا بنظر بنده که بهتره جای موتور شروع به ساخت بازی کنید و جوونی تون رو تلف نکنید. این کار خیلی خیلی سخت و طولانی هست و حتما باید تجربه ساخت چندتا بازی با موتورهای فعلی رو داشته، بعد با چندنفر دیگه تیم بشید وگرنه ممکنه انقدر طول بکشه که هیچوقت تموم نشه ... با این حال اگر سوالی دارید بپرسید در حد توان کمک تون میکنم. نهایتا من بلد نبودم سایر کاربرانی که تجربه داشتند کمک میکنند.
۲۵ بهمن ۱۴۰۰، ۱۵:۵۷
عالی بود. گویا، پاسخگو و خلاصه.
۲۲ بهمن ۱۴۰۰، ۱۶:۱۸
مقاله بسیارعالی بود
۱۸ دی ۱۴۰۰، ۲۲:۱۰
سلام
من در این سه سال که هنرستان خوندم فقط با زبان برنامه نویسی #cو زبانهای طراحی وب را کار کردم
اما الان بدلیل این که نیمسال دوم وارد دانشگاه میشوم در این چند ماه که وقتم آزاد بود با زبانهای اسمبلی ,c , c++ ،بیسیک ، آردوینو(البته به دلیل داشتن ساخت مدار ادامه ندادم) ، جاوا ، اندروید ، پایتون ، کار کردم به نظرتون از بین این زبانهای برنامه نویسی با کدام موتور بازی سازی بسازم خیلی بهتر است ؟؟
اصلا به نظر شما تو کدام از زبانها تخصص پیدا کنم خوبه ؟؟
و همین طور در مورد هوش مصنوعی در موتورهای بازی سازی با همین زبان c++ میشود این کار را کرد یا باید با نرم افزارهای دیگه مثل پرولوگ یا لیسپ کد نویسی کرد ؟
این کتابی که گفتید تمام نکات را کامل گفته میشه لینک کتابش را برایم بفرستید
البته ببخشید خیلی اذیتتون کردم این چند روزه با سوالاتم شرمنده
نازنین کریمی مقدم۱۹ دی ۱۴۰۰، ۰۵:۴۸
درود
کتابی که گفتم اولین کتاب موجود در همین لینکی هست که در کامنت قبلی خودتون فرستادید و از اونجا قابل دانلود هست.
برای ساخت موتور شما باید با ترکیبی از زبانها کار کنید و سورس اصلی معمولا با سی و سی پلاس پلاس هست. اما دقیقترش رو چون خودم هم خیلی مسلط نیستم، بهتره با سرچ در انجمنهای کوئرا و... بدست بیارید.
۱۷ دی ۱۴۰۰، ۲۳:۰۵
سلام
در مورد ساخت موتورهای بازی سازی که در پیامهای پایین گفتم بنظرتون با این کتابها میتوانمموتور بازی سازی بسازم
نازنین کریمی مقدم۱۸ دی ۱۴۰۰، ۰۵:۴۰
درود
بنده معتقدم که با یادگیری تمامی مفاهیم موجود در این کتابها + تجربه بالای سه سال برنامه نویسی + تجربه حداقل متوسط کار با سایر موتورهای موجود میتونید به هدفتون برسید و تنها کتاب برای رسیدن به موفقیت کافی نیست.
وگرنه کتاب آقای گرگوری منبع بسیار مناسبی برای این هست که در ساخت موتور خودتون چیزی رو جا نندازید.
۳۰ آذر ۱۴۰۰، ۲۲:۰۴
بابت مقالتون از تون ممنونم برام مفید بود
ولی میدانید موتورهای بازی سازی مثل یونیتی آخرش اگر یک بازی باهاش بسازی یک پولی میخواهد بگیره بعدش سایت هاشون تحریم باید با vpn وارد شی و کلی دنگ و فنگ داره من میخواهم مثل شرکت کونامی هست که یک موتور بازی سازی به اسم fox engine دارد و مال شرکت خودش است و به کسی نمیده من هم دوست دارم خودم بسازم که دیگه منت این خارجیها بالای سرم نباشه میگه هرکه نان از عمل خویش خورد منت حاتم طایی نبرد و اگر میشع راهنمایی بیشتر من را دراین زمینه کنید ممنون میشم مثل کتابی یا pdf یا... باشه زبانش هم هرچی باشه مشکلی نیست من انگلیسیم بد نیست و امسال تازه وارد دانشگاه شدم و شاخه نرم افزار میخوانم
و یک سوال دیگه ایران موتور بازی سازی دارد ؟
و یک سوال دیگه ساخت یک موتور بازی سازی چقدر زمان میبره ؟
نازنین کریمی مقدم۰۴ دی ۱۴۰۰، ۰۷:۱۸
درود
1. دید زیبایی دارید و اگر در یک جهان آرمانی بودیم اوکی بود، اما متاسفانه با توجه به شرایط کنونی بهتر هست که این دید رو اصلاح کنید که به بیگانه وابسته نباشید. شرکت کونامی یک شرکت بزرگ هست که حداقل اندازه سن ما در حوزه بازی تجربه حرفه ای داره و بسته به نوع بازی <strong>مجبور شده</strong> تا موتور خودش رو طراحی کنه. این شرکت رقابتش بر سر بالای چندین میلیون دلار هست و با ما که نه پشتوانه مالی داریم و طبق فرموده تون تحریم هم هستیم قابل مقایسه نیست.
2. برای شروع میتونید از <a href="https://www.haroldserrano.com/blog/books-i-used-to-develop-a-game-engine" target="_blank" rel="noopener nofollow ugc">این راهنما</a> استفاده کنید. در حال حاضر نام مشخصی برای یک موتور ایرانی یادم نمیاد و اگر هم باشه، در حد استارت آموزش به تازه واردان هست نه بازی سازی
3. در زمینه موتور دوبعدی از حداقل دو سه سال شروع میشه و همینطور بیشتر میشه، بستگی به میزان تسلط فرد روی مباحث و امکانات موتور داره. اگر در زمینه بازی سه بعدی بخواهید فعالیت داشته باشید که صددرصد انتخابتون باید یونیتی یا آنریل باشه چون خروجی بازی با موتور شخصی بهینه نیست و ممکنه حتی بالای هفت سال زمان ببره.
۲۹ آذر ۱۴۰۰، ۲۱:۵۶
ببخشید یک سوال اگر بخواهیم خودمان یک موتور بازی سازی درست کنیم باید چیکار کنیم میشه راهنمایی کنید
نازنین کریمی مقدم۳۰ آذر ۱۴۰۰، ۰۷:۲۷
درود
توصیه میکنم این کار رو نکنید چون خیلی کار پیچیده و سختی هست و موتورهای بازی سازی فعلی مثل یونیتی و آنریل نیاز اغلب افراد رو برآورده میکنه!
با این وجود میتونید <a href="https://www.gamedesigning.org/learn/make-a-game-engine/" target="_blank" rel="noopener nofollow ugc">این مقاله</a> رو بخونید تا با مقدمات کار آشنا بشید.