محرك Unigine
لنبدأ بإصدار Unigine. نحن نستخدم الإصدار 2.11 ، الذي تم إصداره هذا الربيع ، والذي بدأ به ظهرت رخصة مجانية في المحرك. في الوقت الحالي تم إصدار 2.12 و 2.13 قريبًا.
ما يستحق معرفته عمومًا عن Unigine هو محرك لعبة Tomsk غالبًا ما يستخدم للمعايير والمحاكاة. على مر السنين ، أصدرت ألعابًا مثل Oil Rush و Cradle وهنا ، على سبيل المثال ، MMo Dual Universe الحديثة نسبيًا.
في الداخل ، يتم استخدام الكثير من الحلول المثيرة للاهتمام والواعدة ، فهي تقدم صورة جميلة جدًا ويمكن أن تكون جذابة جدًا للفنانين ، خاصةً إذا كانوا نموذجًا في حزمة ثلاثية الأبعاد منفصلة ، وليس عن طريق المحرك نفسه.
التضاريس متوفرة خارج الصندوق ، بالإضافة إلى المياه والغيوم والقياسات الحجمية وأجهزة العرض وأشياء أخرى مفيدة. يتم وضع أقنعة مختلفة فوق التضاريس للتفاصيل وأشياء أخرى - أداة رائعة جدًا لإنشاء المناظر الطبيعية ، على الرغم من إمكانية الاستخدام هناك مجال للتحسين.
كأداة لمطور ألعاب - هنا ، من حيث المبدأ ، تجربة استخدام C # في Unity قابلة للتطبيق ، على الرغم من أن Unigine لا تملك نفس مجموعة حلول المكونات الجاهزة. ومع ذلك ، يتم تنفيذ بعض الأشياء الأساسية ، وسيساعدك التوثيق في كتابة الباقي. C ++ لم يذهب إلى أي مكان أيضًا.
المحرك غير مناسب بعد لمنصة متنقلة ، وكذلك للتطوير بدون برمجة (على الرغم من أنه من المخطط تطويره في هذه المجالات أيضًا). متطلبات الأجهزة على مستوى استعلام غير واقعي ، الحد الأدنى لحجم ملف التطبيق كبير جدًا. لكنها لطيفة ومحسّنة جيدًا.
لكن العودة إلى نموذج اللعبة. في إصدار Unigine ، ارتبطت الصعوبات الرئيسية بالتصميم المرئي للفيزياء لآلة كاتبة ، لأن التوثيق يقترح القيام بكل هذا بشكل أعمى ، من خلال الكود ، إلى جانب ذلك ، تنتشر جميع أنواع الإعدادات المادية في أماكن مختلفة من المحرر ولا يتم وصف خط أنابيب التجميع المرئي نفسه. أي ، لم يكن هناك مثال جاهز عادي يمكن تعديله دون الانغماس في جميع الفروق الدقيقة. في 2.12 ، ظهر عرض توضيحي بجرار يحفر الأرض ، ولكن ربما تم تجميعه مرة أخرى بواسطة الكود ، ولم أشاهد هذه اللحظة.
مهما كان الأمر ، فقد قمت بتجميع الجهاز بشكل أو بآخر ، مع التركيز على الوثائق. حول ما كتبته سابقًا المقال المقابل: كيف جمعت فيزياء العجلات في Unigine .
من حيث طريقة اللعب ، في Unigine ، على عكس Unity و Godot ، على سبيل المثال ، اتضح أنه من السهل جدًا تبديل فيزياء السيارة أثناء الطيران ، ليس فقط المرئي ، ولكن أيضًا موقع / حجم العجلات. دون الخروج بحيل إضافية حتى لا يسقط على الأرض ، ودون إعادة بناء النموذج. على الرغم من وجود فرصة للوقوع في النسيج ، ولكن في مواقف مختلفة تمامًا ، وليس في وقت تغيير الجهاز.
إن مفهوم السيارة الواحدة التي تغير أشكالها وتحولها وتتكيف معها وترى ما يحدث في أبعاد أخرى وما إلى ذلك يتناسب تمامًا مع كل هذا. على الأقل يمكن بناء طريقة اللعب الرئيسية حول مثل هذه التحولات ، وإن لم يكن ذلك بالضرورة.
الأمر المحزن في المحرك هو تجميع واجهة المستخدم من المحرر - كل شيء مرهق إلى حد ما ، مع نصوص منفصلة معلقة لكل عنصر تفاعلي. على الرغم من أنني قمت هنا بتحرير التطبيق الذي كان في الأمثلة فقط ، إلا أنني لم أفهم الكثير ، إلى جانب ذلك ، لم أعرف على الفور كيفية عرض طبقة واجهة المستخدم لرؤية التمثيل المرئي في المحرر.
من ناحية أخرى ، إذا كنا نعني لعبة أكثر توجهاً نحو وحدة التحكم ، حول طريقة اللعب المرتبطة بعدد صغير من الأزرار ، مع الحد الأدنى من استخدام الواجهة والحد الأدنى من عناصر الواجهة ، فإن هذه لم تعد مشكلة ملحوظة.
شيء محبط آخر ، رسوم متحركة بسيطة مسجلة على أداة داخلية - جهاز تعقب. نعم ، إنها قوية بطريقتها الخاصة ، ولكنها بطريقة ما متداخلة مربعة للغاية بحيث لا يمكن استخدامها. علاوة على ذلك ، لا يمكن تشغيل الرسوم المتحركة المسجلة بهذه الطريقة إلا باستخدام لغة UnigineScript القديمة. هذا أثناء وجودك في Unity أو Godot ، يمكنك تحريك كل شيء حول المحيط حرفيًا. نعم ، يمكنك استيراد الرسوم المتحركة للعظام ، لكن هذا مختلف قليلاً (إلى جانب ذلك ، لم أجرب هذه الطريقة بعد ولا أعرف كيف هي).
إذا نظرت إليها مرة أخرى من الجانب الآخر ، فإن المحرك لا يزال يركز بشكل أكبر على المحاكاة والتفاعلات المادية ، فلماذا لا تستخدم هذا بدلاً من إعداد بعض الرسوم المتحركة مسبقًا هناك - أي صنع نوع من بواعث ومفاتيح التبديل تتفاعل الهياكل ، وتطبق القوى ، باستخدام الجاذبية ، وما إلى ذلك. لذلك يمكنك الاستغناء عن رسام متحرك داخلي ، ولكن إذا تم تنفيذه بشكل صحيح ، فهذه أيضًا مشكلة كبيرة ، حتى لو كان ذلك فقط من حيث الاتجاه - في بضع نقرات يمكنك تسجيل رحلة كاميرا عبر المسرح بكل أنواع العناصر التفاعلية ، وهنا يكون لديك فيلم نهائي. علاوة على ذلك ، مع مثل هذه الفرص لصورة سينمائية.
بالنسبة لمشروعي - في الوقت الحالي ، بعد عدة تكرارات ، قمت أخيرًا بتجميع ونشر عرض توضيحي قوي إلى حد ما يمكن اختباره.
يمكن تنزيل أرشيف Win64 من هنا (وزنه 687 ميجا بايت): DROPBOX
أو على صفحة itch.io : NEWANGERS
unpacked يأخذ 3Gb
ما هو موجود:
- يحتوي الإصدار على ثلاثة أوضاع عرض رئيسية - "النهار" و "الليل" (مع إعدادات مسبقة لإعدادات الرسوم عالية) ، ووضع "a la Comic" (مع إعدادات رسومات أقل).
- للتبديل بين الأوضاع ، اضغط على Esc حتى يظهر مؤشر الماوس ، وحدد الخيار المطلوب من القائمة أعلى اليسار.
- هناك كائنات تفاعلية على المستويات - بوابات زرقاء على شكل نجمة ، تمر من خلالها السيارة إلى عوالم أخرى ويمكنك العودة مرة أخرى بالقيادة إلى البوابة من هذا الجانب.
- العديد من كائنات المستوى قابلة للاختراق ، لكن بعضها بها مصادمات والمستويات نفسها محاطة بشكل أو بآخر بجدران مانعة للتسرب.
- , , WASD. Q E. , , , R. Tab , , , .
- , .
- 1,2,3,4,5,6,7 — . .
- , «» .
- PgUp , . PgDown — .
- P — , L — .
نشر أحد المعارف المصادر السابقة لهذا النموذج الأولي على صفحته جنبًا إلى جنب مع بعض التعديلات على فيزياء عجلات الإصدار الأصلي: GITLAB .
محرك جودو
ننتقل إلى المحرك التالي في قائمتنا. حل مضغوط مفتوح المصدر بقدرات هائلة (خلاط من عالم محركات اللعبة) ، ولكن ، مرة أخرى ، لا يزال أدنى من Unity من حيث تنوع المكونات الجاهزة. على الرغم من أن الكثير من الحلول غير الرسمية المختلفة ، بالإضافة إلى أمثلة مع أكواد المصدر الخاصة بـ Godot ، قد تمت كتابتها بالفعل ، وبسبب البساطة / السرعة النسبية لتنفيذ الوظيفة الجديدة ، لا يمكنني القول أن هذه مشكلة ما في الوقت الحالي.
تتمتع Godot بسمعة أفضل كمحرك ثنائي الأبعاد ، وذلك بفضل مجموعة متنوعة من الأدوات المطورة جيدًا خصيصًا للثنائية الأبعاد ، ولكنها ميزة إضافية للأبعاد الثلاثية - فمن الأسهل بكثير إنشاء واجهة مستخدم للعبة. حتى أسهل مما كانت عليه في الوحدة ، بالنسبة لي. في الوقت الحالي ، وصل Godot في تطويره إلى الإصدار 3.2.3 المستقر (لكن الجميع ينتظر 4 بسبب البركان والتحسينات وما إلى ذلك. التجميعات المهتزة للأربعة ، بالمناسبة ، يمكنك بالفعل المحاولة - على الأقل تقييم الصورة).
لا يتطلب المحرك أجهزة قوية للرسومات ثلاثية الأبعاد وينتج صورة جيدة جدًا. لا يوجد عدد كبير من الأدوات ثلاثية الأبعاد الجاهزة ، ولكن تم تنفيذ بعض الأدوات الأكثر ضرورة وفائدة وعالمية. الشيء نفسه ينطبق على التحسينات. على سبيل المثال ، ينفذ المحرك عملية استبعاد الإحباط المعتادة ، والتي تقطع الهندسة من مجال رؤية الكاميرا. استبعاد الانسداد (حتى لا يتم حساب الأشياء المغلقة بالجدران) ، سيتعين عليك التوصل إلى التنفيذ بنفسك (وهو أمر ليس صعبًا للغاية ، خاصة في بعض الأماكن ، وليس في كل لعبة تحتاجها). أيضًا خارج الصندوق في المحرك ، لا يوجد تجميع هندسي (على الرغم من وجود جزء منه لـ gles2) والتضاريس ، ولكن هذه ليست مشكلة ، فأنت تحتاج فقط إلى تحسين شيء ما يدويًا - ربط بعض الشبكات معًا ، أو تقسيم الهندسة إلى أجزاء صغيرة أو استخدام قطع وما إلى ذلك بالإضافة إلى ذلك.يمكنك العثور على نوع من التنفيذ في متجر محلي صغير ، على سبيل المثال ، أضف حل تضاريس جاهزًا لمشروعك.
بالمناسبة ، واجهة المحرك مدروسة للغاية وقابلة للتخصيص (على الرغم من وجود بعض العناصر غير المرنة). بشكل عام مناسب للاستخدام. هناك عدد كافٍ من اللغات المدعومة لمستويات مختلفة من الانغماس. يوجد كل من C ++ و C # و GDScript داخلي مناسب إلى حد ما يعمل داخل المحرر مباشرة دون الحاجة إلى تشغيل بيئة منفصلة. البرمجة النصية المرئية موجودة أيضًا ، لذلك بدون معرفة البرمجة في Godot من الممكن أيضًا العيش - لتصميم بعض المنطق البسيط ، لتحريك شيء ما (لدى Godot أداة بسيطة ورائعة لتسجيل الرسوم المتحركة).
يعد الوزن المنخفض للتطبيق ، والطبيعة متعددة الأنظمة الأساسية ، وسرعة التطوير ، وسهولة تنفيذ مختلف حلول الجهات الخارجية من المزايا المهمة أيضًا للمحرك. يوجد خياران للعرض - gles2 و gles3 ، وكلاهما يدعم 3D ، ولكن في الأول يكون أبسط وعمومًا يكون أكثر ملاءمة للهواتف ثنائية الأبعاد والهواتف المحمولة. يوفر Gles3 مستوى أكثر تقدمًا من الرسومات ، كما يدعمه جزء من الأجهزة المحمولة.
دعنا ننتقل إلى نموذج أولي للعبة يعتمد على هذا المحرك. في Godot ، يأتي نموذج سيارة مادي بسيط تقريبًا خارج الصندوق ، لذا كان إحضار سياراتك إلى هنا أمرًا سهلاً للغاية.
التي نشأت معها بعض المشاكل - ليس من السهل التدخل في جسم مادي تم إطلاقه ، على سبيل المثال ، نقله عن بعد من نقطة إلى أخرى أو تغيير موقع عجلة السيارة أثناء الطيران. لذلك ، هنا مثل هذه الحيلة كما في Unigine لا تعمل ، وكما أفهمها ، في Godot من الأسهل إعادة إنشاء كائن بدلاً من تغيير التكوين الفيزيائي أو شيء من هذا القبيل أثناء الطيران. لكن في الواقع ، كل هذا ليس ضروريًا بشكل خاص ، وفي هذا النموذج الأولي ، عدت للتو إلى الفكرة القياسية للعب ، عندما تركب لسيارات مختلفة ، تتغير من واحدة إلى أخرى في مكان ما في أماكن منفصلة خاصة.
لدى Godot أدوات مثيرة للاهتمام مثل كائنات CGS والشبكات المتعددة. كتبت بمزيد من التفاصيل حول ميزات استخدامها في المقالة: Godot ، 1000 شيء صغير ،
تلقى النموذج الأولي لـ Nevanger على هذا المحرك اسمًا منفصلاً -محركات برية . بشكل عام ، لدي نوع من عائلة من المشاريع المماثلة ، يجمعها مفهوم السيارات الغريبة التي تسافر عبر عوالم غريبة. وكاسم جماعي عام ، كنت أسميهم Nevangers ، حتى يظهر اسم أكثر تحديدًا. أصبح للنموذج الأولي لـ Godot الآن اسمه الخاص ، الإصدار المعلق في الإصدار 0.9 من Unity (الذي بدأ كل شيء) له أيضًا اسم مختلف ، لكنه سيصل إلى ذلك لاحقًا ، إذا كان هناك وقت للعودة إليه.
في البداية ، لم يكن لدي رؤية خاصة لما أود تنفيذه في العرض التوضيحي لـ Wild Engines ، لقد قمت فقط بعمل مخططات للمستويات ، محاولًا فهم كيفية تنفيذ التضاريس بشكل أفضل وما هي الفرص التي أود رؤيتها. ثم توصلت إلى فكرة جعل الكاميرا تتحرك خلف الماوس وأصبح من الممكن تحقيق توجيه أكثر تحكمًا للسلاح أكثر من الإصدارات الأخرى. وبالتالي ، من المحتمل أن يصبح هذا النموذج الأولي أكثر تركيزًا على استخدام التصوير.
على طول الطريق ، بدأت في تجميع مستوى من منصات تتكون من كتل صغيرة ، محاولًا أساليب مختلفة لتحسين الأداء وقياسه. التحسين عن طريق التحسينات ، ولكن في مرحلة ما ، قمت بالفعل بملء المنطقة المرئية للكاميرا بالهندسة لدرجة أن المحرر توقف عن سحب مشهد التشغيل بالكامل ، مما تسبب في حدوث أخطاء. والذي تم إصلاحه من خلال تضمين المزيد من الذاكرة في الإعدادات. ثم أخذت جيل النظام الأساسي أكثر في الكود ، تاركًا فقط الكتل المبسطة ذات الأبعاد مع المعرفات على المسرح ، والتي قامت بدورها بتحميل النظام الأساسي اللازم في نفسها في بداية اللعبة. ثم استعدت كمية الذاكرة المستخدمة إلى قيمة أقل وزادت المستوى عدة مرات دون أي مشاكل. بالإضافة إلى ذلك ، مع مثل هذا التنفيذ ، هناك دائمًا خيار إعادة استخدام المنصات المحملة بالفعل ، ونقلها إلى أماكن أخرى في المستوى ،عندما تتجه الآلة في هذا الاتجاه حتى تتمكن من رسم مساحة المستوى معهم تقريبًا إلى ما لا نهاية بنفس الموارد وبدون انتقالات.
بطريقة مماثلة ، جمعت لاحقًا رسومات تخطيطية من مستوى مماثل في Unigine ، وهناك فقط يقوم المحرر بسحب المشهد بأكمله على الفور دون الحاجة إلى تحميل المنصات إلى كتل من خلال الكود (ولكن بالنسبة لـ Unigine ، يتم استخدام جهاز كمبيوتر أكثر قوة).
نتيجة لذلك ، في الإصدار التجريبي من Wild Engines ، هناك 4 سيارات ، يجب تحديد واحدة منها للبدء ، ومستويين صغيرين (المستوى A والمستوى B). بقيت أيضًا بضع خرائط مبكرة (المستويان 0 و 1) ، لكنها أكثر اختبارًا ولم يتم تحسين المشهد هناك.
يمكن تشغيل / إيقاف وضع ملء الشاشة والظلال في القائمة.
الأزرار 1 و 2 و 3 تغير موضع الكاميرا. يقوم الماوس بتوجيه الكاميرا وتدويرها ، وكلما زاد ابتعاد المؤشر عن المركز.
WASD - تحرك. PgDown - القفز. س - نبضة عشوائية.
زر الفأرة الأيسر - لقطة.
من خلال إدخال ، يظهر تلميح حول التحكم وزر للعودة إلى القائمة الرئيسية ، حيث يمكنك تغيير الجهاز / المستوى.
إصدار Win64 (42 ميجا بايت): إصدار DROPBOX wildengines_x64
Linux (44 ميجا بايت): DROPBOX wildengines_linux
علاوة
وهنا أحد الميكات الجديدة الناشئة حديثًا ، مستحضر الأرواح:
يمكنك ركوبه في إصدار Unigine.
توجد آلات ميكانيكية جديدة أخرى ، باللون الوردي مع إضاءة خلفية زرقاء ، ديباج ، هنا وهناك.
كان هناك أيضًا خرطوشة قديمة واحدة ملقاة حول ... ما رأيك ، يمكن إخفاء استنساخ أي ألعاب ثمانية بت تحت هذا الاسم على خرطوشة صينية ، إذا كان Vangers هو امتياز مشهور عالميًا في تلك الأوقات البعيدة؟
