وحدة محرك اللعبة. محرك لعبة قوي الوحدة: الوصف

20.04.2019

يوم جيد. هذه المقالة مخصصة للأداة متعددة المنصات Unity3d. تتناول المقالة أفضل الطرق، في رأيي، للعمل مع المحرك، وتقدم نصائح عملية حول التشغيل ومعلومات إضافية (عامة)؛ يتم النظر في آفاق تطوير Unity3d.

  • القسم 1. مقدمة
    • ما هي الوحدة؟
    • مميزات Unity3D
    • مشكلة المعرفة الإضافية
  • القسم 2: البدء
    • دعم الأدب
      • مشاهد
      • تصحيح الأخطاء
    • هيكلة
  • القسم 3. نصيحة عملية
    • كتابة النصوص
    • دروس فيديو
    • استكشاف الأخطاء وإصلاحها
  • القسم 4: الاغلاق
    • الاستنتاجات
    • نشر اللعبة
    • *تحسين
    • نظرية الرسومات
    • روابط مفيدة
    • رأي
      • ماذا تريد أن ترى في المستقبل؟
  • مصدر المعلومات

القسم 1. مقدمة

ما هو Unity3d؟
Unity3d هو محرك حديث متعدد المنصات لإنشاء الألعاب والتطبيقات، تم تطويره بواسطة Unity Technologies. باستخدام هذا المحرك، يمكنك تطوير ليس فقط تطبيقات لأجهزة الكمبيوتر، ولكن أيضًا للأجهزة المحمولة (على سبيل المثال، المستندة إلى Android)، ووحدات تحكم الألعاب والأجهزة الأخرى.
دعونا نتحدث قليلا عن خصائص المحرك. أولاً، تجدر الإشارة إلى أن محرك اللعبة مدمج في بيئة تطوير Unity، بمعنى آخر، يمكنك اختبار لعبتك دون مغادرة المحرر. ثانيا، تدعم الوحدة استيراد عدد كبير من التنسيقات المختلفة، مما يسمح لمطور اللعبة ببناء النماذج نفسها في تطبيق أكثر ملاءمة، واستخدام الوحدة للغرض المقصود - تطوير المنتج. ثالثًا، تتم كتابة النصوص البرمجية بأكثر لغات البرمجة شيوعًا - C# وJavaScript.
وبالتالي، فإن Unity3d عبارة عن منصة ذات صلة يمكنك من خلالها إنشاء تطبيقاتك الخاصة وتصديرها إلى أجهزة مختلفة، سواء كان ذلك هاتفًا محمولًا أو وحدة تحكم Nintendo Wii.
لتتمكن من إنشاء لعبتك الخاصة، يتعين عليك على الأقل أن تتقن إحدى لغات البرمجة المتوفرة (في Unity): C# أو JavaScript أو Boo.

سيكون أمرًا رائعًا إذا كنت تعرف، على سبيل المثال، 3Ds max، فهذا سيساعدك كثيرًا عند إنشاء لعبة، أما بالنسبة لي، كان علي أن أتقن 3Ds max على المستوى الأساسي، لأنني لم أتمكن من العثور على نموذج المنزل الذي أبحث عنه. مطلوب في أي مكان، على أي حال، ستحتاج إلى تثبيت برنامج 3Ds max على جهاز الكمبيوتر الخاص بك إذا كنت ستقوم باستيراد نماذج ثلاثية الأبعاد جاهزة، لأن النماذج الضرورية، في معظمها، تكون بتنسيق المشروع، أي ستحتاج إلى عرضها لهم بتنسيق مناسب لـ Unity3d، على سبيل المثال، في *.3DS فقط بعد ذلك يجب عليك الاستيراد إلى Unity، وإلا فسوف يلقي الأخير خطأ.

القسم 2: البدء

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

الكتاب مكتوب باللغة الإنجليزية. بالنسبة لأولئك الذين لا يعرفون اللغة الإنجليزية، لن يكون من الصعب تخمين ما يقال بشكل حدسي، لأن الكتاب مكتوب دون أي حكمة خاصة.

وهذا يستحق الاهتمام به
ملحوظة!
فيما يلي بعض النصائح لإنشاء لعبة في Unity3d.

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

وهذا ليس الأمثل على الإطلاق. بالطبع، لا نحتاج إلى توليد مثل هذا العدد الكبير من المصادمات؛ يكفي أن نقتصر على واحد فقط!

