السلام عليكم ورحمة الله وبركاته

كيف تُصنع الألعاب؟

إن كنت صرفت جزءاً من وقتك في تجربة لعبة على مر السنوات السابقة، لعله تبادر إلى ذهنك كيف يتم تطوير مثل هذه الألعاب؟ سابقاً كان تطوير الألعاب يتطلب الكثير من الخبرة لأنه كان يعتمد على لغات برمجية مباشرة مثل C و  ++C ، وكان يتم الإستعانة بدوال مهيئة مسبقاً  API ، وهي دوال متخصصة في أمور معينة مثل إظهار الرسوميات والأصوات وغيرها، وأشهر مكتبتين كانتا في ذاك الوقت هما مكتبة DirectX و OpenGL ، وعلى الرغم من أن الـ API كانت تسهل جزء من العمل، إلا أنها كانت تدفع المطور لإستهلاك وقت كبير، دون الولوج إلى فكرة اللعبة نفسها، مما دعت الحاجة إلى تواجدِ شيء أكثر قوة من الـ API نفسها، بحيث يقلل الوقت ويختصر الأمور المكررة.

ما هو محرك الألعاب Game Engine ؟

في تلك الأثناء بادرت بعض الشركات إلى تطوير منظومة برمجية متكاملة، لتستخدمها في كل ألعابها المستقبلية، بعض هذه المنزومات أصبح متاحاً للعلن وبعضها بقي حكراً للشركة نفسها، هذه المنظومة البرمجية نسميها محرك الألعاب Game Engine ، وهو برنامج متكامل تم بناءه خصيصاً لتطوير الألعاب، حيث يوفر مجموعة من الأدوات بدءاً بتصميم المراحل إلى تصدير اللعبة على المنصات المختلفة مثل الـ PC و ال PlayStation وغيرها، ويوفر المحرك أدوات وظيفية لعمليات أساسية أهمها :
– إظهار المجسمات Rendering سواءاً كانت ثنائية البعد 2D أو ثلاثية البعد 3D .
– أدوات لإدارة المشاهد والمراحل وبناءها بشكل يساعد المصممين على ذلك،
– أدوات تسهل عملية التطوير والبرمجة وإرفاقها إلى المجسمات المختلفة.
– دوال للتحكم في فيزيائية الأجسام وتصادمها.
– أدوات لتشغيل الأصوات وتأثيرها في الفضاء ثلاثي الأبعاد.
– أدوات للتحريك الحر وتحريك أنظمة متكاملة مثل الشخصيات والمجسمات الصلبة.
– أدوات لإدارة الذاكرة وتنظيمها ومنع أي إستهلاك زائد قد يؤدي باللعبة إلى التوقف.
– أدوات للذكاء الإصطناعي وإيجاد أفضل طريق لسلوك المجسمات بناءاً على طبيعتها.
– أدوات للعب الجماعي Networking وكيفية ربط اللاعبين ببعضهم مباشرة.
– أدوات تسهل عملية التصدير إلى منصات الألعاب سواءاً للحواسيب أو الموبايل أو ال Consoles المختلفة.
كل هذه الجزئيات وغيرها يوفرها محرك الألعاب، ليجعل المطور يستثمر وقته بشكل أفضل للتركيز على فكرة لعبته.

ما هو محرك Unity ؟

إن كنت قريباً من مطوري الألعاب أو من بعض شركات الألعاب لعلك سمعت بإسم Unity Game Engine، حيث أن محرك الألعاب Unity يعتبر من أقوى وأفضل المحركات حالياً، لإمتلاكه العديد من الخصائص التي تؤهله لذلك، فضلاً عن سهولة تعلم أساسيات المحرك، التي  تأخذ الوقت القليل مقارنة بمحركات الألعاب الأخرى، مما يجعلك مؤهلاً للإنتقال والتركيز على مضون فكرة لعبتك، تعالو معنا لنتعرف عن قرب على أهم خصائصه وميزاته:

1 – محرك مرن وقابل للتأقلم مع متطلباتك :

