Unconfigured Ad Widget

تقليص

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

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

مقال مترجم : دليل المبتدئين في برمجة الألعاب

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

  • مقال مترجم : دليل المبتدئين في برمجة الألعاب

    السلام عليكم .......قبل فترة وجدت مقال عن برمجة الألعاب و المقال بالغة الإنجليزية فحبيت أترجمه
    أولاً معلومات عن المقال :
    كاتب المقال : Dave Astle
    معلومات عنه : مبرمج ألعاب في شركة Avalunche Software
    مهندس برمجيات في شركة WaveLink
    ترجمة : <<Nobody>>
    عنوان المقال : دليل المبتدئين في برمجة الألعاب
    ثانياً المقال إتفضلوا :
    ------------------------------------------

    أحياناً يسألني أحدهم له خبرة قليلة أو ليس له خبرة في البرمجة عن " كيف أبدأ في برمجة و تطوير الألعاب ؟" و لكثرة هذا السؤال الذي طرح علي قررت كتابة هذا المقال الذي يتحدث عن برمجة الألعاب لمن له خبرة قليلة في البرمجة , في الواقع أنا افترضت أن القارئ ليس له خبرة برمجية إطلاقاً و سأتحدث فيه عن الطريق الأفضل لبرمجة الألعاب والذي سيقودك إلى صناعة العابك الخاصة .
    إختيار اللغة :
    أول عمل يجب أن تقوم به هو إختيار لغة و هناك العديد من الإختيارات مثل C\C++ و JAVA و Visual Basic و هناك الكثير الكثير .
    ولكن أنا شخصياً أنصحك بالغة C++ يقول بعض الناس " إختيار اللغة أمر كثير متقدم على المبتدئين " ولكن لأني أنا شخصياً بدأت فيها أنصحك بها , فأنا لا أوافقهم الرأي بالإضافة إلى أنها هي اللغة الأكثر إنتشاراً هذه الأيام لذلك أنت قادر على إيجاد الكثير من المصادر التعليمية ولكن أهم شيئ هي القدرة على البرمجة بدون إستخدام الكلاسات, مثلاً لا تتعلم الكلاسات إلا عندما تصبح قادراً على البرمجة جيداً بدونها .

    سؤالك التالي سيكون عن " كيف أتعلم لغة C++ ؟ " الواقع أنا سعيد لأنك سألت و أنا سأرد أن أفضل طريقة للتعلم هي أخذ دورات و سيكون أستاذك حاضر لإجابة أي سؤال في بالك و مساعدته لك ستجعل فارق كبير في قدراتك البرمجية , و واجبتك ستضمن لك تطبيق عملي لما سوف تتعلمه.
    في حال لم تكن الدورات خيارأً متاحاً أمامك فأفضل شي لك هو قرائه الكتب , لا تتشدد كثيراً في إيجاد " الكتاب الأفضل " لأنك في النهاية سوف تقراً عدة كتب . أفصل عمل تقوم به هو مطالعة عدة كتب و عند إيجاد الكتاب الذي ستظن أن اللإضل لتعليمك البرمجة إلتزم به و تعلمه , طبعاً مع مرور الوقت سوف تتقدم أكثر في اللغة و ستصبح قادراً على معرفة بالظبط ما تحتاجه .
    ولا تنسى الدروس التي على الإنترنت(Tutorial) فأنا أرى أنها المكملة للكتب.
    إختيار الكومبايلر :
    البرنامج الذي تكتبه أو المف المصدري يوضع في ملف نص و هذا يعني أنه بإستطاعتك إستخدام الـNotepad التي تأتي مع الوندوز لبرمجة C++ ولكن هناك شيئ يستخدم لتحويل هذا النص إلى ملف تنفيذي وهذا الشي هو الكومبايلر .
    هناك عدد كبير من الكومبايلرات متوفر على الإنترنت و منها ما هو مجاني حتى ولكن أهم شيئ أنا تختار واحداً ترتاح في إستخدامه و الميزة في الكومبايلرات المجانية هو أنك تستطيع إستخدامها و تجرتها كلها . ولكن تبقى المشكلة أنا ليست مدعومة في الكامل مثل الكومبايلرات التجارية .
    في نهاية المطاف إختيار الكومبايلر يعتمد أكثر شي على نظام التشغيل الذي ستعمل تحت بيئته. فإذا كنت ستعمل تحت بيئة ويندوز فأنا بشدة أنصح بـVisual C++ فهو يحتوي على بيئة تطور قوية و التي ستجعل كثير من الأمور أسهل بالنسبة لك , و ليس هنالك كومبايلر مناسب تماماً لبرمجة لتطبيقات الويندوز .
    إستهداف منصة للعمل تحتها :
    بالرغم من أنك تبرمج لعدة منصات لكن في نهاية المطاف تحتاج لإختيار منصة لبرمجة الألعاب تحتها و تعلمها و طالما انت تتعلم السي بلس بلس فتتعلم البرمجة برمجة برامج بدون الواجهة الرسومية ولا تحاول التشتت في البداية بتعلم الجرافيك و الواجهات الرسومية فقط ركز على اللغة.
    و بعد أنا تتمكن من البرمجة عند إذا ستصبح جاهزاً لبرمجة ألعابك و إختيار منصة تشغيل لها , فلنلقي نظرة على الخيارات المتاحة امامك :

    Windows : في نهاية المطاف إذا أردت العمل في برمجة الألعاب بإحترافية أو إتاحة المجال إلى عدد كبير من الناس للعب لعبتك فهذه المنصة هي ما تحتاجه, وتتم برمجة الألعاب في ويندوز بإستخدام تقنية ربما سمع بها و هي DirectX و هذه المكتبة تمكنك من الإستخدام المباشر للـHardware و هذه يعني أدائ أعلى لألعابك .

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

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

    Consoles : و مثال عليها الـPlaystation و هي ذات سوق عملاق , و مؤكداً هنالك مستقبل في تطوري الألعاب لها , و مع ذلك برمجة الألعاب لأسباب غير تجارية فهو حقاً أمر ليس معقول في الوقت الحالي لعدة أسباب . إذا كنت مطور ألعاب لها فأنت على الأغلب موظف في إحدى إستديوهات ثلاثية الأبعاد.
    On to the good Stuff ( في الحقيقة لم أعرف كيف أترجم هذه الجملة ) :
    حان الوقت للنقاش جدياً في صناعة الألعاب ,للتوضيح سأفترض أنك قمت بإختيار لغة C++ و إخترت منصة ويندوز , على أي حال كلامي هذا ستسفيد منه في حال إخرت إختيارات أخرى . الآن و قبل أي شيء و قبل حتى التفكير في برمجة الألعاب يجب عليك تعلم نسبة جيدة من لغة C++ و يجب عليك أن تفهم جيداً ما يلي :
    pointers, arrays, structures, functions و طبعاً الـ classesو يجب عليك أن تكون متمكن من إستخدامهم , إذا كنت كذلك فأنت جاهز للبدئ في صناعة الألعاب .

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

    <<Nobody>> سابقاً

  • #2
    تم حجز اول رد و لى عودة بعد القراءة
    Egypt


    I Love Direct-X

    سبحان الله و بحمده سبحان الله العظيم
    اللهم صلي وسلم و بارك علي سيدنا محمد

    تعليق


    • #3
      لي الشرف أن ترد على موضوعي أخ جينيرال............
      مشكور على مرورك

      <<Nobody>> سابقاً

      تعليق


      • #4
        يا راجل مش تقول انك مترجم عالمي برضو ^_^

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

        و سيتم ان شاء الله وضعوا في المواضيع المميزة او تثبيتوا

        Egypt


        I Love Direct-X

        سبحان الله و بحمده سبحان الله العظيم
        اللهم صلي وسلم و بارك علي سيدنا محمد

        تعليق


        • #5
          مقالة و لا أروع بانتظار مقالات أخرى ^^

          تعليق


          • #6
            المشاركة الأصلية بواسطة general1 مشاهدة المشاركة
            يا راجل مش تقول انك مترجم عالمي برضو ^_^

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

            و سيتم ان شاء الله وضعوا في المواضيع المميزة او تثبيتوا

            شكراً لك ........ولعلمك هذه أول مرة أقوم بها بترجمة شيئ
            و أرجو أن يستفيد منه ....كل واحد حاب يدخل مجال برمجة الألعاب

            <<Nobody>> سابقاً

            تعليق


            • #7
              المشاركة الأصلية بواسطة ayoubsoft مشاهدة المشاركة
              مقالة و لا أروع بانتظار مقالات أخرى ^^
              تسلم أخوي .....و إن شاء الله راح يكون في المزيد من المقالات المترجمه
              و مشكور لمرورك

              <<Nobody>> سابقاً

              تعليق


              • #8
                مقالة جيدة ...
                ولكني سأختلف مع الكاتب في نقطتين :
                - أولاً هو نصح بإستخدام لغة برمجة ، وقد نسي أنه بهذه الخطوة سيخرج من مفهوم تكوين لعبة لمفهوم تعلم البرمجة ، الأصل أن يقوم بالدلالة على محركات الألعاب المنتشرة وبكثرة ، ولكني أفترض أنه قام بكتابة هذه المقالة في وقت قديم جداً ولعله لم يسمع بمحركات الألعاب .
                نحن بالنهاية لا نتمركز على تعلم لغة برمجة بحد ذاتها ... نحن نسعى لإضافة Game Play مميز .. بأي طريقة ممكنة ، ولتوفير الوقت والجهد ، ولتركيز القدرات على ال Game Play من وجهة نظري أعتقد أنه يجب عليه إستخدام ال Game Engine .

                - المنصات المختلفة ... Windows and Mac !! لا يمكننا تسميتهم منصات بشكل منفرد ، نحن نعلم أن جهاز الماك تستطيع أن تقوم بتنزيل الويندوز عليه ... وجهاز الويندوز تستطيع أن تقوم بتنزيل الماك أو أس عليه ..
                لم هذه التسميات ! .. نحن نستنتج أنه قد فصل أنواع من المنصة الأساسية وهي ال PC . هناك منصات عديدة ، وكلها تعتمد على الأجهزة والهاردوير وليس على ال Operating System !!!!

                نحن نحاول قدر الإمكان التبيين للمبتدئين التمسك بفكرة اللعبة أكثر من التمسخ بالمحرك الأقوى أو الأفضل ... لا يهمني إن كنت تمتلك أقوى محرك وأنت لست قادر على تحريك الماوس بداخله !

                تعليق


                • #9
                  المشاركة الأصلية بواسطة oms مشاهدة المشاركة
                  مقالة جيدة ...
                  ولكني سأختلف مع الكاتب في نقطتين :
                  - أولاً هو نصح بإستخدام لغة برمجة ، وقد نسي أنه بهذه الخطوة سيخرج من مفهوم تكوين لعبة لمفهوم تعلم البرمجة ، الأصل أن يقوم بالدلالة على محركات الألعاب المنتشرة وبكثرة ، ولكني أفترض أنه قام بكتابة هذه المقالة في وقت قديم جداً ولعله لم يسمع بمحركات الألعاب .
                  نحن بالنهاية لا نتمركز على تعلم لغة برمجة بحد ذاتها ... نحن نسعى لإضافة Game Play مميز .. بأي طريقة ممكنة ، ولتوفير الوقت والجهد ، ولتركيز القدرات على ال Game Play من وجهة نظري أعتقد أنه يجب عليه إستخدام ال Game Engine .
                  أنا أيضاً أتفق معك في هذه النقطة .
                  المشاركة الأصلية بواسطة oms مشاهدة المشاركة
                  - المنصات المختلفة ... Windows and Mac !! لا يمكننا تسميتهم منصات بشكل منفرد ، نحن نعلم أن جهاز الماك تستطيع أن تقوم بتنزيل الويندوز عليه ... وجهاز الويندوز تستطيع أن تقوم بتنزيل الماك أو أس عليه ..
                  لم هذه التسميات ! .. نحن نستنتج أنه قد فصل أنواع من المنصة الأساسية وهي ال PC . هناك منصات عديدة ، وكلها تعتمد على الأجهزة والهاردوير وليس على ال Operating System !!!!

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

                  <<Nobody>> سابقاً

                  تعليق


                  • #10
                    أصبح بعض المحركات بكبسة زر تقوم للتصدير لل OS المختلفة .. وعلى سبيل المثال فعندك ال Unity3D .. فهو يصدر للويندوز والماك بكبسة زر فقط !

                    تعليق


                    • #11
                      ما شاء الله مقاله رائعه .البطاطا ماخذه مفعوله بشكل رهيب
                      تم النقل الى منتدى اخر ..........
                      جزاك الله خيرا

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة oms مشاهدة المشاركة
                        أصبح بعض المحركات بكبسة زر تقوم للتصدير لل os المختلفة .. وعلى سبيل المثال فعندك ال unity3d .. فهو يصدر للويندوز والماك بكبسة زر فقط !
                        فهمت المعلومة .....و إنته بهذه المعلومة غلبتني .......و في هذه الحالة لم يصبح للـos أي قيمة
                        مشكور أسامة على المرور و المناقشة

                        <<Nobody>> سابقاً

                        تعليق


                        • #13
                          طبعاً و هل نستطيع الإفطار و العيش بدونها !!
                          و مشكور أخي على مرورك.........و الرجاء لا تنسى حقوق النقل

                          <<Nobody>> سابقاً

                          تعليق


                          • #14
                            good work ^_^
                            _______
                            مدونة خاصة
                            http://hassanpassion.blogspot.com/

                            تعليق

                            يعمل...
                            X