يرجى ملاحظة أن هذا لادقة. يجب أن تحاول حفظ الذاكرة في كل مكان. هل لديك مكان في اللعبة لا يستطيع اللاعب الذهاب إليه؟ لا تقم بإنشاء أي مصادمات لهذا الموقع على الإطلاق. هل لديك باب قمت باستيراده إلى المشروع من 3Ds max، ربما تم رسمه بشكل جيد جدًا (لقد صادفت بنفسي حقيقة أنه حتى براغي الباب تم رسمها ككائن منفصل)، لذا قم بإنشاء مصادم صندوقي واحد له؟ الباب بأكمله - ستوفر الكثير من الذاكرة، صدقني، هذه الذاكرة المحفوظة ستكون مفيدة جدًا لك.

§ التعامل الأمثل مع المشاهد
دعونا نتحدث عن تحسين المشاهد، ولكن سيتم مناقشة المشاهد نفسها بشكل أكبر.
تخيل الموقف التالي: لدينا مشهد "المنزل" - عندما يكون اللاعب في مبنى ومشهد "الشارع" - عندما يغادر اللاعب المبنى في الشارع. وبطبيعة الحال، من المشهد الثاني يمكننا أن نرى المنزل، أي. جزء من المشهد الأول، والعكس صحيح (إذا كان المبنى به نوافذ بالطبع). في هذه الحالة، بناء المشهد التالي هو الأمثل. في المشهد الأول، يجب تبسيط كل ما يتعلق بالشارع (أي المكان الذي لا يمكننا الوصول إليه دون الذهاب إلى مشهد آخر) قدر الإمكان. بمعنى آخر، نحن بحاجة إلى ترك مظهر المنظر من النافذة فقط، وإخراج الحشوة بالكامل. أولئك. إزالة جميع المصادمات والقرار وما إلى ذلك. تصغير. في الواقع، لماذا يجب على المعالج أن يهتم بمعالجة منطقة لا يمكننا زيارتها؟ ونفعل الشيء نفسه مع المشهد الثاني ("الشارع"). في هذه الحالة، يمكننا إزالة كل شيء من المنزل تمامًا وترك "الصندوق" الخاص به فقط.
هل تريد إنشاء خريطة مصغرة؟ يرجى التخلص من جميع المصادمات وخفض الدقة، وفي هذه الحالة ستكون لعبتك هي الأمثل.
هذه هي الطريقة التي يصبح بها العمل مع المشاهد هو الأمثل. مرة أخرى، أشير إلى أن هذه ليست تفاصيل دقيقة، إنها أشياء خطيرة تتطلب اهتمام الخالق.