محرك الألعاب Unity متوفر لنظام Windows  ونظام Mac ، ويتميز بواجهة رسومية صديقة للمستخدم، سلسة وقابلة للتغيير إلى الشكل الذي يناسب المطور، والمحرك يدعم تطوير الألعاب ثنائية البعد 2D وثلاثية البعد 3D ويتيح الأدوات التي يحتاجها كل نوع على حدى، ويحتوي على أدوات للذكاء الإصطناعي مثل إختيار أفضل وأقرب طريق مع وجود عوائق، حيث يتيح أدوات مخصصة يمكنك إدراجها في مشهدك لتبدء بالتنفيذ مع التغيير البسيط على إعداداتها، والمحرك يتيح أيضاً أدوات خاصة لبناء الواجهات UI المختصرة من User Interface والتي تبقى على شاشة اللاعب بغض النظر عن حركة المجسمات الداخلية، فضلاً عن إحتياجك لها لبناءقوائم في ألعابك مثل الـ Main Menu وغيرها. والمحرك يوفر الحسابات الفيزيائية فهو يعتمد على محرك Box2D في حالة كنت تريد عمل لعبة ثنائية البعد أو محرك NVIDIA PhysX في حال كنت تريد عمل لعبة ثلاثية البعد، وهذين المحركين هما الرائدين في هذا المجال، ليس هذا فحسب، بل يتيح لك المحرك القدرة على إضافة أدوات خارجية تقوم أنت ببناءها أو تحضرها من متجر Unity Asset Store أو من أي مكان آخر يناسبك.

2 – أدوات للمصممين والفنانين :

من أكبر الأخطاء التي يقع بها البعض، إعتقادهم أن محرك الألعاب موجه ومقتصر على المبرمجين فقط، والحقيقة أن محرك الألعاب Unity موجه للمبرمجين وللرسامين وللفنانين ولأعضاء فريقك الآخرين، فهو يقدم أدوات لتصميم ورسم المراحل التي يحتاجها الـ Level Designer فهناك أدوات 2D و 3D ، وهناك أدوات للإضاءة Lighting Tools يحتاجها إختصاصي الإضاءة، وهناك أدوات للصوت Audio System يحتاجها فني الأصوات، وهناك أدوات للقصاصات Sprite management Tools يمكن للمصمم إستخدامها، وهناك أدوات لأنظمة الجزئيات Particle Effects تشبع رغبة مختص ال Visual Effects ، وهناك أدوات للحركة Dopesheet Animation System تساعد الـ Animator على إنهاء حركته بأكمل وجه، وهناك أدوات فنية أخرى كفلاتر الكاميرا Post Processing Effects وأدوات أخرى.

3 – عارض آني للرسوميات Realtime Graphics Rendering :

ما تراه داخل محرك اللعبة هو ما سيكون ظاهر للاعب لاحقاً، وهذه ميزة كبيرة جداً تتيح لك إطلاق العنان لمختيلتك ولإبداعاتك، فيمكن تصميم ساحل جميل مع أشعة الشمس الرائعة أو حتى أخذ اللاعب إلى سباقات السيارات داخل المدن ليلاً والتمتع بإنعكاسات الإضاءات في كل مكان، فمحرك الألعاب Unity يمتلك عارض آني للرسوميات Real time Rendering تُمكنك من إنتاج إضاءة واقعية Real-Time Global Illumination  مع فيزيائية للمواد حقيقية Physically Based Rendering من إنعكاس وإنكسار لمختلف المواد الموجودة في الواقع الحقيقي. ليس هذا فحسب، بل إن المحرك لأنه يدعم كل المنصات فهو قريب من دوال الرسوميات الأساسية low level graphics API لكل منصة، هذا يجعله قادراً على أخذ ميزات كروت الشاشة الحديثة التي يتم تطويرها بشكل دوري فهو يدعم ال API التالية : Vulkan و iOS Metal و DirectX12 و nVidia VRWorks و AMD LiquidVR .

4 – مشروع واحد وتصدير لعدة منصات :

وهذه تعتبر من أكثر الميزات التي تجعل العديد من المطورين يتوجهون نحو محرك Unity ، فما عليك سوى أن تقوم ببناء لعبتك لمنصة إبتدائية وبعد الإنتهاء منها يمكنك بضغطات قليلة وبتعديلات جداً بسيطة تصديرها إلى منصة أخرى، فالمحرك قادر على تصدير لعبتك إلى أكثر من 25 منصة فيمكنك نشر لعبتك على أجهزة ال Desktop وأجهزة الـ mobile  و أجهزة الـ Consoles و الويب والتلفاز وأجهزة ال AR و ال VR وهنا إستعراض للمنصات الحالية والقائمة تزداد بين الحين والآخر. بالإضافة إلى أن هناك العديد من الشركات التي تستخدمه في مشاريعها مثل شركة Ubisoft و لمخرجين من Hollywood وصولة إلى وكالة الفضاء NASA . وأيضاً يعتبر من أكثر المحركات إستخداماً في تطوير تطبيقات وألعاب الواقع الإفتراضي والواقع المعزز.

5 – متجر لكل مستلزمات مشروعك :

