السلام عليكم ورحمة الله وبركاته
أولا مرحبا بالجميع
سنبدأ بإذن الله تعالى تعلم كيفية بناء محرك ثلاثى الابعاد أو بالأخص 3d engine وليس محرك العاب كامل .
طبعا فكره مجنونه كما اخبرتني لجنة التقيم بمشروع التخرج وتجاوز للمعاير النسبيه ولكن وجدت نفسي اما تحدا اخر في حياتي وحبيت انقل لكم ما أكتسبته من خبرات قليله لعلها تنفع بعض المبرجين .
ولكن لماذا نشرع في بناء محرك العاب ( ماسوق مليان ياعم )؟؟؟
نعم السوق مليان بس تفتكر كدا الي بيجيب محرك جاهز ويشتغل عليه هل هو حقا مصمم العاب؟؟؟؟؟؟؟؟؟؟
هناك فرق بين من تعلم اصول الرسم على الورق والالوان ثم بدأ التطبيق على الكمبيوتر ومن بدأ من الكمبيوتر من الصفر والفرق شااااااااااسع بينهما.
ثانيا وده الاهم دائما محرات الالعاب الي مفروضه علينا في السوق محدوده بإمكانيتها او ما وفرته الشركات المنتجه لهذه المرحكات من أدوات ومكتبات
وكلمتين من الاخر كدا عايز تكون مبرمج محترف فكر انك تبني محرك اللعاب ولو على سبيل التعليم ( ليــــــــــــــــــــــــه يعم )؟
علشان حا تتعلم مبدأ اساسي من مبادء البرمجه هو ( تحسين أداء الكوود ) في حجز الذاكره وفي سرعة الاجابه لتنفيذ الوظائف ( Functions )
حتى انك في بعض الاحيان حاتستبدل (function) بأخرى ولن يكون هدفك هو الحصول على وظيفه فقط ولكن الحصول عليها وتنفيذها بأسرع ما يمكن ايضا وسيأتي التفضيل هنا والمقارنه ( وبعدين تتجنن وتعد تكلم نفسك في الاخر ) :)
المهم تعالو نتعرف على مكونات ( 3d engine ) ممكن تكون زي ايه :
1-Real time render system
أ- Object loader
ب-Texture manager
جـ-Particle system
د-Water sysrem
هـ-lightning system
و-shadow system
ز-sprite system
2-camera system
3-Math Engine
4-sound system
على فكره التصنيف ده مش علمي اوي او مش موثق ده من عندي وعلى فكره كمان مفيش تصميم / تخطيط ثابت لمحركات اللاعاب فقط تبني ما ينسبك
او على حسب احتيجاتك ولكن لن يخلو محرك ثلاثي الابعاد مما ذكرت...
طيب فاضل ايه من الاسسيات علشان نبني محرك العاب كاااامل زي الي في السوق؟؟؟
فاضـــــــــــــــــــــــل :
*AI Engine
*Physics Engine
*Collision detection system
*World manager system
*Load / save system
طبعا انا بتكلم من وجهة نظري المتواضعه وماذكرته ده هو عباره عن القوالب الداخليه الاساسيه ممكن تكون مشتركه بنها وبين بعضها وممكن تكون منفرده
لو ربنا احيانا واحياكم حا نتكلم بالتفصيل على الجزء الخاص بـ ( 3d engine ) ونفهم كل system داخله بيتصمم الزاي ...
نصيحـــــــــــــــــــــــــه للي حابب يكمل الدوره:
أولا: أذا كنت مش بتحب الرياضيات / مابتفهمهاش علاقتك بيها مش كويسه انسى الموضوع علشان ميجلكش مرض نفسي ...
ثانيا: مش معقوله حد يفكر يعمل محرك ثلاثي الابعاد من غير ما يكون يعرف على سبيل المثال (dirctx / opengl) طبعا بما اني عرضت الموضوع بقسم (opengl) يبقى حا نشتغل بيها لو مش فاهمها عليك وعلى الكتب والحمد الله أكتر من الهم على القلب والقسم مليييييييييييييييييييييييييان بمشاركات الشباب الله يعطيهم الصحه يااارب انا حاشرح طبعا وظائف (function) بس مش بستفاضه حاركز اكتر على الموضوع العام.
ثالثا : مدام قررت تشتغل (opengl) يبقى حا تشتغل ++ c ا+ ( api ) و من وجهة نظري الشخصية افضل بيئه برمجيه ممكن تبني فيها محرك ألعاب كامل هي ++c لانك ببساطه لازم تشتغل ( api ) وأحسن لغه تدعم ( api ) ا ++c وايضا (opengl) أصلا مكتوبه بـ ( api ) .
ولنا لقااااااء قريب إن شاء الله