مشاهد
اللعبة النهائية عبارة عن مجموعة من المشاهد المتصلة ببعضها البعض (تمامًا كما أن الحياة عبارة عن مجموعة من الأيام). سنتحدث الآن عن التصميم الأمثل للعبة.
قبل إنشاء مشروعك، فكر فيما يجب أن يتضمنه (ما هي المشاهد). قم بعمل قائمة بالمشاهد (على قطعة من الورق)، وفكر فيما سيحتويه كل مشهد. حاول الآن تقسيم كل مشهد إلى مشاهد فرعية، فكلما زاد عددها، أصبح الأمر أسهل بالنسبة لوحدة المعالجة المركزية لديك. بالطبع، لا يستحق المبالغة في عدد المشاهد. لنفترض أن لاعبك موجود في مبنى ولا يغادره أبدًا، يحتوي المبنى، على سبيل المثال، على طابقين وسقف وفي كل طابق ثلاث غرف. في هذه الحالة، في رأيي، سيكون من الأمثل "تقسيم" المبنى إلى مشهدين - طابقين وسقف. إن تقسيم كل طابق إلى مشاهد مع غرف ليس هو الحل الأمثل. وهذا ببساطة ليس ضروريًا إذا كانت كل غرفة محملة بشكل خفيف. بمعنى آخر، أنت بحاجة إلى استخدام ذاكرة المعالج الخاص بك بحكمة، ولكن لا يجب أن تنسى الاستمتاع باللعبة أيضًا.
تصحيح الأخطاء
تذكر أن منشئ المحتوى الجيد يجب أن يأخذ في الاعتبار أنه سيتم استخدام لعبته أو تطبيقه على أجهزة كمبيوتر مختلفة، مما يعني أن المحتوى الخاص به يحتاج إلى تصحيح الأخطاء بحيث يمكن استخدامه على أجهزة مختلفة. النقطة الأكثر وضوحًا وأهمية في تصحيح الأخطاء هي تحسين التطبيق لدرجات دقة الشاشة المختلفة. هذه نقطة مهمة ويجب على صانع اللعبة أن ينتبه إليها، وإلا فهو وحده من يستطيع أن يكتفي بنتيجة عمله.
هيكلة
عند تصميم لعبة، من المهم أن تتذكر هيكلة البيانات - وهو جانب مهم. هذا يعني أن كل شيء يجب أن يكون في مكانه. هل تقوم بإنشاء البرامج النصية؟ - أنشئ مجلدًا للنصوص البرمجية، وقم بتخزينها هناك، مع احتمال كبير أن يكون لديك أكثر من نص برمجي واحد، ولن يكون من الجيد تشتيتها في جميع أنحاء المشروع، وستعاني أنت بنفسك لاحقًا. من تجربتي الخاصة، يمكنني القول أنك ستحتاج بالتأكيد إلى إنشاء مجلدات تحتوي على نصوص برمجية وملفات صوتية وأنسجة واجهة المستخدم الرسومية والمواد والرسوم المتحركة وربما المباني الجاهزة والنماذج الخاصة بك (المستوردة من 3Ds max)، ومن الأفضل تخزين الكائنات في المجلد الأخير حتى لا تبعثر جميع النماذج حول المشروع بطريقة فوضوية). عندما تقوم بإنشاء برنامج نصي معين، تذكر أن أسماء المتغيرات والفئات وما إلى ذلك يجب أن تتحدث عن نفسها إذا كنت تريد إنشاء برنامج نصي بالنسبة للمخزون (التقط عنصرًا، استخدم عنصرًا)، فمن الأفضل أن تبدأ جميع البرامج النصية للإجراءات الرتيبة (على سبيل المثال، الالتقاط) بكلمة رئيسية، على سبيل المثال: Catch<имя предмета>; يستخدم<имя предмета>، في هذه الحالة سيكون من الأسهل عليك التنقل في المشروع، ويبدو أجمل بكثير. تذكر القاعدة الذهبية: البرنامج الجيد ليس هو البرنامج الذي تتم كتابته بطريقة خرقاء ويتم تصحيح أخطائه إلى أقصى حد، البرنامج الجيد هو البرنامج الذي يتم كتابته بشكل صحيح على الفور ويتطلب الحد الأدنى من "التكاليف" لتصحيح الأخطاء. إذا كنت تستخدم هذه القاعدة، فسيكون كل شيء أفضل بكثير بالنسبة لك من أولئك الذين لا يستخدمون هذه القاعدة.
كتابة النصوص
للأسف، هذا القسم الفرعي سيكون قصيرًا جدًا. فقط حاول أولاً أن تتخيل ما تريد تنفيذه، ثم حاول وصف الخوارزمية بالكلمات، ثم حاول تحويل الكلمات إلى كود عمل. باستخدام الكتاب الذي تمت مناقشته أعلاه، من غير المرجح أن تضطر إلى التعرق كثيرًا في تطوير الأكواد وأشياء أخرى؛ وأكرر أن الكتاب يصف كل ما قد تحتاجه تقريبًا، وكل ما لم يتم وصفه من السهل اكتشافه بنفسك.
دروس فيديو
أنصح بقنوات اليوتيوب التالية للمشاهدة:

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

استكشاف الأخطاء وإصلاحها
Unity3d هو المحرك الذي إذا كانت لديك أخطاء في كتابة البرامج النصية، فلن تبدأ اللعبة. إذا لم تكن هناك أخطاء واضحة، فستبدأ اللعبة؛ إذا حدث خطأ ما، فستعلمك وحدة التحكم بذلك بالتأكيد.
هذه تحذيرات، فهي تخبرك ببساطة عن أوجه القصور وأوجه القصور المحتملة:

هذه الأخطاء إن وجدت لن تبدأ اللعبة:

القسم 4: الاغلاق

الاستنتاجات
Unity3d هو محرك مرن للغاية يوفر حرية عمل كبيرة للمستخدم. لجعل الحياة أسهل لكل من المطور والمستهلك، هناك بعض الخطوات التي يمكنك اتخاذها لتحسين مشروعك.
الآن، بعد وضع قاعدة المعرفة، يمكننا أن نبدأ بأمان في إنشاء تطبيقنا الذي يحظى بشعبية كبيرة!
نشر اللعبة
يمكنك نشر لعبتك النهائية على إحدى خدمات الألعاب، على سبيل المثال، على www.kongregate.com
*تحسين
إذا كنت تقرأ هذا القسم الفرعي، فإما أنك مهتم ببساطة بما هو مكتوب هنا، أو أنك لم تقرأ ملحوظة! من القسم 2. دعونا نأمل أن تندرج ضمن الفئة الأولى. في هذا القسم الفرعي، أود أن أشير مرة أخرى إلى أنك بحاجة إلى كتابة لعبة مثالية على الفور، وعدم كتابتها بطريقة أو بأخرى، ثم تصحيحها فقط - هذا مسار كارثي ولا يجب عليك القيام بذلك. فيما يتعلق بالتحسين، ارجع مرة أخرى إلى القسم الثاني.

القسم 5. معلومات إضافية

نظرية الرسومات
الممارسة بدون نظرية ليست مثيرة للاهتمام للغاية، لذلك أنصحك بالتعرف على نظرية رسومات الكمبيوتر. www.intuit.ru/department/graphics/graphalg/lit.html
يمكنك اختبار معرفتك النظرية هنا. لذا، أود اليوم أن أخبركم عن Unity (على الأقل لأولئك الذين ليسوا على دراية بها بعد). بالطبع، هناك أشخاص في حبري يعرفون ما هو، لكن البحث يُرجع عددًا صغيرًا جدًا من المواضيع التي تشير إلى الموضوع - اثنان منهم يُبلغان ببساطة عن الإصدارات الجديدة، وواحد يعرضه بإيجاز، وآخر مخصص لاستخدامه. "هذا أمر لا يغتفر، نحن بحاجة إلى إصلاح هذا!" فكرت، وقررت أن أكتب عرضًا تقديميًا قصيرًا لنشر هذه التكنولوجيا. إذا كنت بالفعل في هذا الموضوع، فلا داعي لقراءة المزيد.

لأكون صادقًا، عندما قرأت في ويكيبيديا عن محرك ثلاثي الأبعاد مجاني (على الأقل مع ترخيص خالٍ من الوظائف العادية تمامًا) مزود ببيئة تطوير متكاملة (IDE) عادية ومدمجة طبيعيالفيزياء ومحرك الصوت والتنفيذ المباشر لشبكة متعددة اللاعبين حيث يمكنك إنشاء تطبيقات لكل شيء، باستثناء، ربما، Nixes (Windows، MacOS، Wii، iPhone، iPod، iPad، Android، PS3، XBox 360 مدعومة وتعمل بشكل طبيعي)، لقد شعرت بالفعل بالصيد.

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

وعندما خلقت لنفسي هذه المعجزة واقتنعت بصدق كل ما سبق، كدت أن أقع في الحب.

في كثير من الأحيان ولدت التقنيات التي حددت لنفسها هدف تحقيق رحلة صادقة إلى الإنترنت. دعونا نتذكر VRML الكارثية، و ActiveWorlds الأقل كارثية قليلاً... اليوم لا يتذكرها أحد تقريبًا. قريبا سيتم ملء العالم كله بـ HTML5، وسيتم إصدار فلاش جديد مع تسريع ثلاثي الأبعاد... ولكن حتى يحدث ذلك، فإن عالم محتوى الوسائط المتعددة على الويب يحكمه الإصدار الحالي من Flash، إلى جانب Java وSilverlight. ربما يستخدم مطورو Flash فقط تقنيات أخرى بصعوبة، وهذا أمر مفهوم - فمن الصعب إجبار المستخدم على تثبيت مكون إضافي آخر لجهة خارجية فقط للعب لعبة واحدة/عرض موقع واحد.

ومع ذلك، مع إصدار الإصدار الثالث الجديد من المحرك المذكور أعلاه، يمكنك التفكير في إعادة النظر في آرائك حول الفلاش المفضل لديك. في النهاية، إذا اهتم عمالقة ألعاب الفلاش مثل Kongregate بهذه التكنولوجيا (على وجه الخصوص، أعلنوا عن مسابقة لأفضل لعبة على Unity) - فإن الأمر يستحق النظر إليها على الأقل.

يمكنك البحث في العديد من الأماكن، ولكن كمثال سأقدم بعض الروابط. باتباع الروابط، ستتم مطالبتك بتثبيت البرنامج الإضافي - فهو يزن كيلو بايت ويعمل دون إعادة تشغيل المتصفح (لسوء الحظ، لا يمكن حساب حجم العروض التوضيحية، لذا كن حذرًا - يمكن أن تكون الأبعاد حوالي 30-50 مترًا):

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

برو وآخرون كونترا

في البداية، دعونا نحدد المصطلحات. Unity هو محرك ألعاب متكامل، تم تصميمه بحيث تتم عملية التطوير بأكملها (حسنًا، باستثناء إعداد الموارد والبرمجة النصية) في محرر كل شيء المضمن. عادة، تعني صياغة السؤال هذه وجود وحش غير قابل للحياة، متضخم بواجهة مستخدم رسومية بطيئة، لا تتلاعب به، مصمم لجعل المراهقين من فئة "gamedev-wannabis" يشعرون بالمشاركة في تطوير الألعاب. لكن لا تغلق علامة التبويب بهذا الموضوع الآن - الوحدة ليست من هذا الاختبار. إذن ما هو الجيد في الوحدة؟ دعونا نلقي نظرة ونقارنها في نفس الوقت مع UDK - SDK لـ UnrealEngine 3، والتي جعلتها Epic Games مؤخرًا مجانية للمطورين المستقلين.

الوحدة الجيدة:

  • مع IDE الخاص به، فإنه يجمع بين محرر المشهد (أيضًا محرر لكل شيء مدرج أدناه)، ومحرر كائنات اللعبة، وحتى محرر نصي بسيط متضمن. بالإضافة إلى ذلك، تشتمل المجموعة على مولد شجرة على غرار SpeedTree (ليس سيئًا) ومولد التضاريس (قياسي ومريح)؛
  • قدرات البرمجة النصية - على عكس UDK، الذي يمكنك الكتابة فيه فقط باللغة المضمنة المكتوبة ذاتيًا، تتوفر لدى Unity ثلاث لغات: JavaScript وC# ولهجة Python تسمى Boo. لم أتحقق من ذلك شخصيًا، ولكن في المجتمع الروسي كانت هناك عبارات مفادها أن سرعة تنفيذ البرنامج النصي في UDK أقل عدة مرات (وهذا أمر مفهوم - في الوحدة، بعد كل شيء، يتم تجميع البرامج النصية في كود أصلي)؛
  • عبر الأنظمة الأساسية - كما ذكرنا سابقًا، يتم دعم أنظمة التشغيل Windows وMacOS وWii وiPhone وiPod وiPad وAndroid وPS3 وXBox 360 وبالطبع لا تنس مكون الويب الإضافي. ليست جميعها متاحة بموجب ترخيص مجاني (في الواقع، الإصدارات متاحة فقط لنظام التشغيل Windows وMac والويب)، ولكن هذا أمر مفهوم تمامًا. في نظامي التشغيل Windows وMac، يتم تجميع كل شيء دون أي تغييرات في التعليمات البرمجية على الإطلاق؛ بالنسبة للويب، بالطبع، سيتعين عليك قطع الموارد - تنزيل 400 متر لفتح مستوى واحد في المتصفح ليس مريحًا للغاية. سأصف تشغيل إصدار الويب أدناه؛
  • مستوى الرسومات حديث تمامًا - إلى جانب ذلك، فإن UDK، بالطبع، أدنى من Unity من حيث عدد الميزات المنفذة - بعد كل شيء، يمكن تسمية UnrealEngine بأحد الشركات الرائدة في هذا المجال، ومن الصعب تجاوزه . لكن Unity قامت بتأجيل الإضاءة، ومحرر تظليل مدمج، ومجموعة قياسية من تأثيرات ما بعد المعالجة (قائمة كاملة، يمكنك كتابة القائمة الخاصة بك بالطبع)، وSSAO المألوف الآن - باختصار، مجموعة كاملة من الأدوات لإنشاء هناك مشروع AAA. بالمناسبة، فهو يجعل الخرائط الضوئية أكثر من كافية وسريعة؛
  • محرك الفيزياء - لديه كل ما يجب أن يكون محرك الفيزياء قادرًا على القيام به. اصنع لعبة Half-Life 2 الخاصة بك وأنت تعرف ماذا؟ بسهولة!
  • الأداء وقابلية التوسع - نمنحه "ممتاز" دون تردد. لأن المحرك يتولى معظم الأعمال الروتينية في هذا الشأن من تلقاء نفسه، ويقوم بعمل رائع؛
  • إطلاق أي تطبيق في مكون إضافي للويب - لقد تحدثنا بالفعل عن هذا، لكن ذكره مرة أخرى ليس خطيئة.
  • سعر منخفض للترخيص - 1500 دولار فقط. والنسخة المجانية، دون بعض الأشياء الجيدة؛