أيضاً من الميزات التي لا يمكن تجاهلها هو إمتلاكه لمتجر يحتوي على كل ما يمكن أن يلزمك لتطوير لعبتك، وهو ما يطلق عليه إسم Unity Asset Store ، فهو يحتوي على إضافات لنفس المحرك تسهل وتزيد من الإنتاجية ، ويوفر لك الكثير من المجسمات ثلاثية الأبعاد ، والصور ثنائية الأبعاد ، والأصوات والموسيقى، وأسطر برمجية تقوم بوظائف معينة ، بل حتى يوفر لك مشاريع كاملة يمكنك إعادة إستخدامها بما يتناسب وطبيعة لعبتك. ونذكر هنا أن كل هذه المصادر متاحة على المتجر إما مجانية أو مقابل سعر يضعه المطور، فمن يقوم بوضع هذه المصادر ليس فقط الشركة نفسها، بل يتجاوز إلى كل المطورين والرسامين والمصممين ومهندسي الصوت وغير ذلك، وأنا شخصياً لي تجربة فريدة مع هذا المتجر وهو يعود لي بدخل شهري مناسب جداً.

6 – شبكة لاعبين Networking :

أغلب الألعاب الحالية تعتمد على وجود لاعبين حقيقين مما يزيد من متعة وتحدي اللعبة نفسها، بالتالي وجود قاعدة أساسية تستطيع من خلاله ربط ووصل اللاعب مع غيره من اللاعبين شيء أساسي، وهناك يأتي دور محرك الألعاب Unity ، فهو يتيح سهولة في تركيب الربط بالشبكة وبشكل سريع، ومجموعة الدوال التي يوفرها تُمكنك من إستخدام الدوال الأساسية الموجودة في المحرك مما يزيد من كفاءة الربط وسرعته، ليس هذا فحسب، بل يمكنك إستخدام خوادم الشركة نفسها لربط أكثر من لاعب في نفس الوقت، كل هذا يمكنك عمله مجاناً لمجموعة من اللاعبين ويمكنك زيادة العدد كيفما تشاء بمقابل مالي بسيط، وإن كنت من محبي شركة أخرى ستجد إضافة لها بالتأكيد على متجر Unity Asset Store .

7 – تطوير تشاركي للفريق في نفس الوقت :

من أكثر الأمور التي تؤرق فرق العمل هو كيفية تجميعها وكيفية إرسال المهام المنجزة وكيفية ربطها في مكان واحد يستطيع الكل مشاهدة النتيجة النهائية للعمل من غير نسخ كثيرة ومن غير ضياع لملفات هامة، هذا بالضبط ما يوفره محرك الألعاب Unity من خلال خدمة Unity Teams ، فبهذه الميزة يمكنك الآن العمل مع صديقك أحمد على نفس المشروع حيث يتم رفعه بشكل Online على خادم شركة Unity وتقوم بالعمل على نسخة محلية منه على جهازك، فإن قمت بالتعديل على ملف أو مجسم معين، كل ما عليك فعله هو أن تقوم بتزامن هذا الملف إلى الخادم ليأتي تنبيه إلى أحمد أن هناك نسخة جديدة من هذا الملف وتستطيع تحميلها لترى ما الجديد فيها، ليس هذا فحسب، بل يقوم الخادم بأخذ نسخة إحتياطية من الملف القديم في حال لزمك الرجوع له في المستقبل، فالمحرك يقوم فعلياً بخدمتين، خدمة تسهيل العمل بتزامن الملفات وخدمة حفظ أرشيف للملفات القديمة أو ما يعرف بال Source Control ، مع التنويه أن هذه الخدمة ليست مجانية وهناك مبلغ شهري بسيط تدفعه للحصول عليها.

8 – منصة إجتماعية لعرض أعمالك :

ومن الخدمات والميزات التي تقدمها شركة Unity أيضاً هي منصة Unity Connect الإجتماعية الخاصة بمطوري الألعاب ، وهذه المنصة مشابهة للمنصات الفنية مثل Behance لشركة Adobe وغيرها من المنصات التي تتيح لك عرض أعمالك ومشاريعك التي أنهيتها أو التي تقوم بالعمل عليها حالياً، ليس هذا فحسب ، بل من خلال منصة Unity Connect يمكنك التعرف على خبراء في هذا المجال وبإمكانك البحث عن عمل أو حتى البحث عن شخص يساعدك في مشروعك سواءاً بمقابل مادي أو بطريقة تشاركية يتم الإتفاق عليها بينك وبينه. وهذه المنصة لها العديد من الفوائد ويجب على كل مطور يعمل على Unity أن يشترك فيها لما تعود عليه بالنفع المرحلي أو الدائم.

