هل هناك حاجة لترميز محرك ثلاثي الأبعاد جديد؟ [مغلق

StackOverflow https://stackoverflow.com/questions/3817037

  •  26-09-2019
  •  | 
  •  

سؤال

ترميز محرك ثلاثي الأبعاد جديد رائع ، لكنني هناك الكثير. هل من العاقل أن يبدأ المبرمج واحد جديد؟ هل توجد أقسام صناعية محتاجة؟

هل كانت مفيدة؟

المحلول

هناك الكثير من الأسباب لإنشاء محرك ثلاثي الأبعاد جديد (بدون ترتيب معين):

  • القديم هو أول شخص مطلق النار ، لكنك تريد محاكاة الطيران.
  • يعمل القديم ، ولكن ليس من السهل استخدامه أو يحتوي على الكثير من الأخطاء
  • شخص آخر يمتلك القديم
  • ميزة الأجهزة الجديدة XYZ لا تتوافق بشكل أساسي مع المحرك القديم
  • شخص ما يدفع لك لبناء واحدة
  • لم تنشأ واحدة من قبل.
  • تحتاج لعبتك (المحاكاة) فقط إلى χ ، لكن المحرك القديم يوفر χ و ψ و ζ و α و β و γ و Δ و π.

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

نصائح أخرى

أسباب للقيام بذلك:

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

أسباب عدم القيام بذلك:

  1. ليس لديك ما يكفي من هذه الموارد: الوقت/الميزانية/الخبرة.
  2. محرك موجود يناسب احتياجاتك تمامًا.

بشكل عام ، يمكنك رمز واحد إذا كنت بحاجة إلى واحدة ولا توجد بالفعل واحدة تناسب احتياجاتك.

هل هناك شخص ما يحتاج إلى محرك مصمم له لأنه لا يوجد أحد يعلن احتياجاتهم؟ من المحتمل.

هذا يشبه إلى حد كبير السؤال هل يجب أن أكتب برنامجي/التكنولوجيا/الإطار X بدلاً من استخدام برنامج موجود؟ " وقد طلب ذلك الكثير ، لذلك لن أتغلب على أسباب الغلاية المعتادة.

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

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top