بطريقة ما مثل هذا. الآن دعونا نناقش لماذا هو سيء:
  • إنه مغلق. أولئك. لن يعطوك رموز المصدر حتى مع وجود ترخيص. مع UDK، إذا فهمت كل شيء بشكل صحيح، فإن الصورة هي نفسها - يتم ترخيص رموز المصدر بشكل منفصل، لمزيد من المال. ومع ذلك، في Unity، يمكنك استخدام البرامج النصية للقيام بنفس الشيء تمامًا الذي سنفعله مع الكود المصدري - يمكنك تعديل كل شيء تقريبًا... ولكن مع ذلك، الكود المصدري أفضل في كل شيء، لذلك يعد هذا ناقصًا - في الأقل بالنسبة لأولئك الذين يرغبون في إضافة فيزياء الطرف الثالث أو نفس SpeedTree؛
  • ربح.
لأكون صادقًا، لا أرى أي سلبيات حقيقية حتى الآن. المحرك مستقر ومنتج وسهل الاستخدام - ما الذي تحتاجه أكثر من ذلك؟ هناك بالتأكيد بعض العيوب. لذلك، كثيرًا ما صادفت تقارير حول المزج الإضافي الغريب للرسوم المتحركة. يشتكي بعض الأشخاص من عدم تخصيص مواد متعددة للتضاريس - لا أعرف، لم أجربه. ولكن هل هذا مهم حقًا في ضوء المزايا المذكورة أعلاه؟ بالنسبة لي لا.

الحقيقة هي أن المشكلة الرئيسية بالنسبة لمعظم الفرق الصغيرة كانت دائمًا هي المحرك (والافتقار إلى الأفكار والفن الجيد بالطبع، لكننا لا نتحدث عن ذلك الآن). الكتابة من الصفر أمر صعب بالنسبة للمبرمج الوحيد في الفريق، مع الأخذ في الاعتبار أن المحرك ليس مجرد جهاز عرض ثلاثي الأبعاد، بل هو أيضًا مجموعة من أدوات خطوط الأنابيب - المستوردون والمحررون والمشاهدون... وهي مهمة مستحيلة، إلا إذا التزمت بالبساطة . بساطتها ليست سيئة، هناك الكثير من الألعاب الرائعة المصممة بأسلوب 8 بت المحبوب لدرجة أننا لا نستطيع حتى عدها... لكن معظمها عبارة عن مشاريع ليوم واحد (Minecraft لا تحتسب، نعم. وبواسطة بالمناسبة، لم تتم كتابته أيضًا من الصفر، ولكن في LWJGL). عندما يتعلق الأمر بلعبة سيتم لعبها لعدة أيام، فأنت بحاجة إلى محرك كامل، ومن ثم نبدأ في البحث عن حلول مجانية. إن Ogre وIrrlicht وعدد قليل من الآخرين مثلهم جيدون بالطبع، لكن أ) إنهم كبار في السن من الناحية الأخلاقية وب) دراستهم وإنهائهم إلى حالة العمل يتطلب الكثير من الوقت وقاعدة نظرية كبيرة خلف ظهر المرء. بالطبع، يمكنك كتابة مشروع رائع وقابل للبيع باستخدامها (Torchlight on Ogre مثال على ذلك)، لكنك لا تزال بحاجة إلى أكثر من مبرمج. هناك أيضًا مجموعات من "الألعاب التي لا تعرف لغات البرمجة" مثل GameMaker، لكن هذه ألعاب بصراحة.

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

كيف تبدو

الصور قابلة للنقر.

في الواقع بيئة تطوير متكاملة:

مباشرة في IDE، يمكنك النقر فوق الزر "تشغيل" واختبار المشهد الفعلي الحالي:

يحقق مفتش الفصل المدمج، ويعذر الحشو، وفئات المتغيرات، ويسمح لك بتغيير المتغيرات في البرامج النصية بسرعة، دون النظر إلى الكود. وليس فقط ints، ولكن أيضًا المواد والأنسجة والنماذج... إنه يوفر الكثير من الوقت تشير وثائق واجهة برمجة التطبيقات (API) بشكل جيد إلى عدم الكتابة، على سبيل المثال، المسار إلى النسيج مباشرة في البرنامج النصي، ولكن ببساطة اجعل خاصية فارغة من النوع المقابل خاصية فارغة للفئة وحدد في المفتش ما تحتاجه:

مفتشو المباني الجاهزة (يمين) والجهات (يسار). بشكل تقريبي، على اليمين توجد كائنات فارغة، وعلى اليسار توجد تلك الكائنات الموجودة في المشهد الحالي. من المريح أنه أثناء تشغيل مستوى ما في المحرر (زر "التشغيل")، يمكنك إيقاف التشغيل مؤقتًا ورؤية الحالة الحالية للكائنات - وفي كثير من الأحيان يتعين عليك قراءة السجلات أو عرض سطر التصحيح على شاشة HUD لرؤية الحالة الحالية. سلوك متغير صغير واحد:

وفي النهاية سأقول..

لتلخيص كل القمامة اللفظية حتى هذه اللحظة، إذا كنت تقوم بمشروع AAA، فمن المرجح أن تكتب المحرك الخاص بك. أو لديك بالفعل محرك من مشروع سابق. أو ستشتري شيئًا على مستوى UnrealEngine 3 سيئ السمعة مع المصادر. ولكن هذا إذا كنت تقوم بمشروع AAA مع عشرات الأشخاص الذين يقومون فقط بالبرمجة.

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

في النهاية، يمكنك إنشاء مواقع ويب في Unity (قابلة للنقاش، ولكنها ممكنة)، والعروض التقديمية، وتصور المشاريع العلمية... كل هذا يمكن كتابته يدويًا، في OpenGL خالص، ولكن بعد مقارنة الوقت وجودة التنفيذ، ما زلت أميل إلى ذلك. لاستخدام الوحدة. فلاش في الوقت الراهننحن أيضًا لا نأخذ ذلك في الاعتبار - سننتظر إصدار تسريع ثلاثي الأبعاد للأجهزة.

مثل هذه الكلمات سوف تسبب عاصفة من المشاعر بين أتباع المحركات الأخرى. "نعم، كل هذا موجود في %enginename%"، "%gamename% و%gamename% مصنوعان على %enginename%، وكل هذا بدون السحب" والإسقاط" الدنيء الذي يستهلك كل شيء...

أنصحك بإعطاء Unity فرصة فقط - فهي تأسرني براحتها وقدراتها ومرونتها وسرعة تطورها (على الأقل أسرتني). وإلى جانب ذلك... مهلا، هذا موضوع كامل في المتصفح! :)

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

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

جوهر اللعبة

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

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

لماذا الوحدة؟

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

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

فوائد الوحدة

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

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

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

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

سلبيات الوحدة

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

باستخدام الوحدة

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

الوحدة الروسية

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

إضافة البرامج النصية

لقد قيل أعلاه أنك لن تتمكن من تغيير رمز النواة. ولكن في الوقت نفسه، يمكنك إضافة البرامج النصية الخاصة بك، وكذلك تنزيل تلك التي أنشأها مستخدمون آخرون.

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

من الصعب أن نتخيل إمكانية وجود محرك برامج تجريبية يمكن من خلاله إنشاء لعبة كمبيوتر بالفعل. ومع ذلك، هذا المحرك موجود. إنه ثلاثي الأبعاد، ويحتوي على بيئة تطوير متكاملة (IDE) عادية، وفيزياء مدمجة، ومحرك صوتي وقدرات متعددة اللاعبين على الشبكة. يدعم محرك Unity أنظمة التشغيل Windows وIOS وAndroid وPlaystation وXbox وNintendo Wii.
من الصعب تخيل ذلك وحدةيتمتع بإمكانيات تسمح لك بتجميع مجموعة من الأوامر في إصدار خاص لمكون إضافي مدمج في المتصفح. بهذه الطريقة، يمكنك الحصول على صورة ثلاثية الأبعاد في نافذة المتصفح الخاص بك دون تقليل دقة الأنسجة وجودة النماذج.

بشكل عام، هناك إشارات إلى التقنيات التي تهدف إلى العمل مع ثلاثي الأبعاد على الإنترنت، ولا سيما ActiveWords وVRML. ولكن تم استبدال كل هذه الأنظمة بـ Flash (بالإضافة إلى Java وSilverlight). توجد تقنيات أخرى، ولكن في الوقت الحالي يتم منعها بشكل كبير بواسطة تقنية الفلاش.