9 – تغذية راجعة مباشرة من اللاعبين :

كيف تدري أن محمد قام بإستكشاف جميع تفاصيل اللعبة وكيف تعرف لماذا تركت بشرى اللعبة وعند أي مرحلة بالضبط، وكيف تعرف ما المشاكل التي تؤدي إلى توقف اللعبة عن العمل، هذا أغلبه يجاوز مرحلة الإختبار، فمن الطبيعي خلال تطويرك للعبة وجود شخص يقوم بتجربتها لإستكشاف الأخطاء وإعطائك تقرير فيها، لكن بعد أن تقوم بحل جميع المشاكل وبعد أن تقوم بإصدار اللعبة سيكون من الصعب على المختبر إكتشاف جميع الحالات، وهنا يأتي دور محرك الألعاب Unity فهو يعطيك تقرير كامل من خلال وضع أسطر معينة في اللعبة تخبرك بتفاصيل دقيقة تساعدك في تطوير اللعبة وتساعدك أيضاً في أخذ تقارير تفصيلية عن كل حدث في اللعبة، هذا كله من خلال منصة مباشرة توفرها شركة Unity تحت الإسم Analytics .

10 – أكثر من خيار للربح :

هناك العديد من المطورين يقومون بإنتاج ألعاب لأنها متعة بحد ذاتها، ولكن الشريحة الأكبر توجه الألعاب لتكون طريقة ربح، فأرباح الألعاب في السنوات الأخيرة أصبحت هائلة وتفوق مجالات عديدة منها صناعة الأفلام، لذلك محرك الألعاب Unity يقدم لك خيارين تستطيع من خلالهما إستثمار لعبتك لتعود بمقابل مادي، أولهما هو إمكانية وضع ميزات يمكن شراءها بمقابل مالي في داخل اللعبة وهي ما تعرف بالإختصار IAP من الإختصار In App Purchase ، وثانيهما هو إضافة إعلانات Ads داخل اللعبة من نفس شركة Unity حيث تقوم بإعطاءك مبلغ معين على عدد مشاهدات الإعلان، أو بإمكانك إستخدام مزود إعلانات آخر مثل Admob من شركة Google وغيرها من المزودات الربحية.

الخلاصة :

محرك الألعاب Unity هو قبلة المطورين الأولى لتطوير الألعاب لما فيه من ميزات وأدوات تسهل سير عملية الإنتاج وتعطي نتائج رائعة، فهو يمتلك محرك عصري وسهل الإستخدام ويمكنك نشر الألعاب على أكثر من منصة بخطوات قليلة، وما تراه داخل المحرك سيراه اللاعب داخل لعبته، كل الميزات السابقة يضاف إليها أن المحرك نفسه مجاني الإستخدام ، إن كانت أرباحك السنوية لا تتجاوز مبلغ 100 ألف دولار ، وإن تجاوزت ذلك يتوجب عليك الإنتقال إلى باقة تتناسب ودخلك السنوي، هذا يجعل المحرك هو الخيار الأنسب للمطورين المستقلين وللمبتدئين والهواة، الشيء الذي لا يكلفك شيء إطلاقاً ويثري سيرتك الذاتية، كان هذا موجز عن محرك الألعاب Unity يمكنك تحميه الآن مجاناً من هنا.

2 thoughts on “10 ميزات لمحرك الألعاب Unity يجب أن تعرفها

  1. انا مبتدا واريد ان اطلب منك طلب (اريد ن تكون معلمى فى برنامج يونيتى من الصفر واتمنى ان توافق لانى احب برمجة الالعاب وان قبلت طلبى فسابعت لك ايميلى لتعلمنى) والان ساعرفك نفسى يا اخى
    الاسم:مصطفى جلال ابراهيم احمد
    العمر:15 واتمنى ان تسامحنى لان عمرى صغير
    البلد:مصر
    وفى النهاية ساقول لك لما طلبت من حضرتك ان تعلمنى
    اولا:لنى اعجبنى طريقتك فى الفيديو
    ثانيا:وبكل سراحة لانى لم اجد اى فيديو يعلمنى كل المطلوب فى يونيتى كل الفيديوهات تصمم العاب فقط فلا يوجد من يعلمنى البرمجة #C فى unity
    فانا اريد ان تعلمنى كل شى فى يونيتى من الموقع حتى البرنامج فارجوك سامحنى على طلبا تى الكثيرة((واتمنى ان نتوافق واللة ولى التوفيق)).

    • أهلاً بك، العمر ليس عيب، كلنا بدأنا صغار المهم أن تكون نشيط ومتفاعل، بالتوفيق

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *