آموزش صفر تا صد بازی سازی دیجیتال و کسب درآمد دلاری
24 ژوئن 2021 2021-06-23 19:14آموزش صفر تا صد بازی سازی دیجیتال و کسب درآمد دلاری
آموزش صفر تا صد بازی سازی دیجیتال و کسب درآمد دلاری
شما هم به بازی سازی دیجیتال علاقهمند هستید، اما نمیدانید از کجا شروع کنید؟ پس جای درستی را انتخاب کردهاید. ما مقاله آموزش بازی سازی را برای شما نوشتهایم تا اولین گام خود در دنیای بازیها را درست بردارید و به اصطلاح دیوارتان تا ثریا کج نرود!
در پایان این مقاله میتوانید تصمیم بگیرید، وارد کدام قسمت از تیم بازی سازی شوید و کدام موتور بازی یا زبان برنامهنویسی را برای کار خود انتخاب کنید.
موضوعاتی که در این مقاله با آنها آشنا میشویم:
- مراحل ساخت یک بازی [+ ویدیو آموزشی]
- چگونه یک بازی ساز حرفهای شویم؟
- چه کسانی در یک تیم بازی سازی هستند؟
- برای بازی ساز شدن به چه مهارتهایی نیاز داریم؟
- آیا میتوانیم بدون دانش کدنویسی یک بازی عالی بسازیم؟
معرفی 3 مفهوم در بازی سازی
برای اینکه مفاهیم موجود در این مقاله را بهتر درک کنیم، اجازه دهید ابتدا با چند مفهوم اصلی در بازی سازی، آشنا شویم.
بازی کراس پلتفرم چیست؟
بازی های میان پلتفرمی (Cross-Platform)، بازی های آنلاینی هستند که به ما این امکان را میدهند، تا با دوستانمان به طور همزمان، با استفاده از پلتفرمهای مختلف، بازی کنیم؛ برای مثال بازی Dauntless یک بازی کراس پلتفرمی است، که اگر شما Xbox One و دوست شما PS4 داشته باشد، میتوانید به طور همزمان و به صورت آنلاین، با هم بازی کنید.
هنر مفهومی
هنر مفهومی (Concept Art)، شکلی از تصویرسازی است که بازی سازان از آن برای انتقال ایدهها استفاده میکنند.
Asset
Asset در بازی سازی، تقریبا همه چیزهای بازی را شامل میشود:
- مدلهای سهبعدی (اشیا و کاراکترها)
- پسزمینهها و محیطها
- عناصر هنری و انیمیشن
- بخشهایی از یک کد یا کل کدها
مراحل بازی سازی در ۶ گام
در این قسمت به صورت گام به گام با مراحل ساخت یک بازی، آشنا میشویم.
مفهوم سازی اولیه (High Concept)
مفهوم سازی اولیه، ایده کلی و یک توصیف بسیار کوتاه از بازی است. مفهوم سازی اولیه، اولین قدم مهم در توسعه یک بازی محسوب میشود، که در آن سعی داریم ایدههای خود را در چند جمله توصیف کنیم.
سند Pitch
در سند Pitch، ما ایده خود را به شکل خلاصه بیان میکنیم. میتوانیم از این سند برای متقاعدسازی سرمایهگذاران استفاده کنیم و در آن بگوییم که چرا این بازی از لحاظ مالی و تجاری بهصرفه است.
مفهوم سازی (Concept)
در مرحله مفهوم سازی، طرح کلی و اجزای بازی را شرح میدهیم. این کار بر اساس نوشتههای دو مرحله قبل انجام میشود. در این مرحله، در مورد داستان بازی، ویژگیهای جمعیتشناختی شخصیتهای بازی و اطلاعاتی از این قبیل، صحبت میکنیم.
سند طراحی بازی (Game Design Document) (GDD)
سند طراحی بازی، شامل همه جنبههای مرتبط با یک بازی واقعی است و ممکن است شامل جنبههای نمونه اولیه پروژه (مرحله5) هم باشد.
نمونه اولیه (Prototype)
در این مرحله، نمونه اولیه از بازی را میسازیم. ساخت نمونه اولیه این امکان را به ما میدهد که مفاهیم نوشتهشده را به اثبات برسانیم و اهداف خود را بهطور ملموس نشان دهیم.
تولید (Production)
در مرحله تولید، بازی شروع به شکل گرفتن میکند و عناصری مانند صدا و ویژگیهای گرافیکی اولیه اجرا میشوند. در این مرحله، برنامهنویسان هم به فرایند توسعه بازی، وارد میشوند.
- طراحی
- ساخت سطوح بازی
- برنامه نویسی
مرکز آموزشی و کارآفرینی خوارزمی مجری رسمی برگزاری دوره های آموزشی بازی سازی دیجیتال به صورت حضوری و آنلاین. ارائه ی گواهینامه بین المللی مورد تایید سازمان فنی و حرفه ای آموزش کشور قابل ترجمه با مهر دادگستری و وزارت امور خارجه
اعضای تیم بازی سازی
به جز بازی های ساده، برای ساخت سایر بازی ها، نیاز به یک تیم بزرگ داریم.
- در قسمت خلاقیت، نویسندگان و هنرمندان
- در قسمت تکنولوژی، برنامه نویسان، تسترها و مهندسین
از آنجایی که بازی های ویدیویی مدرن شامل بسیاری از عناصر؛ مانند گرافیک سهبعدی، صدای دیجیتالی مخصوص، فیزیک بازی مخصوص، هوش مصنوعی و … هستند، توسعه دهندگان بازی ویدیویی، باید برخی از مشکلات بسیار چالشبرانگیز کامپیوتری را حل کنند. آنها اغلب در حوزههای خاصی از فرآیند توسعه نرمافزار، تخصص دارند.
در ادامه با تکتک اعضای تیم بازی سازی، آشنا میشویم.
1. مدیر پروژه (Project Manager)
مدیر پروژه اطمینان حاصل میکند که فرآیند توسعه بازی به درستی انجام شود و اعضای تیم، کار خود را به درستی انجام دهند.
آنها اغلب مرکز ارتباط بین توسعهدهندگان، تیمهای طراحی و مدیران هستند. مدیران پروژه، باید مهارتهای ارتباطی و حرفهای بالایی داشته باشند.
2. برنامه نویسان یا توسعه دهندگان بازی (Game Developers / Programmers)
برنامه نویسان بازی، مفاهیم طراحیشده را به کد تبدیل میکنند؛ اینگونه بازیها قابل اجرا میشوند.
برنامه نویسان، مهندسان نرمافزار یا کامپیوتر هستند، که دانش زیادی در زمینه برنامه نویسی دارند. آنها با ترکیبکردن خلاقیت، مهارتهای ریاضی و صبوری، ایدهها را به کدهای صوتی و تصویری تعاملی تبدیل میکنند. آنها همچنین اطمینان حاصل میکنند، که بازی به درستی اجرا میشود.
وظایف برنامه نویسان بازی
جنبههای مختلفی از برنامه نویسی وجود دارد که برخی از آنها عبارتند از:
- اجرای منطق و مکانیک بازی
- ساخت رابط کاربری
- نوشتن کدهای اختصاصی برای صفحه کلید، موس و دسته بازی
- فراهمکردن زمینهای برای کاربران، جهت رقابت یا همکاریکردن با هم از طریق شبکه محلی (LAN) یا اینترنت
در استودیوهای بزرگ، هر شخص در یک زمینه اختصاصی فعالیت میکند؛ برای مثال یک متخصص روی برنامه نویسی هوش مصنوعی بازی کار میکنند، یا شخص دیگری، به طور اختصاصی، روی رابط کاربری بازی کار میکند.
3. طراحان بازی (Game Designers)
طراحان بازی، بخش خلاقیت بازی را برعهده دارند؛ که باید با دانش برنامهنویسی هم آشنایی داشته باشند.
وظایف طراحان بازی
طراحان بازی ممکن است مسئول بخشهای زیر باشند:
- طراحی خط سیر داستان، کاراکترها و گفتگوهای بین آنها
- طراحی قوانین و سیستم امتیازدهی
- تعیین سطح دشواری یک مرحله
- ساخت محیطهای بازی، موانع و اشیا
- طراحی دنیای بازی
- ویرایش دیجیتال بازی
4. طراحان سطح (Level Designers)
یک طراح سطح بازی ویدیویی، مسئول ایجاد سطوح جالب و سرگرمکننده در بازی است. وظیفه آنها این است که بازی را بهگونهای طراحی کنند که بازیکنان فقط روی بازی و رسیدن به اهداف موردنظر بازی تمرکز کنند.
از آنجا که بازیها بسیار پیچیدهتر از گذشته شدهاند، در استودیوهای بزرگ، افراد خاصی فقط وظیفه طراحی سطوح را برعهده دارند.
طراحان سطح، از هنرهای مفهومی، تصاویر و سند طراحی بازی، الهام میگیرند؛ تا نقشه باورپذیری را برای بازی طراحی کنند و یک مدل فیزیکی را برای بازی بسازند.
وظایف طراح سطح
موارد زیر چند مورد از مهمترین وظایف طراحان سطح بازی است:
- طراحی محل شروع و پایان بازی
- مشخص کردن محل تونلها و مکانهای مخفی بازی
- مشخص کردن محل گفتگوی کاراکترها و تعامل آنها با یکدیگر
- بررسی سطوح بازی و شناسایی باگهای آنها
انواع طراحی سطح بازی
- اگر بازی براساس رویدادهایی واقعی باشد (مانند بازی WW2 Battle)، لازم است که طراحان سطح در مورد آن دوره خاص از تاریخ و مکانهای آنها تحقیق کنند، تا اطمینان حاصل شود که این سطح، واقعبینانه و برای کاربران قابل باور است.
- اگر بازی براساس یک کتاب یا فیلم ساختهشده باشد، باید آن کتاب را بخوانند یا فیلم آن را تماشا کنند.
- اگر دنیای بازی کاملا تخیلی باشد، طراحان بازی باید از خلاقیت خود و هنرهای مفهومی استفاده کنند.
5. هنرمندان بازی (Game Artists)
هنرمندان بازی مسئول افزودن رنگ، حرکت و حیات به بازی هستند.
انواع هنرمندان بازی
هنرمندان بازی موارد زیر را شامل میشوند:
Concept Artists
Concept Artists، مسئول طراحی ظاهر اولیه بازی هستند و معمولا در مرحله پیشتولید بازی فعالیت میکنند. این طراحی اولیه، معمولا به صورت 2بعدی انجام میشود. Concept Artists ممکن است در فرایند توسعه بازی ؛ برای افزودن عناصر جدید یا ایجاد تغییرات در مسیر بازی، دوباره وارد کار شوند.
3D Concept Artist
3D Concept Artist که میتواند همان هنرمند بازی باشد، از نرمافزارهای دیجیتال، مانند ZBrush، مایا و فتوشاپ (Photoshop)، برای ایجاد فضاهای سهبعدی استفاده میکند. همچنین بافت و جزئیات را هم به بازی اضافه میکند.
3D Modelers
مدل سازان سه بعدی مدلهایی از افراد، اشیا، لوازم، سلاحها و محیطهای بازی میسازند؛ که در صورت نیاز انیمیشنسازی هم میشوند.
مدل سازان 3 بعدی چگونه مدل ها را میسازند؟
3D Modelers این کار را به 2 طریق انجام میدهند:
- از تصاویر باکیفیت اشیایی که در دنیای واقعی وجود دارد، استفاده میکنند؛ مثل یک تفنگ AK-47، برج ایفل و …
- اگر بازی فانتزی باشد، با استفاده از هنر مفهومی و تخیلشان، یک اثر جدید و خاص را خلق میکنند.
Game Animators
انیماتورهای بازی با افزودن حرکات قابل باور به شخصیتها، اشیا و محیطها، عمق و واقعگرایی را به بازی اضافه میکنند. آنها استوریبرد (داستان مصور) را خلق خواهند کرد و صحنههای انیمیشن اصلی را که با داستان بازی همخوانی دارند، ترسیم خواهند کرد. Game Animators اغلب نیاز به انجام تحقیقات زیادی دارند؛ به عنوان مثال زمانی که بر روی یک بازی مبتنی بر حیوانات کار میکنند، نحوه رفتار حیوانات و تعامل آنها با دیگر حیوانات را مشاهده میکنند. دادههای ثبت حرکت میتوانند بیشتر برای کمک به خلق انیمیشنهای واقعی مورد استفاده قرار گیرند.
FX Artists
هنرمندان FX با افزودن افکتهای خیرهکننده از قبیل انفجار، دود، آتش و حوادث آب و هوایی مثل باران، رعد و برق، کولاک و … تجربه سرگرمکنندهتری به بازیکنان میدهند. FX Artists، از نرمافزارهایی مانند هودینی یا مایا استفاده میکنند؛ اما باید تجربه کار با موتورهای بازی مانند Unity یا Unreal Engine هم داشته باشند.
6. مهندسین صوتی/ طراحان صدا/ آهنگسازان (Audio Engineers /Sound Designers /Composers)
متخصصین صدا، معمولا کارهای زیر را انجام میدهند:
- افکتهای صوتی واقعی به بازی اضافه میکنند.
- ضبط صداها و گفتگو بین کاراکترها را انجام میدهند.
- موسیقی متن را، متناسب با نوع بازی، به آن اضافه میکنند.
- نشانههای صوتی در بازی قرار میدهند؛ مانند صدای بازشدن در، رسیدن به یک هدف و پایان ماموریت و….
7. تستر بازی (QA (Quality Assurance) /Video Game Testers)
تسترها، وظیفه تست بازی و شناسایی باگها را برعهده دارند. وجود تسترها، در فرآیند توسعه بازی بسیار ضروری است؛ زیرا آنها اطمینان حاصل میکنند که بازی به درستی انجام میشود و دستورالعملهای بازی، برای بازیکنان مبهم نیست. آنها مشکلات و باگهای بازی را، در یک گزارش،که آن را Bug Sheet مینامند، به تیم توسعه بازی تحویل میدهند.
8. سایر اعضای تیم بازی سازی
توسعه بازی ویدیویی یک کسب و کار است؛ بنابراین ما به بازاریابان و حسابداران هم نیاز داریم. با این حال، اکثر کسانی که آرزو دارند به توسعهدهنده بازی تبدیل شوند، به شغل برنامهنویسی علاقمند هستند.
۶ مهارت کلیدی برای بازی سازان چیست؟
- خلاقیت
- شور و اشتیاق برای بازی های ویدیویی
- دانش گسترده از ترندهای بازی
- قدرت تحلیل ذهنی بالا
- توانایی کار به عنوان بخشی از یک تیم
- مهارت در زبانهای برنامهنویسی؛ مانند C# و C++
ﺟﻬﺖ درﯾﺎﻓﺖ ﻣﺸﺎوره ﺗﺨﺼﺼﯽ راﯾﮕﺎن ﺑﻤﻨﻈﻮر ﺷﺮﮐﺖ در دوره ﺑﺎزي ﺳﺎزي دﯾﺠﯿﺘﺎل (ﻃﺮاﺣﯽ ﺑﺎزي ﻫﺎي دﯾﺠﯿﺘﺎل) ﻫﻤﯿﻦ اﻻن با ما تماس بگیرید یا جهت تماس کارشناسان مربوطه با شما فرم زیر را تکمیل نمایید.
اوووپس! نمی توانیم فرم شما را بیابیم.
موتور بازی سازی چیست؟
برای شناخت موتورهای بازی سازی مقاله (موتور بازی سازی چیست؟ معرفی معروف ترین موتورهای بازی سازی) را مطالعه فرمایید.
موتورهای بازی سازی چه کاربردی دارند؟
موتورهای بازی سازی برای توسعه دهندگان بازی، در موارد مختلفی کاربرد دارند؛ مانند:
- ساخت فیزیک بازی (Physics)
- ورودیها (Input)
- ایجاد تصاویر سه بعدی (Rendering)
- خودکارسازی اجرای وظایف تکراری (Scripting)
- تشخیص برخوردها (Collision Detection)
- هوش مصنوعی (Artificial Intelligence)
و بسیاری امکانات دیگر، که همگی بدون نیاز به کدنویسی، در اختیار بازی سازان قرار میگیرند.
مزیت استفاده از موتورهای بازی سازی چیست؟
موتورهای بازی سازی، دو مزیت مهم دارند:
- داشتن زمان بیشتر برای تمرکز بر مولفههای منحصربهفرد بازی؛ از جمله: مدلهای شخصیتها، بافت بازی، نحوه تعامل اجزای بازی و…
- کاهش زمان ساخت بازی ها و آسانسازی فرایند آن
چه زمانی موتور بازی اختصاصی خود را می سازیم؟
زمانی که بازی ما به اندازهای متفاوت است که هیچ موتوری برای آن وجود ندارد، موتور اختصاصی خود را میسازیم.
هنوز تعداد زیادی از شرکتهای بزرگ و حتی گروههای کوچک بازی سازی وجود دارند که موتورهای اختصاصی خود را تولید میکنند؛ اما باید بدانید که ساخت یک موتور بازی عالی، کار آسانی نیست و نیاز به تخصص بالا، در زمینههای مختلف دارد.
بهترین زبان های برنامه نویسی بازی
دو نوع اصلی از برنامه نویسی وجود دارد که باید روی آنها تمرکز کنیم، “برنامه نویسی سیستم ها”، و “برنامه نویسی وب”.
در حال حاضر، بهترین زبان های برنامه نویسی برای بازی ها، موارد زیر هستند.
1. C++
اکثر بازی هایی که امروزه ساخته میشوند، به طریقی به C++ بستگی دارند. کنسولهای بازی مانند اکس باکس و پلی استیشن هر دو از این زبان برنامهنویسی استفاده میکنند.
C++، یک زبان شی گرا (Object-Oriented Programming/ OOP) است. اگر بخواهیم تنها یک زبان برنامه نویسی را برای بازی سازی انتخاب کنیم، قطعا بهترین انتخاب ما C++ خواهد بود؛ زیرا بیشتر زبانهای شی گرا، از C++ ریشه میگیرند؛ بنابراین یادگیری آنها آسانتر خواهد بود.
مزیت های C++
- اجازه کنترل مستقیم بر روی فرآیندهای سختافزاری و گرافیکی را به ما میدهد (چیزی که در ساخت بازی های ویدیویی، بسیار مهم است).
- این زبان، رایجترین زبان برای نوشتن موتورهای بازی است و برخی از موتورهای بازی مانند Unreal، تنها کدهای نوشته شده در C++ را میپذیرند.
شاید C++ یک از سختترین زبان های برنامه نویسی برای ساخت بازی باشد؛ اما یادگیری آن برای ما نتایج خوبی دارد. اگر شما هم به ساخت بازی های آیندهگرا علاقهمند هستید، پیشنهاد میکنیم این زبان برنامه نویسی را یاد گرفته و از آن برای ساخت بازی استفاده کنید.
بازی های ساخته شده با C++
- Counter-Strike
- Doom III Engine
- King Quest
- Starcraft
- World of Warcraft
- Warcraft III
- Football Pro
- Master of Orion III
- Maplestory
- Invictus
2. C#
C# سطح بالایی از امکانات را ارائه میدهد؛ بنابراین، در بسیاری از مواقع، اولین اولویت بسیاری از توسعه دهندگان بازی است.
C# به توسعه دهندگان، این امکان را میدهد تا بدون هیچ زحمت اضافه، هر نوع بازی را، برای هر ساختاری، بسازند. یادگیری زبان C# به مراتب راحتتر از C++ است؛ بنابراین، C# یکی از بهترین زبانهای برنامهنویسی است که میتوانیم یاد بگیریم.
3. Java
جاوا یکی از تطبیقپذیرترین زبانهای برنامهنویسی است. این ویژگی باعث شده است که جاوا بین توسعه دهندگان بازی، بسیار مورد توجه قرار گیرد؛ زیرا تطبیق پذیری بسیار جذاب است و میتواند به پروژه ما کمک بسیاری کند.
جاوا هم همانند C++، از اصل OOP استفاده میکند و طیف وسیعی از سیستمها را برای بازی در اختیار ما قرار میدهد، بنابراین، جاوا یکی از معدود زبانهای برنامهنویسی است که به ما امکان توسعه بازیها را برای هر سیستمی میدهد. جاوا یکی از زبانهای اصلی برای توسعه بازیهای اندرویدی هم محسوب میشود.
Java یک زبان بسیار پویا، با امکانات کاربردی زیادی است که باعث میشود انتخاب خوبی برای یادگیری باشد. از آنجایی که جاوا ارتباط نزدیکی با C++ دارد، بنابراین یادگیری این دو زبان، در کنار یکدیگر دشوار نخواهد بود.
بازی های ساخته شده با Java
- Tom Clancy’s Politika
- Runescape
- Powder Game
- Star Wars Galaxies
- Roboforge
4. Python
یکی از زبانهای برنامهنویسی چند منظوره، پایتون است. پایتون برای توسعه دهندگان، درست مانند C++ و جاوا، تکنیکهای OOP (برنامهنویسی شی گرا) کاملی را ارایه میدهد.
Pygame، یکی از فریمورکهای پایتون است. استفاده از فریمورک Pygame، هر روز در حال افزایش است؛ زیرا به توسعهدهندگان این امکان را میدهد، که با سرعت بالایی، نمونه اولیه بازی خود را بسازند.
پایتون در حال به دست آوردن سهم بزرگی از بازار، عنوان یکی از بهترین زبانهای برنامهنویسی است و قطعا گزینه خوبی برای یادگیری خواهد بود.
5. HTML5
HTML5 یکی از رایجترین زبانهای برنامهنویسی برای وب محسوب میشود. شاید باور کردن این موضوع برای شما هم سخت باشد؛ اما این موضوع حقیقت دارد که اکثر بازیهای موبایلی که امروزه با آن بازی میکنیم از این زبان نشانهگذاری استفاده میکنند. ما میتوانیم به راحتی یک بازی وب بسیار پیچیده را با ترکیب HTML5 با جاوا اسکریپت ایجاد کنیم.
در ادامه با جاوا اسکریپت هم آشنا میشویم.
بازیهای ساختهشده با HTML5 ، به صورت تصاعدی در حال افزایش هستند؛ چرا که توسعه دهندگان به دانش نظری پیچیده، از ساختار دادهها و الگوریتم های پیشرفته، نیاز ندارند.
میتوانیم به راحتی پیشبینی کنیم که HTML5، یکی از بهترین زبانهای برنامهنویسی برای بازی ها خواهد شد.
بازی های ساخته شده با HTML5
- Kingdom of Loathing
- Nothing to Hide
- Gods will be watching
- Roll It
- Cookie Clicker
مرکز آموزشی و کارآفرینی خوارزمی در مسیر یادگیری مهارت های حرفه ای، پیشرفت شغلی، کارآفرینی و توسعه کسب و کار با بهره مندی از دانش و تجربه اساتید متخصص و دارا بودن کادری مجرب در کنار فراهم آوردن محیطی پویا با امکانات روز آموزشی، با افتخار در کنار شما خواهد بود. امیدواریم بتوانیم نقش و سهمی موثر در آینده، جایگاه شغلی و اجتماعی شما مردم کشور عزیزمان ایران داشته باشیم و رسالت اجتماعی خود را به نحو احسن ایفا نماییم.
دستهها