الافراج عن النسخة الثالثة وحدةفي الواقع، أجبر حتى العمالقة الذين يطورون الألعاب حصريًا في Flash على الاهتمام بهذا المحرك. فما هو بالضبط جوهر ومبادئ محرك الوحدة؟
Unity هو محرك ألعاب متكامل يهدف إلى ضمان تنفيذ عملية تطوير اللعبة بأكملها (باستثناء البرمجة النصية وإعداد موارد اللعبة) في محرر منفصل.

دعونا نلقي نظرة على هذا المحرك بالمقارنة مع محرك غير واقعي3.

مزايا الوحدة:

  • IDE: مزيج من محرر المشهد (بالاشتراك مع محرر عام) مع محرر كائنات اللعبة ومحرري البرامج النصية. بالإضافة إلى ذلك، يتم تضمين مولدات الأشجار والتضاريس.
  • تحسين إمكانات البرمجة النصية، على وجه التحديد، على عكس المحرك المذكور أعلاه، يتوفر لدى Unity ثلاث لغات: JavaScript وC# ونسخة مختلفة من Python's Boo.
  • عبر الأنظمة الأساسية - كما ذكر أعلاه، يتم دعم أنظمة التشغيل Windows وMacOS وWii وiPhone وiPod وiPad وAndroid وPS3 وXBox 360، وليست جميعها متاحة بالطبع بترخيص مجاني. حسنًا، بالطبع، يجب ألا تنسى مكون الويب الإضافي.
  • مستوى حديث من الرسومات يمكنه التنافس مع المحركات الأخرى. من المؤكد أن Unity أدنى من UnrealEngine من حيث عدد الميزات المطبقة. ومع ذلك، تتمتع Unity بميزات مثل الإضاءة المؤجلة، ومجموعة قياسية من تأثيرات ما بعد المعالجة، وSSAO، والتطوير السريع للخرائط الضوئية.
  • محرك فيزيائي متطور.
  • قابلية التوسع والأداء. يعالج المحرك معظم العمليات البسيطة بمستوى ممتاز.
  • قم بتشغيل أي تطبيق Unity في مكون إضافي للويب.
  • سعر منخفض لنسخة مرخصة كاملة لمطور ويب كبير.

مساوئ الوحدة:

  • رمز مغلق. استحالة الحصول على أكواد المصدر للمحرك حتى بموجب ترخيص.
  • استحالة استكمال فيزياء المحرك بقدرات الطرف الثالث. لن تتمكن من إضافة فيزياء الطرف الثالث أو SpeedTree إلى المحرك.

من الصعب تحديد العيوب الحقيقية للوهلة الأولى. المحرك منتج ومستقر وسهل الاستخدام.

بالنسبة لمعظم الفرق الصغيرة من مطوري ألعاب الكمبيوتر، غالبًا ما كانت المشكلة الرئيسية هي المحرك. من الصعب جدًا الكتابة من الصفر للمبرمج الوحيد في الفريق. هناك حاجة إلى محرك مجاني كامل، وهو مطلوب على الفور؛ يبدأ المبرمج في البحث عن حلول مجانية (Ogre، Irrlicht). هذه المحركات ليست بهذا السوء (تم كتابة Torchlight بلغة Ogre)، لكن من الصعب تعلمها ولا تتطلب مبرمجًا واحدًا فحسب، بل فريقًا كاملاً. بالطبع، يمكنك اللجوء إلى مجموعات مثل GameMaker، ولكن من الصعب تجميع لعبة جادة بمساعدتها.

أما بالنسبة إلى Unity، ففي حالتها يوجد خط أنابيب مكتمل بالفعل، وعارض جاهز، وفيزياء مجمعة، وتفاعل صوتي وشبكي، وتعدد اللغات.
مظهر:

في الواقع بيئة تطوير متكاملة:


يمكنك اختبار المشهد الحالي مباشرة في IDE بالنقر فوق الزر "تشغيل".


يقوم مفتش الفصل المدمج بمعالجة الأخير للمتغيرات ويسمح لك بتغييرها بسرعة، مما يوفر وقت العمل بشكل كبير.


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


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

من الممكن أيضًا كتابة مواقع الويب والعروض التقديمية وتصور المشاريع العلمية باستخدام محرك Unity.

من الجدير منح Unity فرصة - فهذا المحرك يأسر المستخدم عديم الخبرة بما يوفره من راحة ومرونة وقدرات وسرعة تطور.