/مقدمة لتطوير الألعاب – الجزء الأول

مقدمة لتطوير الألعاب – الجزء الأول

إذا كنت من محبي ألعاب الفيديو و تقضي أغلب الوقت في تحطيم الـ High Scores على ألعاب الموبايل المفضله لديك

و تعتقد أن  تطوير الألعاب من الأمور الممتعة – هو حقا كذلك – ولــكـن !!! أنت هنا لأنك مهتم بصناعة لعبتك الخاصة صحيح ؟

إذا كنت لا تمتلك خبرة في البرمجة أو التصميم اممممم فلماذا أنت هنا!

أنصحك بغلق هذا المقال

لا تضيع وقتك هنا !!

انتظر 😀

الحالة الوحيدة التي لا يجب فيها ألا تكون هنا هو أنك غير مهتم بألعاب الفيديو .. ربما!

حسناً .. مازلت هنا ..

تريد تعلم صنع لعبتك الخاصة، أو لديك فكرة ما، ومن الواضح أنك قررت استخدام محرك الألعاب الأكثر شهرة Unity

اممم ولكن لماذا ؟!

يوجد حقاً أكثر من 50 محرك ألعاب Game Engine .. منهم المجاني ومنهم المدفوع و الكثير منهم استخدم لعمل ألعاب مشهورة ذات مبيعات عالية، ولكن ما الذي يميز Unity عن غيره ؟

أولاً ما هو الـ Game Engine ؟

هو مجموعة من المكونات Component التي تمنحك الكثير من الوظائف لتسريع وتسهيل عملية تطوير الألعاب

أو بمعني آخر هو مجموعة من الأنظمة Systems المبرمجة والمحسنة خصيصاً للعمل معا لإنتاج لعبة احترافية.

فكر فيما قد تحتاجه لعمل لعبة؟

اممم أولاً أحتاج إلى نظام إدخال Input System حتي أستطيع التحكم داخل اللعبة وتحريك الـ Player وعمل Shooting وإلى آخره سواء عن طريق الـ Mouse أو الـ Keyboard وتحتاج أيضاً لنظام لمعالجة المدخلات.

أيضاً تحتاج الـ Graphics System لمعالجة وعرض رسوم اللعبة ربما هذه الـ Component هي الأهم في ضمن مكونات الـ Game Engine والتي تتنافس العديد من الشركات من أجل تحسينها ولهذا تجد الألعاب مثل Call of Duty و Assassin’s Creeds بشكلها الأن من الرسوم الواقعية

ماذا أيضاً؟ .. أممم آه تحتاج أيضاً لعمل مؤثرات صوتية داخل اللعبة .. رائع فأنت تحتاج إلى Component  للـ Audio/Sounds

ما هي أشهر لعبة للـ Mobile Devices العام الماضي ؟

أظن أنها Angry Birds أو Flappy Bird أو … CATReloaded Birds لما لا 😀 فأي لعبه ينتهي اسمها بـ Birds تحقق مبيعات هائلة هذه الأيام 😀

وما هو الـ Components الرئيسي في هذه اللعبة يا ترى؟

أمممم أظنه أنه نظام الـ Physics ؟ هل هذا صحيح ؟ .. إذن فيجب أن يقدم لك الـ Game Engine نظام ما لبناء الفيزياء والمعادلات الفيزيائية والرياضية التي سوف تحتاجها مثال الوزن والجاذبية والسرعة وإلخ…

وهناك العديد من الـ Components الأخرى التي يجب أن تكون متوفرة في الـ Game Engine حتي تستطيع صناعة لعبتك الخاصة مثال الـ Networking و الـ GUI و الـ Scripting حتي تستطيع برمجة اللعبة والـ Objects المختلفة بداخلها بالطبع.

إذن هذا هو مفهوم الـ Game Engine

ولكن لماذا أستخدم Game Engine من الأساس؟

امممم :/ 🙁

هذا السؤال سألته لنفسي منذ فترة كبيرة .. لماذا لا أتعلم كيفيه عمل Game Engine خاص بي 😀

واكتشفت بعد هذا بمدى حماقة هذا الأمر .. سوف أقضي ما يقرب من ٣ سنوات أطور في المحرك فقط دون اللعبة !!

تخيل أن عليك برمجة كل شئ من البداية .. نظام للـ Input/Output ونظام للـ Graphics و نظام للـ Physics ونظام لعمل استرداد للصور والملفات الصوتية والـ 3D وغيره وتهتم بكيفية تصدير اللعبة للمنصات المختلفة .. اممممم الكثير من الوقت وآلاف السطور البرمجية ولماذا !!!

تسمع دائما جملة “لا تبدأ من الصفر .. ابدأ من حيث انتهي الأخرون” .. هذا بالضبط مفهوم ان تستخدم Game Engine جاهز بدلاً من برمجته من البداية.

