Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

أسأله محرجه من مصمم 3d

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • أسأله محرجه من مصمم 3d

    مرحبا جميعا
    في الحقيقة أني لست مبرمج مثلكم أنا أعمل في تصميم 3D ومهتم بصراحة بعمل الألعاب
    طبعا ليس لدي أي فكرة عن عمليت تصنيعها بإستثناء بعض المعلومات التي أقرأها من مواضيعكم
    لدي بعض برامج تصنيع الألعاب و لكنها قديمة أو نسخة قديمة من أحدها div games studio و سمعت منكم أن أفضل برنامج لبرمجة الألعاب هو c++ فجلبت البرنامج و إطلعت عليه .
    طبعا لا أود ان تعلموني C++ بل أريد منكم لو سمحتوا أن تخبرني ما هي ألية صناعة الألعاب كيف تتم العملية أين ستكون بصراحة إلى الأن لم أستطع أن أتقبل أن كيف سيتم ربط عناصر 3D من برنامج ما كبرنامج الماكس مثلا ببرنامج جاف يحتوي على صفحات لكتابه الأوامر مثل C .
    أقصد أين ستتم عملية تصنيع اللعبة أو أين سأرا اللعبه أثناء تصنيعها , لا أدري أن كنت أسأل بشكل غبي و لكن فعلا لا أستوعب الامر فهل تتكرمون و تخبروني بعناوين الخطوات و كيف تتم هذه الامور
    فأنا مثلا لو صنعت طريق في في برنامج ثلاثي الأبعاد و صنعت سيارة وحددت ملفات الإكساء إلى أخره من عملية صناعة 3D فكيف يمكن أن تبدأ السيارة ب التحرك عن طريق لوحة التحكم و كيف تعرف السيارة أن هذا جدار يجب ان تصطدم به ..................... انا مرتبك بصراحة فحاولو مساعدتي و شكرا لكم جميعا


  • #2
    لقد بدأت أفهم أليه صناعة الألعاب و أعتقد الجواب على سؤالي السابق هو المحرك
    لقد حملت محرك البلندر و شاهدت الالعاب المصنوعة به وهي تقريبا تتلائم مع مططلبات اللعبة المخطط لها ولكن ما لاحظته أن جميع الألعاب لا يوجد لها منيو مجرد تشغيلها تبدأ اللعبة فهل يعجز هذا البرنامج عن عمل القوائم و حفظ مراحل اللعب ؟
    وهل لو افترضنا اني سأقوم بتصنيع كل شيء على الماكس ثم أحوله للبلندر و هناك اقوم ب التعديل ينفع أم يجب ان أصنع البيئة و الشخصيات ب البلندر؟
    شكرا لكم

    تعليق


    • #3
      أسئله محيرة فعلا

      أتمنى اني كنت أعرف شي عن هذا الموضوع

      وأعتقد ان في محترفين في هذا المجال في المنابر ...

      ننتظرهم...

      لا اله لا الله محمد رسول الله

      تعليق


      • #4
        شكرا يا أخي و كتر خيرك

        تعليق


        • #5
          هل جربت البحث عن لموضوع يا سام ؟

          اكيد هناك شرح في مواضيع سابقة
          وما فتىءَ الزمان يدورحتى
          مضى بالمجدِ قومٌ أخرونَ
          وأصبح لا يُرى في الركب قومي

          وقد عاشو أئمته سنينَ
          وآلمني وآلم كل حرٍ
          سؤال الدهر أين المسلمينَ ?

          اذا لم تجد ما تحب فحب ما تجد

          تعليق


          • #6
            لقد بحثت و اعتقد أني حصلت على الإجابه و إتضحت الصورة الأن
            ولق جمعت هذه المعلومات وقد كتبها الأخ رامي لولح ووجدتها أنها الأكثر وضوحا
            ---------
            - OpenGL هي واجهة تطبيقات برمجية قابلة للعمل على أي نظام تشغيل متوفر حالياً (إن قابلية العمل على أي نظام تشغيل هي أعظم ما ميز OpenGL عن غيرها من المكتبات الأخرى مثل DirectX) ، بمعنى أنها مكتبة متكاملة من الوظائف الرسومية قد تم كتابتها كلياً من قبل مبرمجين محترفين ، ويشرف على تطويرها مجموعة من الشركات العملاقة في صناعة بطاقات الرسوم المختلفة ، ويدعى هذا الكونسورتيوم بـ ARB أو (The OpenGL Architecture Review Board) ..... الإصدار الأخير لـ OpenGL هو 1.5 .... وتتمتع OpenGL بميزة الإمتدادات التي تضمن ميزات وعناصر جديدة تضاف إلى المكتبة بين حين وآخر ..... عندما نقول أنها مكتبة فهذا يعني أنها مبدئياً ممثلة في ملفات DLL .... وتنقسم OpenGL كمكتبة إلى قسمين:


            1. مكتبة وقت التنفيذ: تأتي مع معظم أنظمة Windows
            إبتداءاً من NT وحتى آخر نظام Windows متعارف عليه حتى الآن .... وهي عبارة عن ملفات DLL توجد في مصنفات النظام الذي لديك .... يقوم مصنعي أجهزة البطاقات الرسومية وخاصة التي تدعم الأبعاد الثلاثة بإصدار نسخ خاصة ومطورة من OpenGL وقت التنفيذ وكذلك معظم الإمتدادت الخاصة بها مع كل بطاقة رسومية من حين إلى آخر.

            2. حزمة التطوير البرمجية: وهي مكتبة من الوظائف الرئيسية التي تمكنك من التعامل مع وظائف OpenGL
            العامة وكذلك إمتداداتها .... وهي تقريباً مجموعة من ملفات ++C\C التي تحتاج إلى ربطها مع تطبيقك الرئيسي .... وهنالك نوعان رئيسيان من حزم التطوير البرمجية لـ OpenGL وهي: حزمة Microsoft للتطوير (http://www.microsoft.com/downloads/...&displaylang=en) ، وحزمة Silicon Graphics للتطوير (http://www.berkelium.com/OpenGL/sgi-opengl.html)

            لمزيد من المعلومات عن OpenGL
            راجع موضوعي ... "Direct3D أم OpenGL .... مارأيك ؟"

            - باختصار ولأن إجابة سؤالك هذا تحتاج إلى كتاب كامل ، إن الطريق إلى إدخال الأصوات في لعبة ما هو باستخدام مكتبات صوتية محترفة مثل OpenAL، DirectSound، DirectMusic، FMOD
            ، وغيرها .... !!!!! .... تتم مزامنة الأصوات مع الأحداث في اللعبة وببساطة بوقوع أحداث معينة ، فالصوت في اللعبة ينقسم إلى نوعين:

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

            while(game){

            play music
            if (a collides with b) play explosion sound;
            };

            أتمنى أن تكون الشفرة التمثيلية واضحة !!!!!!! .... وهي تحتوي على كلا النوعين السابقين الذكر ..... وإذا لاحظت جيداً .... تلعب العبارات الشرطية دوراً في عملية مزامنة الأحداث أيضاً ..... هذا في عجالة !!!!!!

            - للإجابة عن أسئلتك حول كيفية البدء بعمل لعبة ، وعن الأسس الصحيحة ، وما هو المطلوب معرفته عليك قراءة ردودي في المواضيع التالية "
            أريد البدء ببرمجة الألعاب كيف أبدأ ومن أين وكيف؟؟؟؟" و "كيف أستطيع تصميم لعبة ثلاثية البعد ؟؟؟؟؟"

            - وعن سؤالك حول أنه لماذا لايوجد هنالك من يستطيع إنجاز لعبة مثل FIFA
            في عالمنا العربي فأقول:
            1. لا توجد الخبرات الكافية ومصادر المعرفة التثقيفية والاحترافية معدومة
            2. عشوائية المشاريع والأفكار
            3. عدم الالتزام
            4. النظرة الدونية لمثل هذه المشاريع في عالمنا العربي
            5. التمويل شبه المعدوم
            6. هجرة العقول والخبرات
            7. فقدان الخبرة الحقيقية في إدارة وتنظيم هذه صناعة وجعلها صناعة حقيقية كبقية الصناعات الأخرى
            كنت أحاول أن أجعلها عشر نقاط .... ولكن لم تحضرني أية أسباب أخرى .... أترك الباقي للأخوة الأعضاء !!!!!

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







            1- أضخم مصدر موجود على شبكة الإنترنت متخصص في برمجة وتطوير الألعاب:
            http://www.gamedev.net

            2- من أفضل المواقع على الإطلاق والمتخصصة في برمجة الألعاب باستخدام OpenGL .... أعتقد أن ماتحتاجه موجود في الدرس رقم 10
            http://nehe.gamedev.net

            3- من المواقع المتميزة والغنية بالمقالات الجيدة
            http://www.angelcode.com

            4- هذا الموقع لا يحتاج إلى تعليق .... فقط قم بزيارته وابدأ أنت بالتعليق:
            http://www.gametutorials.com

            5- هذا الموقع من كبريات المواقع المختصة في برمجة، تطوير، وتسويق ألعاب الكمبيوتر:
            http://www.gamasutra.com

            6- هذا الموقع يحتوي على كتب قيمة لست بحاجة إلى شرائها .... يمكنك فقط تحميلها إذا قمت بالمشاركة التفاعلية المطلوبة مع هذا الموقع:
            http://www.programmers-unlimited.com







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

            هناك طريقين:

            - خيار المحركات الجاهزة
            - خيار لغات برمجة قوية + مكتبات رسومية أقوى

            الآن:

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

            بالطبع ++VC
            هي اللغة المثلى لمثل هذا النوع من التطبيقات ، و إن كنت تعلم القليل حول Assembly فزيادة الخير خيرين .... وعندها يمكنك المضي مع خيار لغات البرمجة ، ولكن ماسينقصك عندها هو اختيار المكتبة الرسومية المناسبة .... ومن المكتبات الأكثر شيوعاً "DirectX" و "OpenGL" ..... ولمعرفة مزيد من المعلومات عنها راجع موضوعي "Direct3D أم OpenGL .... مارأيك ؟" .... وسأكون جاهزاً لأية تفاصيل أخرى قد تحتاجها بالنسبة لهذا الموضوع.

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

            الخلاصة: المحرك هو وسيلتك الحالية ، أما VB فإنها قد تكون مناسبة أكثر لتطبيقات Windows وقواعد البيانات ، أما البرامج التي تحتاج إلى السرعة و إدارة دقيقة لموارد النظام أثناء وقت التنفيذ فهي لا تمثل بالتأكيد فرصة مناسبة لـ VB.

            في الحقيقة ، لا أعلم إن كنت قد أوفيت حق الإجابة على تساؤلاتك ، ولكني مستعد لأية تفاصيل أخرى قد تحتاجها !!!!!!!










            أخي الشمري-2 ، أحيلك مبدأياً إلى الموضوع التالي حتى تأخذ فكرة واضحة عن ماهية مصطلح المحرك: "|| مصطلح المحرك || :" ..... ومن ثم ننتقل لمناقشة التالي:

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

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

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

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



            تعليق


            • #7
              لاحظت أن هناك من صوت على أساس أنه لايعرف الفرق بين كلتا التقنيتين .... ولهذا أشرح الفرق والتوافق كالتالي:

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

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

              الآن هذا هو وجه التشابه الرئيسي والنظري، أما عن الفروق فيمكنك النظر إلى الجدول التالي لمعرفة البعض القليل والذي تمكنت من تذكره:

              1- ماتحتويه كلا المكتبتين:
              DirectX: مكتبة الرسوم الثلاثية البعد، مكتبة الصوت، مكتبة الربط الشبكي، مكتبة الوسائط المتعددة، الخ.
              OpenGL: مكتبة الرسوم الثلاثية البعد، مكتبة الصوت، وجاري الآن إصدار مكتبة للوسائط المتعددة.

              2- نظام التشغيل المتوافق:
              DirectX: ويندوز فقط
              OpenGL: جميع أنظمة التشغيل الحالية تقريباً

              3- طبيعة الوظائف البرمجية:
              DirectX: تعتمد على COM و OOP
              OpenGL: إجرائية

              4- سهولة التعلم:
              DirectX: تتطلب فهماً بسيطاً عن COM و OOP
              OpenGL: سهلة ولاتحتاج سوى المعرفة بلغة البرمجة المستخدمة

              5- طريقة التعديلات:
              DirectX: تعديلات سنوية تقريباً
              OpenGL: مراجعات دورية غير منتظمة وطويلة

              6- أسلوب التعديلات:
              DirectX: واجهات جديدة تضاف على الواجهات التطبيقية الرئيسية
              OpenGL: تعتمد على الإمتدادات

              7- اللغات المفضلة للإستخدام:
              DirectX: جميع اللغات تقريباً (مع ++VC النتائج أفضل بكثير)
              OpenGL: على الأقل ++VC فقط

              طبعاً هذه بعض الفروق ....

              السلام عليكم .... الأخوة B_warrior و game_maker أشكر لكم مشاركاتكم .... و أما بالنسبة إلى موضوع OpenGL فأنا لاأعتقد أن هنالك فروق كبيرة في سرعة تنفيذ الوظائف بين OpenGL و DirectX .... ولكن الفرق الحقيقي و الجوهري هو في الوظائفية .... بمعنى أن OpenGL يمكنها مثلاً إنجاز عملية التصيير الستيريوية أو Stereo Rendering بينما DirectX 8 لايستطيع إنجاز ذلك .... وهكذا !!!!!

              أما بالنسبة لسرعة تصيير الإطارات مع OpenGL أو DirectX فإنه ليس من الضروري أن تكون سريعة وفعالة حتى وإن كانت حركة الكاميرا سريعة (أعني هنا اللاعب) .... وإنما يعني هذا بالضرورة أن استغلال المبرمج لموارد الكمبيوتر من الذواكر و قوة المعالجة كان سيئاً في برنامجه .... وهذا مايؤدي إلى بطئ تنفيذ بعض الألعاب .... ولكن لانلوم هذه الـ APIs.

              في الواقع OpenGL تعمل على معظم اللغات، ويمكن استدعاء وظائفها من الكثير من لغات البرمجة المعروفة مثل JAVA و Delphi وغيرها .... غير أن معظم المبرمجين يفضلون ++VC .... لماذا ؟؟؟؟


              كان قصدي انو اللعبة باستخدام opengl
              تبقى سريعة مع زيادة الشخصيات ولا تكون ثقيلة على الجهاز
              لكن في openglعيب انه لا يوجد ظل
              اما direct3dتكون رسوميات العبة دقيقة لكنها تبطء مع زيادة الشخصيات



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

              أختلف معك تماماً في موضوع التظليل في OpenGL والحقيقة لاأعلم من أين حصلت على هذه المعلومة المغلوطة، وللمعلومية فإن OpenGL تمتلك إبتداءاً من الإصدار 1.4 لغة خاصة وتدعى بلغة OpenGL للتظليل، أو "OpenGL Shading Language" .... ويمكنك معرفة المزيد عن هذه اللغة من خلال الرابط التالي:
              http://www.opengl.org/documentation/oglsl.html
              __________________


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

              ولكني لاأزال أجزم بأن OpenGL هي المسيطرة حتى الآن .... ولكني في الوقت ذاته أعتقد أن Microsoft بدأت بمشروعها الجديد XNA والذي يرمي إلى توحيد الصناعة البرمجية تحت مظلة برمجية موحدة تدعم مختلف النظم التشغيلية .... وفي إعتقادي أن هذا هو الفخ الذي تحفره Microsoft للآخرين .... والله يستر !!!!

              تعليق


              • #8
                ^^^^^^^^^^^^^^^^^^^^^
                معلومات قيمة شكرا لكاتبها
                ---------------------

                تعليق


                • #9
                  فعلاً معلومات قيمة, شكراً لك أخي Samran

                  تعليق


                  • #10
                    في ماكس الحل

                    ( فكيف يمكن أن تبدأ السيارة ب التحرك عن طريق لوحة التحكم و كيف تعرف السيارة أن هذا جدار يجب ان تصطدم به ..................... انا مرتبك بصراحة فحاولو مساعدتي و شكرا لكم جميعا[/QUOTE])
                    عزيزي في ماكس الحل
                    يقوم ال reactor بالتوصييف (Rigid bodies )الأجسام الصلبه وغيرها وعند تصدير الملف لبرامج ال Game يتفهما مثل Gmax وغيرها أيضا" يمكن تعرفها في Director ك W3D
                    كذلك الحال مع باقي العنصر- Soft Body - Cloth ......
                    للاستعلام والالتحاق بالدورات
                    0169776226
                    http://www.moustafaazzazy.com/
                    **قيمة الانسان هي ما اضافه للحياه بين ميلاده و موته**
                    " منقول"
                    مصطفي عزازي


                    تعليق


                    • #11
                      أسف على تأخري بالرد

                      أخي العزيز...لا أوافقك القول بأنه لا يوجد مبرمجين عرب متفوقين؟؟؟

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

                      أولا هناك برامج تغنيك عن الفهم المتعمق للبرمجة و منها::
                      http://www.3dgamestudio.com
                      قم بتحميل البرنامج التجريبي و هو سيغنيك عن التعامل بالمايكروسوفت دايركت و غيره.

                      هذا أولا.
                      و ثانيا::

                      لو أردت تجاوز البرنامج المقترح أعلاه فإنه يتوجب عليك في هذه الحالة تعلم (( و بالضرورة)) إما لغة سي
                      أو لغة سي ++

                      و اقترح عليك برنامج سي ++ فيجوال
                      MS Visual C++

                      و هو برنامج يمكنك من ربط شخصياتك ببرنامج Direct X و كذلك انشاء مكتبات مرتبطة DLL

                      و أنا حاضر لمزيد من التوضيح لو أردت ذلك

                      مع المحبة

                      تعليق

                      يعمل...
                      X