7 لغات لتطوير لعبة Unity يجب تعلمها: أيهما أفضل؟

7 لغات لتطوير لعبة Unity يجب تعلمها: أيهما أفضل؟

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





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





اي نوع من الهواتف انت

1.الخيار الأفضل: C #

بالنسبة لأي شخص يبدأ بـ Unity ، أو أي شخص لديه معرفة سابقة بالبرمجة الموجهة للكائنات ، فإن C # هي اللغة الصحيحة للتعلم من أجل Unity. في الواقع ، C # هي اللغة الوحيدة التي تستحق التعلم للمنصة ، ولسبب وجيه.





يستخدم Unity Mono ، وهو تطبيق متعدد المنصات لإطار عمل Microsoft .NET. C # هي اللغة الأساسية لـ .NET ، وجميع مكتبات Unity مبنية باستخدام كود C #. إن القول بأن C # هي لغة الوحدة لن يكون من قبيل المبالغة. لقد أوضحت الوحدة أنهم يعتبرون C # هي اللغة الوحيدة للاستخدام مع المحرك للمضي قدمًا.

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



مع إدخال نظام عمل C # و ECS ، تدفع Unity ما يمكن فعله باستخدام C # إلى أبعد من ذلك ، ويقوم مترجم Burst الجديد بجعله أسرع من أي وقت مضى.

2. البديل الحالي: JavaScript

تدعم الوحدة أيضًا JavaScript - المعروف باسم UnityScript. منذ الإصدار ، جلس JavaScript جنبًا إلى جنب مع C # كلغة تطوير Unity مميزة بالكامل. يحتوي مرجع البرمجة النصية للوحدة على رمز مثال في كل من C # و JavaScript لمعظم عناصر المكتبة.





كان هذا مفيدًا للمطورين القادمين من خلفية جافا سكريبت لأنه على الرغم من الاختلافات في طريقة هيكلة الكود ، يمكنهم استخدام بناء جملة مألوف. ومع ذلك ، كانت هناك مشكلة.

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





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

ربما ليس من المستغرب أن أعلنت شركة Unity أنها ستسحب دعم UnityScript ، وهناك الآن ملف الجدول الزمني المعمول به لإخراجها من الخدمة . لا يزال بإمكانك استخدام JavaScript مع Unity ، ولكن مع العلم أنها ستنتهي ، فلماذا؟

3. الخيار الثالث القديم: بوو

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

لم يستخدمه عدد كافٍ من الناس ، على الأرجح بافتراض أنه كان مجرد محاولة لتقليد بايثون. بمرور الوقت ، أسقطت Unity دعم Boo ، وستجعل التغييرات القادمة على UnityScript جميع نصوص Boo النصية القديمة غير مجدية في Unity. قد يرى البعض أن هذه فرصة ضائعة ، لأن Boo كانت محاولة رائعة في بناء جملة يشبه Python لبرمجة .NET.

ومع ذلك ، فإن محبي لغة بايثون لديهم خيار آخر.

4. الاختيار الغريب: IronPython

إذا كنت ترغب في تطوير الألعاب ، فربما لا تكون Python هي اللغة المناسبة لك ، ولكنها ممكنة. في مدونة مجتمع مطوري Microsoft ، يوضح تشارلي كالفيرت كيفية تشغيل بايثون من C # --- لكنها ليست لضعاف القلوب. بعد ما يقرب من عشر سنوات ، لا يزال IronPython قيد التطوير النشط.

باختصار ، ستحتاج إلى تنزيل ملف مكتبات IronPython من GitHub والرجوع إليها في مشروع C # الخاص بك. سيسمح لك ذلك باستدعاء نصوص Python من نصوص C # مثلما تفعل مع أي مكتبة أخرى. يسمح IronPython أيضًا باستخدام ملفات استدعاء مكتبات .NET من Python . كما يبدو هذا مفيدًا ، نظرًا لأن الوحدة تعتمد على C # ، فإن هذه الوظيفة لا تساعد.

IronPython --- و IronRuby ، ​​المشروع الشقيق الذي يربط C # بلغة برمجة Ruby - هما مشروعان رائعان ، لكنهما غير عمليين للاستخدام مع Unity.

5. الخيار المثير للاهتمام: لوا