عندما تنظر إلي الألعاب علي الساحة الآن وخاصةً ألعاب الموبايل سوف تجد أنه بنسبة ٩٠٪ منها يستخدم واحداً من الـ Game Engine المشهورة في السوق حاليا .. وال ١٠٪ الأخرون يستخدمون Game Engine قد صنعوها علي مدار سنوات عديدة.

إذن فركز على اللعبة والقصة وتصميم أجزاء اللعبة ومكانيكية عملها أفضل.

     limbo

مثال واقعي:

اللعبة الغنية عن التعريف Limbo .. كم أعشق هذه اللعبة 😀

هذه اللعبه مطورة من قبل شركة Playdead وأستغرق عمل اللعبة حوالي ٣ سنوات ونصف نظراً لأنهم كانوا يعملون علي تطوير Game Engine خاص باللعبه فقط، ولكن عندما أرادوا بدأ العمل على اللعبه القادمه المنتظره inside

وجدوا أن الـ Engine القديم يحتاج للكثير من التعديل خاصتا في الـ Graphics نظراً لأنهم كانوا يستخدمون رسوم أبيض وأسود فقط في اللعبه.

وقرروا اخيراً إستخدام Unity لتطوير لعبتهم القادمه.

لقد كان الكثير من العمل، إنه مثل تطوير منتجين في آن واحد المحرك واللعبه نفسها. اللعبه الجيدة تحتاج الكثير من العمل” هكذا قال مخرج اللعبه Arnt jensen

ثانياً ما هي أشهر الـ Game Engines المنافسه في السوق في الوقت الحالي ؟

gears-of-war-3-group

Unreal Engine 4

هو المحرك الأكثر شهره في تطوير الـ 3D Games بعد Unity وقد كان غير مجاني حتي بدايه عام ٢٠١٥ إلا أن الشركه المنتجه Epic قررت أخيراً أن تجعله متوفر مجاني لكل المطورين مقابل الحصول علي نسبه من الأرباح إذا ما تخطت المبيعات أكثر من ١٠٠٠٠ دولار – أعملهم انا بس ويأخدوا اللي هم عايزينه 😀 –

ليس هذا فقط ولكنهم قاموا بفتح الـ Source Code مجاناً للمطوريين أيضاً.

لغه البرمجه المستخدمه : ++C

إستخدم في تطوير سلسله Batman Arkham  و Gears of War و Toxic Games “Qube و Daylight و Fortnite .. المزيد من هنا

مميزاته :

١- له Community كبيره ودروس تعليميه Tutorials كثيره متاحه علي الإنترنت.

٢- يمكنك عمل ألعاب لمنصات مختلفه مثل Desktop و Console و Mobile .

٣- وأيضا يمكنك التعديل وتعلم الكثير من الـ Source Code إذا كانت لديك خبره في البرمجه.

عيوبه :  مازال يحتاج للمزيد من التطوير في الجزء الخاص بالـ 2D ويحتاج لبعض الوقت حتي تعتاد علي التطوير بداخله.

Warhorse

CRYENGINE

مميزاته :

١-من أقوى المحركات Game Engines لصناعه العاب الـ 3D خاصتا من حيث جوده الرسومات Graphical Output وبه أيضا أدوات قويه للـ Artists والـ Sound Designers و الذكاء الإصطناعي Artificial Intelligence.

٢- يمكنه أيضاً تصدير الألعاب لكل المنصات تقريبا.

عيوبه :

١- لا يوجد منه نسخه مجانيه توجد نسخه تجاريه Commercial منه فقط تحتاج للإشتراك ب ١٠ دولارات شهرياً.

٢- قلة الدروس التعليميه Tutorials المتاحه.

لغه البرمجه المستخدمه : Lua scripting language.

استخدم في : يمكنك تصفح بعض الألعاب المصنوعه به  من هنا

badland

Cocos2D

مميزاته :

١- من الـ Engines القويه لعمل 2D Mobile Games.

٢- بالإضافه إلي انه Open source ويتطور بسرعه كبيره وله Community كبيره وتقدم Tools قويه للمطوريين.

عيوبه :  تحتاج إلي كتابه Code أكثر من معظم الـ Game Engines الأخري حيث أن الـ Visual Editor الخاص به ما زال في مراحل مبكره من التطوير ..

استخدم في : من أشهر الألعاب المصنوعه به هي  Badland بالإضافه الي jelly splash و Kingdom Rush

المزيد من هنا

لغه البرمجه المستخدمه : يوجد أكثر من Version منه ++C و Javascript و Lua و Objective-C و Swift

الموقع: Cococs2d-swift.org Cocos2d-x.org

construct-2

Game Maker & Construct 2D

يستخدموا لعمل الـ 2D Games الخفيفه وأغلب الناس تستخدمهم لعمل الـ Prototypes .. بمعنى إذا كان لديك فكره جيدة لـ Game وتريد عمل Prototype سريع في وقت قصير يفضل أنك تستخدم واحد منهم والأثنين لا يتطلبوا خبرات برمجيه

معظم الناس ستخدموهم لتعليم الأطفال كيفية عمل Games نظرا لسهولتهم يمكن تعمل Game في ١-٣ ساعات.

لغه البرمجه المستخدمه: Game Maker تستخدم لغه هي GML والـ Construct 2D بستخدم Javascript.

cut the rope

Marmalade

يستخدم لعمل Mobile 2D Games مبني في الأساس على Cocos2d-x

لغات البرمجه المستخدمه : C++, Lua or HTML5

أستخدم في : أشهر الـ Games اللي تستخدمه هي Call Of Duty و Cut The Rope غنين عن التعريف 😀

الموقع : www.madewithmarmalade.com

ملحوظه: الهدف من هذه المقارنه هو التعريف ببعض محركات تطوير الألعاب الأخرى التي ربما قد سمعت عنها او لا .. في الغالب لا .. فألاغلبيه لا تعرف سوى محرك Unity .. ولكن هذا ليس من فراغ.

هنالك أسباب عديده تجعل Unity الأشهر بين محركات تطوير الألعاب الأخري والأكثر إستخداما أيضاً الأن حان الوقت للحديث قليلاً عن Unity.

unity5

Unity

أولا المميزات:

١- لديه أوسع Community على الإطلاق بين محركات تطوير الألعاب بالإضافه الى العديد من الدروس التعليميه.

٢- عندما تريد تعلم تقنيه او برنامج جديد فأول ما تبحث عنه هو ال Documentation .. لا يمكن الإستغناء عنها بأي حال من الأحوال سوف تحتاجها بنسبه كبيره جدا من وقتك .. و هذه ميزه اخري قويه يمتكلها Unity حيث أنه يقدم Documentation يمكن وصفها بأنها الأفضل علي الإطلاق من حيث التنظيم والسهوله والشمول.

٣- لديه Visual Editor قوي جدا يجمع ما بين ال 2D وال 3D وهذه من المميزات التي ينفرد بها مما يجعله من أقوي المحركات لتطوير جميع أنواع الألعاب علي حد سواء.

٤- لديه أقوى Assets and plugin store على الإطلاق ما بين المحركات الأخرى كل ما تتخيله تقريباً يمكن إيجاده على هذا المتجر وهذا ما يجعله فرصه جيده سواء لل Developer أو الـ Artists أو ال Designers حيث يمكنهم أيضا بيع أعمالهم Assets أو Plugins بمقابل مادي الأمر غير مقتصر فقط على المطورين ستجد أيضا Music Production والمزيد .. يمكنك أخذ نظره سريعه على المتجر من هنا  

٥- يدعم تصدير اللعبه Publishing لكل المنصات التي تتخيلها تقريباً Desktop أو Console أو Mobile.

٦- مجاااااني لن تحتاج لشراء License إلا عندما يصل ربحك إلا ١٠٠٠٠ دولار

العيوب:

١- كان لديه بعض المشاكل في Performance على بعض الأجهزه ولكن تم معالجه بعضها في الإصدار الأخير من Unity 5

٢- ال Source Code غير متاح مجاناً للمطوريين، ولكن يباع بشكل منفصل، بعض المطورين الذين يعملون على ألعاب كبيره يعتقدون أن هذه مشكله لأنهم يواجهون بعض الـ Bugs أثناء التطوير ويجب عليهم الإنتظار حتى يتم إصلاحها في من قبل الشركه المطوره.

لغات البرمجه المستخدمه: #C و javascript

استخدم في : لا تعد ولا تحصي 😀 أشهر الألعاب المفضله لدي هي Threes و Mountain Valley و Ori and the Blind Forest ولكن هنالك العدييييد من الألعاب المميزه جدا والمشهوره جدا سوف تجدها جميعها من هنا

الخاتمه

جميع الـ Engines تتشابه فيما بينها في العديد من الأشياء .. يبقي الإختيار لك إيهما يناسبك أكثر وأيهما يناسب نوع وحجم اللعبه التي سوف تقوم بتطويرها ولكن إذا كنت مبتدئ لا يهم ولا تردد علي الإطلاق جميعهم سوف يقدمون لك أدوات ممتازه فقط ربما ما تحتاجه هو تحديد نوع اللعبه في البدايه 2D و 3D لأن البعض يدعم أحدهم ولا يدعم الآخر.

في المقال القادم إن شاء الله سوف نبدأ التعرف على أسياسيات Unity وما تحتاجه في البدايه.

تحياتي 🙂

I'm CSED student, Interested in Game and iOS development, Animation, Arts and Musics, Also i have some experience in Web development and UI design.