أخذ الشرح من تطبيق حقيبة المبرمج
كيف ابدأ في مجال تطوير الالعاب مع محرك الالعاب يونتي
في هذه المقالة سنتحدث عن صناعة الألعاب وبعض المعلومات المهمة عنها ثم نتناول السؤال الهام وهو كيف تتعلم تطوير الألعاب باستخدام محرك الألعاب يونتي …
في البداية من الهام أن نجيب على هذا السؤال وهو … ما هو تطوير الألعاب ؟
في البداية يمكننا أن نقسم الأدوار التقنية في صناعة الألعاب إلى ثلاثة أدوار رئيسية يتفرع منها الكثير من الأدوار الفرعية … وقد تقوم أنت بكل هذه الأدوار أو بعضها حسب حجم المشروع الذي ستعمل عليه أو حسب حجم المكان الذي ستعمل به …
اولا مصمم الألعاب Game Designer
قد يدور في ذهنك أن مصمم الألعاب هو الشخص الذي يقوم بتصميم الرسوميات داخل الألعاب ويعمل على عمل التصميمات ثلاثية الألعاب للعبة والشخصيات وماشابه .. ولكن في حقيقة الأمر فإن مصمم الألعاب يعمل على شيئ مختلف تماما بل لن تصدقني إذا قلت أن مصمم الألعاب بعد أن يقوم بدوره فإن الناتج يكون وثيقة لا اكثر ولا اقل .
إذن فماذا يفعل مصمم الألعاب ؟
هو الشخص الذي يقوم بتصميم الفكرة العامة للعبة و كيفية اللعب بداخل اللعبة والقصة للعبة والسيناريو والحوار بين شخصيات اللعبة والهيئة العامة لمراحل اللعبة (هل ستكون خيالية أم قديمة أم واقعية .. الخ ) وكذلك هو المسؤول عن تصميم المراحل وتقسيمها . فبالتالي الذي يقوم به مصمم الألعاب ببساطة هو ايجاد فكرة اللعبة وتحويلها من مرحلة الفكرة إلى مرحلة التخطيط الكامل على الورق
ثأنيا فنان الألعاب Game Artist
ببساطة يقوم فنان الألعاب بعمل كل الرسوميات الخاصة باللعبة باستخدام البرامج المختلفة سواءا للرسم الثنائي الابعاد مثل adobe illustrator أوadobe photoshop أو ببرامج الرسم ثلاثي الابعاد مثل الـ 3dmax , Maya , Blender … وكذلك يقوم بعمل الصوتيات الخاصة بالألعاب …
ثالثا مطور الألعاب أو مبرمج الألعاب Game Developer, Game Programmer
وهذا الشخص هو الشخص المسؤول عن تحويل اللعبة من مرحلة التصميمات والتخطيط الى اللعبة الفعلية باستخدام محركات الألعاب مثل unity (الذي سنتكلم عنه بالتفصيل في هذا المقال ) أو باستخدام unreal engine أو أي محرك العاب اخر ..
حسنا … والآن من المهم أن نفهم ما هو محرك الألعاب ؟ وهل يجب علي أن أحصل على شهادة الدكتوراه أو الماجستير في الرياضيات و الفيزياء لأصبح مبرمج العاب؟
في البداية قديما كان المطورون يقومون ببرمجة كل لعبة من الصفر وبنائها بالكامل وكان هذا يتطلب مجهودا كبيرا ووقتا كثيرا مما يعني تكلفة كبيرة أيضا . ثم بعد ذلك بدأت الشركات بعمل محركات الألعاب اللتي تحتوي على أنظمة كاملة مصممة مسبقا للمساعدة في تطوير اللعبة وتوفير الوقت وكانت محركات الألعاب في بداية الأمر تقتصر على فئة بعينها من الألعاب مثل ألعاب الFPS أو ألعاب الـ RPG و كانت ايضا تصمم للاستخدام داخل الشركة المصنعة للمحرك فقط .. وبعد ذلك بدأت بعض الشركات ببيع محركات الألعاب للشركات الاخرى بأسعار كبيرة قد تصل إلى بضعة ملايين من الدولارات في بعض الأحيان وظهر العديد من محركات الألعاب القادرة على عمل أنواع مختلفة من الألعاب وليست محصورة في فئة واحدة فحسب كما كان الوضع في الماضي … أما الآن فهناك الكثير من محركات الألعاب والتي من الممكن أن تبدأ في استخدامها مجانا وبأسعار رخيصة ومن أشهرها محرك الألعاب unity والذي سنتحدث عنه بالتفصيل بعد قليل …
هذه هي الإجابة عن السؤال الأول .. اما السؤال الثاني فالإجابة عنه هي لا … بالطبع لست بحاجة أن تكون عالما في الرياضيات والفيزياء للعمل كمطور للألعاب فمحركات الألعاب الآن تحتوي على معظم ما تحتاجه لبدء تطوير لعبتك بسهولة .. فهي تحتوي على محركات فيزيائية للتصادمات و الجاذبية وقوانين الحركة الميكانيكية وما شابه ..
وتستطيع التعامل مع الأضواء والصوتيات و أنواع الرسوميات المختلفة بسهولة ومن غير الحاجة لبرمجة هذه الأنظمة مسبقا … مما يجعل تطوير الألعاب أسهل من اي وقت مضى ويمكن المطور من التركيز على اللعبة بدلا من التركيز على عمل محرك الألعاب ..
وقبل الدخول في كيفية تعلم تطوير الألعاب وكيف تكون مطورا للألعاب هناك بعض النقاط الهامة التي علينا التحدث عنها …
مع نهايات القرن العشرين ودخول الألفية الجديدة كأن تطوير ونشر الألعاب مكلفا للغاية و كانت الشركات الكبرى هي التي تسيطر تقريبا على مجال تطوير الألعاب … أما مع انتشار المتاجر الالكترونية وشراء الألعاب عبر شبكة الأنترنت بسهولة عبر متاجر مثل steam ومع تطور أجهزة الموبايل وانتشارها و تطور محركات الألعاب أصبح تطوير الألعاب أكثر سهولة … والآن فإن استديوهات تطوير الألعاب تنقسم لقسمين شركات ال AAA ويقصد بها شركات تطوير الألعاب الكبيرة التي يوجد بها الكثير من المطورين و تمتلك ميزانيات ضخمة … وال indie game developers وهم مطوروا الألعاب المستقلين أو فرق واستديوهات تطوير الألعاب الصغيرة .
و لتوضيح عملية صناعة الألعاب سنتحدث عن المسار أو الخطوات اللازمة لتطوير لعبة ثلاثية الابعاد (هذه الخطوات) من مرحلة الفكرة إلى التنفيذ النهائي ..
في البداية يقوم مصمم اللعبة بتحويل الفكرة إلى مستند يحتوي تخطيطا كاملا لمراحل اللعبة وطريقة اللعب وموضوع اللعبة والقصة العامة لها وكذلك الفئة المستهدفة من اللعبة..
ثم بعد ذلك يبدأ فنان اللعبة في عمل الرسومات الأولية للعبة concept art ثم البدء في رسم الرسومات ثلاثية الأبعاد modeling و تكون الرسومات ثلاثية الأبعاد الناتجة عديمة اللون (بيضاء أو رمادية اللون ) وحينها يقوم الفنان بعمل ال texture وهو نوع من الرسومات ثنائية الأبعاد تعطي التصميم ثلاثي الابعاد الصورة المناسبة له (يمكننا أن نعتبرها في حالة تصميم الشخصيات شكل والوان البشرة والجلد وكذلك الثياب وفي حالة المباني مثلا تكون بمثابة الطلاء للمبنى ) وبعد ذلك نحتاج لعمل ال rigging للأجسام المتحركة وهو ببساطة عمل مفاصل لتصميمات الشخصيات والأجسام المتحركة في اللعبة وبعد ذلك يقوم بعمل التحريك animation للاعب أو العناصر المتحركة … وبالتوازي مع هذه الخطوات يقوم بعمل الصوتيات المطلوبة في اللعبة من أصوات للخلفية ومؤثرات صوتية و اصوات بشرية وغيرها .. وكذلك يقوم بعمل الرسوميات الخاصة واجهة اللعبة مثل الأزرار والقوائم ..
بعد هذا يأتي دور مطور الألعاب وهو الآن يمتلك التصميم العام للعبة ومراحلها وطرق اللعب وكذلك كل المكونات الفنية للعبة مثل الشخصيات والمباني وغيرها … فيبدأ في عمل الأنظمة الأساسية في اللعبة وتركيب البيئات والشخصيات عليها وتحويل كل ما تم عمله من مجرد كلام في مستند وبعض التصاميم و الرسوميات الى لعبة كاملة صالحة للعب ..
بالطبع يوجد العديد من الخطوات الأخرى مثل اختبار اللعبة وما شابه ولكن نحن نتحدث هنا باختصار شديد مع العلم أن المقصود بالمصمم أو المطور أو الفنان هو الوظيفة وليس الشخص نفسه فمن يقوم بهذا الدور قد يكون فريقا يتكون من عشرات الأشخاص في الشركات الكبير أو شخصا واحدا في المشاريع الصغيرة..
اما الآن وقد علمت مقدمة بسيطة عن تطوير الألعاب فيجب أن نعرف كيف نتعلم تطوير الألعاب باستخدام محرك العاب يونتي unity game engine
تتم برمجة محرك العاب يونتي باستخدام واحدة من لغتين .. إما لغة الجافاسكربت javascript أو لغة السي شارب #C والثانية أفضل بسبب الدعم الأفضل لها وانتشار استخدامها مع يونتي اكثر من الجافاسكربت
محرك العاب يونتي يمكنك من عمل العاب لاغلب المنصات المستخدمة والمتوفرة بدأ من منصات الألعاب game consoles مثل الـ xbox و الـplaystationمرورا بأنظمة الويندوز واللينكس والماك وانتهاءا الى العاب الموبايل للأندرويد والاي أو اس بل يمكنك أيضا أن تطور ألعاب الواقع الافتراضي VR و الواقع المعززAR باستخدام محرك يونتي ..
في البداية يجب عليك تعلم لغة ال#C السي شارب وتعلم مفاهيم البرمجة الكائنية OOP قبل البدء في تعلم محرك الألعاب يونتي ..مع العلم أن بعض الناس تبدأ في تعلم استخدام يونتي وتعلمه من غير تعلم لغة السي شارب أولا اعتمادا على أنها ستتعلمها أثناء تعلم يونتي ولكن هذا سوف يستغرق وقتا أطول و يعرضك للكثير من المشاكل نتيجة لعدم فهم اللغة أولا كما ينبغي.
على العموم معظم مصادر تعليم اليونتي للمبتدئين تبدأ بتعليم السي شارب بشكل مستقل أو بالتطبيق على يونتي ثم تشرح بعد ذلك تطوير الألعاب باستخدام يونتي
سنقسم المصادر هنا إلى مصادر مدفوعة ومصادر مجانية …
اما بالنسبة للمصادر المدفوعة فلا تقلق .. بعضها يمكنك الحصول عليه مجانا بشكل قانوني وبعضها رخيص السعر للغاية..
المصادر المجانية
في البداية يوجد التخصص من جامعة michigan state university على موقع كورسيرا وهو يحتوي على اربع كورسات مهمة للغاية للمبتدائين وتغطي العديد من الجوانب الهامة في صناعة الألعاب يمكنك مشاهدة الكورس مجانا من دون الحصول على الشهادة أو الدفع من أجل الحصول على الشهادة .. ملاحظة الكورس لا يغطي تعليم لغة السي شارب بشكل مستقل من هنا
بعد ذلك من أفضل المصادر موقع يونتي نفسه فهو يحتوي على العديد من الشروحات والتطبيقات الكثيرة يمكنك أن تجدها من هنا
وهذه بعض الكورسات على اليوتيوب لتعلم لغة ال#Cمن هنا
هذا الكورس يغطي الاساسيات فقط ولا يشرح الOOPمن هنا
من هنا OOPاما هذا الكورس فهو يغطي جانبا كبيرا من ال
هذا الكورس يشرح السي شارب على يونتي بشكل جميل من هنا
هذا الكورس ايضا يعتبر مقدمة جيدة ليونتي وسي شارب معا ..
وكذلك يوجد العديد من القنوات الرائعة على اليوتيوب تقدم كورسات كاملة ممتازة لتعلم اليونتي مثل هذه القنوات ..
Jimmy Vegas: من هنا
Gamesplusjames: من هنا
Brackeys: من هنا
N3k EN: من هنا
كما توجد هذه الدورة العربية للمطور المبدع ياسر جفال وهي مجانية تمام على منصة رواق من هنا
هناك أيضا العديد من المواقع التي تحتوي على الكثير من الدروس المفيدة منها هذا الموقع والذي يحتوي على دروس متقدمة رائعة من هنا
وهناك الكثير غير هذا من الدروس سواء على اليوتيوب أو على المواقع المختلفة ..
اما بالنسبة للمصادر المدفوعة فهي كالاتي …
منصة pluralsight:
وهي بمثابة كنز كبير حيث تحتوي على العديد من كورسات اليونتي والتي يشرحها محترفون في مجال صناعة الألعاب وايضا برامج التصميم المختلفة مثل ال3ds max و ال maya
ولكن الأمر الجيد أنه يمكن الحصول على حساب مجاني لمدة ثلاثة أشهر لهذه المنصة باتباع الخطوات من هنا
منصة Lynda:
وهي ايضا تحتوي العديد من الكورسات في كافة مجالات البرمجة ومنها يونتي .. وهي منصة مدفوعة ولكن يمكن الحصول على حساب مجاني عليها لشهر واحد من موقع ليندا نفسه …
كورس Ben Tristem على موقع يودمي … هو من افضل الشارحين ليونتي … الكورس ثمنه 200 دولار ولكنه عادة ما يتوفر بسعر 10 دولارات بعد الخصم .. وهو كورس يستحق الاقتناء بالفعل من هنا
في النهاية أود التنبية على النقاط التالية
أنت لست بحاجة لأخذ كل هذه الكورسات .. فقط عليك أن تدرس ما أنت محتاج إليه لأن كثير منها قد يحتوي على معلومات مكررة …
أهم شيء في التعلم هو التطبيق ولحسن الحظ فإن أغلب كورسات تطوير الألعاب (إن لم يكن كلها ) هي كورسات تطبيقية ..
لا تبدأ بعمل الألعاب الكبيرة .. ابدأ بالتدريج وصدقني سيكون هذا أفضل بكثير من أن تبدأ في مشروع ضخم يستغرق منك الكثير من الوقت ولا تستطيع إكماله.
احرص على أن تكمل كل لعبة تطورها الى النهاية و احرص على التفاصيل فهي التي ستميزك عن غيرك ..
معظم هذه الكورسات من المستوى المبتدئ الى المتوسط اما المواضيع الإحترافية فسوف تعرفها عندما تبدأ في التعلم … وأنا متأكد أنك لو وصلت لمستوى متوسط فأنت بالتأكيد تعرف ما هي الخطوة التالية.
تطوير الألعاب هو جزء من علوم الحاسوب .. فكلما تعلمت أكثر في علوم الحاسب كلما فهمت افضل عن كيف يعمل محرك الألعاب وكيف تعمل الأنظمة المختلفة به وكيف تطور الألعاب بشكل افضل.
السؤال الهام … بعد أن تعلمت تطوير الألعاب وقمت بتطوير بعض الألعاب المتوسطة
كيف أربح المال؟
هناك عدد من الطرق لربح المال لمطور الألعاب سنستعرضها باختصار ..
الأول وهو بالتاكيد اول ما خطر في ذهنك هو الذهاب والعمل في شركة من شركات تطوير الألعاب سواء اكانت صغيرة الحجم أم متوسطة أو كبيرة…
يمكنك أيضا أن تطور العابا لحساب الآخرين بمقابل مادي سواء أكان هذا بمفردك ام مع فريق في استوديو.
اما الطريق الآخر هو أن تكسب المال من الألعاب التي تطورها أنت لحسابك .. ولهذا عدة طرق مختلفة ..
الطريقة الاولى عن طريق بيع اللعبة نفسها بمبلغ من المال يدفعه اللاعب ليستطيع لعب اللعبة طوال الوقت وهذا عادة يكون على متاجر مثل steam وهو افضل في العاب الكمبيوتر ولا احبذه في العاب الموبايل ..
الطريقة الثانية هو أن تكون اللعبة مجانية تماما وأنت تكسب عن طريق الاعلانات داخل اللعبة وهذا يكون في العاب الموبايل أو في الإعلانات في موقع اللعبة وهذا يكون عن طريق مواقع الويب عادة ..
الطريقة الثالثة هو أن تكون اللعبة تحتوي على مشتريات داخلية in app purchase ليستطيع اللاعب تطوير نفسه فيها أو التقدم بشكل أسرع..
يمكنك أيضا أن تقوم بعمل اشتراك شهري للعب اللعبة بدلا من دفع مبلغ كبير مرة واحدة …
اما اخر طريقة فيمكنك أن تقوم بتطوير الألعاب وبيع اللعبة نفسها بكودها المصدري لشركة أخرى تتولى نشرها وتحصل هي على الارباح بعد ذلك .
وفي نهاية هذا المقال هناك عدة نقاط أحب أن انوه عنهما ..
الأولى هي أنه يجب عليك أن تعي أن الألعاب هي منتج ووسيلة من وسائل الإعلام .. بمعنى أنه ينطبق عليها معظم ما ينطبق على المنتجات الأخرى .. فمهما كانت اللعبة رائعة و متميزة لن يلعبها احد مالم يسمع عنها
وكذلك يجب عليك وضع خطط مالية وتسويقية للعبة و لتكاليف تطويرها .. وكل المجالات التي ذكرناها هنا هي مرتبطة ب
صناعة الألعاب من الناحية الفنية وليست من الناحية الإدارية أو المالية أو ما شابه .. عليك أن تنتبه لهذا الأمر عند تطويرك للعبتك الخاصة …
النقطة الثانية هي أن اللاعب لن يهتم ابدا بالجهد الذي بذلته لتطوير لعبتك ولعمل أنظمة البرمجة بها وهي ذات قصة مملة أو رسوميات سيئة على سبيل المثال …
النقطة الثالثة وهي ان حجم اللعبة لايعبر بالضرورة عن الذي ستربحه منها فهناك العاب اشتهرت وكسب منها المطور الكثير من المال على الرغم من أنها شديدة البساطة ..
أخر نقطة هنا هي أنه لا يشترط أن تمتلك كمبيوتر فائق الأداء وغالي الثمن للبدء في تعلم تطوير الألعاب .. كمبيوتر متوسط سيفي بالغرض .. خصوصا اذا كنت تريد عمل ألعاب لأجهزة المحمول أو ألعاب بسيطة وليست معقدة وهو الأفضل بالطبع في بداية التعلم.