أحد أفضل تطبيقات اللغة الخارجية للوحدة هو مون شارب --- مترجم لوا. لم يتم تصميم هذا المشروع ليحل محل C # كلغة ، ويعمل أكثر كجسر. ستكون حالة الاستخدام المثالية لـ MoonSharp هي إضافة طريقة للاعبين في لعبتك لإنشاء تعديلات اللعبة بلغة Lua.

يمكنك أيضًا استخدامه لوصف العناصر ومستويات التصميم بشكل منفصل عن رمز اللعبة الأساسي.

إذا كنت تقوم بالفعل بالتشفير في C # وتبحث عن طريقة مثيرة للاهتمام للتفاعل مع الكود الخاص بك ، فإن MoonSharp تستحق الدراسة. نظرًا لأنه متاح مجانًا على متجر أصول الوحدة ، يمكنك استيراده مباشرة إلى مشاريعك.

6. أفضل لغة للمكونات الإضافية: C / C ++

على الرغم من مكتبة Unity القوية وجميع الأدوات المتاحة التي توفرها C # ، فقد ترغب في بعض الأحيان في المكونات الإضافية الخاصة بك. تشمل الأسباب الرئيسية التي تجعل الأشخاص يختارون المكونات الإضافية السرعة ، أو الوصول إلى قاعدة بيانات مكتوبة بالفعل بلغة أخرى. يؤدي إنشاء هذه البرامج النصية في مكونات DLL إلى حفظ إعادة صياغة التعليمات البرمجية ويمكن أن يحسن الأداء في بعض الحالات.

في معظم الحالات ، ستكون C ++ هي اللغة المستخدمة في إنشاء المكون الإضافي ، لكن C ستعمل بشكل جيد. طالما تم إنشاء الكود في ملف DLL ، فيمكن وضعه في مجلد البرنامج المساعد للوحدة والإشارة إليه في الكود. ومع ذلك ، فإن الاحتمال هو ، إذا كنت مرتاحًا بالفعل في الترميز في C / C ++ ، فإن تعلم C # سيكون مهمة بسيطة نسبيًا!

إعادة توجيه الرسائل النصية تلقائيًا إلى البريد الإلكتروني android

7. لغة جديدة للإضافات: الصدأ

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

بينما لا يمكن كتابة Rust in Unity مباشرة ، يمكنك الوصول إلى الوظائف والأساليب المكتوبة في Rust من كود الوحدة الخاص بك. يغطي Jim Fleming كيفية القيام بذلك بالتفصيل في منشوره على المتوسط .

إذا كان هذا يبدو مألوفًا ، فذلك لأن هذه طريقة أخرى لإنشاء المكونات الإضافية الأصلية. من خلال الاستفادة من قدرة Rust على التفاعل مع اللغات الأخرى ، يمكنك استدعاء وظائف Rust مباشرة من كود C # باستخدام Unity استيراد ينسب. بطبيعة الحال ، هناك عدة خطوات بين و و قراءة مشاركة متابعة جيم إلى جانب اكتساب فهم جيد للمؤسسات المالية الأجنبية (واجهات الدوال الخارجية) يُنصح!

اختيار بسيط

موقف الوحدة تجاه أي لغة ليست C # واضح ، والتحسينات المستمرة في Unity تعتمد على هذه العقلية المنفردة. أضف إلى ذلك تحسين Microsoft المستمر لـ C # كلغة ، وتعلم C # لتطوير ألعاب Unity هو أمر لا يحتاج إلى تفكير. وتأكد من إطلاعك Unity Learn لطريقة أسهل لتعلم تطوير اللعبة .

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

يشارك يشارك سقسقة بريد الالكتروني مقارنة بين Canon و Nikon: ما هي ماركة الكاميرا الأفضل؟

Canon و Nikon هما أكبر اسمين في صناعة الكاميرات. ولكن ما هي العلامة التجارية التي تقدم أفضل تشكيلة من الكاميرات والعدسات؟

اقرأ التالي
مواضيع ذات صلة
  • برمجة
  • جافا سكريبت
  • تطوير اللعبة
  • ج
  • وحدة
نبذة عن الكاتب إيان باكلي(216 مقالة منشورة)

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

المزيد من Ian Buckley

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك