الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف تصنع الألعاب؟

رائج
بدأه SandHawk في 10 يونيو 2007 · 20 رد · 20,098 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته, :)

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

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

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

موضوع المقالة: الآن, لقد تعلمت الدايركت أكس أو الـ OpenGL (أو أي إسلوب آخر لبرمجة الألعاب) وأنت تعرف كيفية إنشاء مشاهد ثنائية أو ثلاثية الأبعاد وتحريك عناصره, وقد تكون حاولت أن تصنع لعبة كبيرة ولكنك إكتشفت منذ البداية انك غير جاهز, هنالك شئ مفقود ولكنك لا تعرف ما هو بالضبط, هذه المقالة تفيدك إذا كنت في هذه المرحلة والتي يصل إليها الكثيرين ثم يتوقفون لسبب لا يدركوه, إن شاء الله ستساعدك للعبور للمرحلة القادمة إذا إتبعت التعليمات والإقتراحات الواردة هنا.

كيف تصنع الألعاب؟

الطريق إلى برمجة الألعاب

بقلم: جيوف هولاند - ترجمة: سلوان الهلالي

quake3.jpg

كويك 3

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

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

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

إذاً من أين أبدأ؟

(Tetris) تيترس

تيترس هي اللعبة المثالية لتبدأ منها رحلتك لكي تصبح مطوّر ألعاب متمكن. لماذا؟ لأن تيترس تمتلك كافة العناصر التي تمتلكها كل لعبة, و من الممكن صنعها بمجهود متواضع. كما إنك لا تحتاج أن تكون فناناً لتصنع لعبة تيترس شكلها جيد. إذ أن كل من يستطيع رسم مستطيل في الكومبيوتر (ما يعني كل شخص لديه برنامج paint ) يستطيع صنع لعبة تيترس ذات جودة تجارية.

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

تيترس تمتلك كل المقومات التي تمتلكها جميع الألعاب بشكل عام. حيث لديها حلقة لعبة game loop (وهي عملية إعادة تنفيذ مقومات اللعبة مرة بعد أخرى حتى الخروج من اللعبة). حلقة اللعبة تقرأ إدخال المستخدم عدة مرات في الثانية الواحدة, تعالج ذلك الإدخال, وتحدّث جميع عناصر اللعبة (مثلاً التيتراسات الساقطة من الأعلى) إستناداً للإدخال وسير اللعبة, كما إنها تفحص شروط الفوز والخسارة, كل هذا يحدث عدد من المرات في الثانية قد يصل إلى 300 مرة في الثانية الواحدة.

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

tetris_amazing_blocks.gif

نسخة من لعبة تيترس يطلق عليها Amazing Blocks

ماذا بعد؟

breakout_maniacball_s.gif

نسخة Breakout يطلق عليها Manic Ball

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

Breakout هي لعبة مشابهه, ولكنها تضيف الكثير بالنسبة لعملية كشف التصادم المتقدمة ( Advanced Collision Detection ) عند مقارنتها بلعبة تيترس. حيث سيكون عليك أن تضيف بعض فيزياء الإرتداد بتأثير الإصطدام المبسطة ( Simple deflection physics ) إلى الكرة التي سيكون عليها أن ترتد بشكل فيزيائي صحيح عند الإصطدام بالجدار أو بلوح اللاعب أو بالقطع.

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

بعد أن صنعت تحفتك Breakout بالكامل يجب عليك أن تنتقل إلى صنع لعبة باكمان Pac-Man. باكمان هي خطوة ثورية لأنك ستضيف هنا عنصراً جديداً من العناصر المهمة لجميع الألعاب, و هي الذكاء الإصطناعي (Artificial Intelligence - AI ). من الممكن أن تكون لست منتبهاً إلى هذا, ولكن باكمان الأصلية كانت تمتلك أربعة أشباح مختلفة لدى كل من هذه الأشباح هدفاً معيناً يسعى إليه لكي يسبب خسارتك, أي إنها تعمل جميعاً كفريق!. حيث إن الشبح المهاجم سيحاول أن يسلك أقصر الطرق للوصول إليك, مما يجبرك على تجنبه بشكل مباشر. الشبح المعترض من جهة أخرى سيحاول الوصول إلى مفرق المسارات الأقرب إلى الإتجاه الذي ستسلكه في حالة تجنبك الشبح المهاجم. كما إن هنالك شبح معترض آخر يحاول البقاء دائماً قرب وسط الخريطة لكي يقطع عليك الطريق في حال أردت الهرب عبر أحد المسارات الجانبية الذي يشبه النفق. أما الشبح الأخير فإن وظيفته الأساسية هي التجول بشكل عشوائي عبر الخريطة.

هكذا نوع من الذكاء الصناعي المفصّل كان متطوّراً جداً لألعاب بداية الثمانينات, أي إنك ستواجه تحديّاً جيداً كأول ذكاء صناعي تصنعه.

باكمان كذلك تزيد من تعقيد الخريطة, وتضيف فرصة جيدة للتفنّن في إستخدام الأصوات, حيث أن الأصوات فعلياً كانت أحد أهم عناصر لعبة باكمان التي ساهمت في نجاحها الكبير. ( بعد كل ذلك, كيف كانت لعبة باكمان لتبدوا بدون صوت مثل "واكا - واكا").

pac_man.gif

Pac-Man لعبة رائعة

smb2.gif

Super Mario Brothers 2

آخر لعبة أقترح أن تصنعها هي ما يسمى بألعاب الإلتفاف الجانبي ( Side-scroller ) مثل لعبة سوبر ماريو ( Super Mario Brothers ) المشهورة, حيث بإمكانك في هذه اللعبة القفزمن منصة إلى أخرى, كذلك يمكنك أن تطلق النار, تستطيع الإنخفاض و تستطيع أن تتفاعل مع الأعداء. ولأن هذا النوع من الألعاب يحتاج إلى رسومات فنية, سأقترح عليك إستخدام مكتبة SpriteLib المجانية والسهلة الإستخدام لتحصل على مجموعة من الرسومات المقبولة الجودة لألعاب مختلفة. يمكنك الحصول على هذه المكتبة من

هنا.

ألعاب الإلتفاف الجانبي تقدم إمكانية إضافة ذكاء صناعي للأعداء عبر إستخدام الأعداء الرؤساء ( Enemy bosses ) في نهاية مرحلة أو مجموعة من المراحل, الأعداء الرؤساء يهاجمون عبرإستخدام سلوك متكرر ( Pattern ) يجب عليك أن تتعلّم كيفية التغلب عليه,كما تمتاز هكذا ألعاب بإضافة تعقيدات عرض جديدة. حيث يتوجّب عليك الآن صنع نظام عرض يستطيع الإلتفاف أو السير في إتجاهين (يمين و يسار) على الأقل , إذا لم تكن أربعة, وبالتالي التعامل مع قص أو قطع الشاشة ( Screen Clipping ) وhلتي من الممكن أن تستغرق وقتاً للفهم. كذلك يجب عليك ملاحظة الحاجة للقليل من الخصائص الفيزيائية, القفز مثلاً, أو الإرتداد عن سطح مطاط أو حتى المقذوفات كالكرات النارية مثلاً.

يتوجب أيضاً في هذه اللعبة إستخدام الكثير من الأعداء, أكثر من الألعاب السابقة, كما يجب عليك تتبُّع الحالة الراهنة للعبة ( على قيد الحياة/ميت, فعال/غير فعال,... ), كذلك إذا كان شيء معين في داخل شاشة العرض أو خرج من شاشة العرض. مستوى تعقيد المراحل وطريقة خزن الخرائط والشخصيات ستكون أصعب و يجب عليك في هذه المرحلة بشكل شبه مؤكد أن تصنع نوعاً من منقحات المراحل ( برامج يمكنها إنشاء و تنقيح مراحل اللعبة ).

منقح المراحل يجب أن يمتلك القدرة على وضع رسومات المرحلة, والإلتفاف عبر هذه الرسومات, وكذلك الإلتفاف عبر الخريطة بأكملها, يمكنك إستخدام طريقة الفرشاة ( Brushes ) أو القطع ( Tiles ) للرسم, يجب كذلك أن يمتلك منقح المراحل القدرة على القص واللصق, التراجع عن العمليات المختلفة, وكذلك وضع الأعداء في مواقعهم. إذا قرّرت أن تتجاوز كل هذا, فإنك على الأرجح ستندم على ذلك فيما بعد, وإذا كان أحد الأصدقاء يساعدك في تصميم المراحل, فلن يكون سعيد جداً بطريقة تصميم مراحلك ( كيف ستشعر أنت إذا توجّب عليك المرور عبر ملف لايحتوي أكثر من مجموعة من الأرقام والرموز لكي تقوم بتنقيح مرحلة ما؟). كما إنّي أقترح أن تقوم بصنع نسخ إحتياطية للخرائط المخزونة مسبقاً, إذ أن من الأسهل عادةً القيام بإستعادة النسخ الأصلية للخرائط في حالة حدوث خلل ما.

أخيراً, فأن ألعاب الإلتفاف الجانبي لها أهداف حقيقية لتحقيق الفوز! أي إنك عندما تصل إلى نهاية اللعبة, تكون قد ذهبت إلى مكان ما فعلياً, لذلك فهذا النوع من الألعاب مناسب لتضيف قصة جميلة ( ولا تنسى نوع من أنواع الألعاب النارية عندما تصل إلى نهاية المرحلة, لكي يحس اللاعب إنه حقّق شيئاً و كوفئ بعرض رائع من الألعاب النارية , وإذا إنتهت اللعبة فلا تضع فقط جملة من قبيل "لقد إنتصرت!" لأن اللاعب المسكين الذي أمضى عدة ساعات وهو يحاول الوصول إلى نهاية اللعبة سيحس بخيبة الأمل وقد يصبح عصبياً لدرجة أنه قد يلعن من صنع هذه اللعبة...وهو أنت!).

لمِّع...شذب...إصقِل...

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

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

هنالك إختلاف كبير بين لعبة "تعمل بالكاد", ولعبة أخرى أكملت وأضيفت لها كل اللمسات الأخيرة. هذا الإختلاف سيحدد إذا ما إستمرّت مدة تطوير اللعبة عدة أيام أو عدة أسابيع (إعتماداً على حجم اللعبة). سوف تتزايد محتويات اللعبة بالإنتقال من تيترس إلى Breakout ثم ما بعدها وهكذا.

النتيجة, مع ذلك, ستكون مهمّة جداً, لكلّ من فهم كيفية تطوير الألعاب, وكبريائك في عملك ورضاك بإنجازك. ( الإنجازات تفعل العجائب للثقة بالنفس وإحترام الذات).

ليس من السهل أن تري الناس لعبتك وفي نفس الوقت أن تطلب منهم "تجاهل" تلك المشكلة وهذه المشكلة وتريد منهم في نفس الوقت أن يحسّوا بنفس إحساسهم لو كانت اللعبة كاملة ومقدمة بشكل جيد وخالية من المشاكل بإختلافها. أمّا بالنسبة لمطورّي الألعاب فسوف يكونون عادةً متسامحين أكثر, لأنهم يعلمون ماهية العملية وصعوبتها. لذلك إذا أردت رأي شخص أخر في لعبتك أثناء تطويرها فمن الأفضل أن تريها لمطوّر ألعاب آخر, أمّا إذا أردت أن تعرف رأي شخص آخر عندما تكمل اللعبة فمن الأفضل أن تريها لشخص يجهل تطوير الألعاب.

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

galaga.gif

Galaga

كل شئ يشرح نفسه بلمحة واحدة

ولكن...هذه ألعاب تافهة!

في حقيقة الأمر, هذه الألعاب تبين الأسس المبنية عليها جميع الألعاب. ضع واجهة مجسمة للعبة شوتر ( Shooter ) وستبقى لعبة شوتر. تستطيع دائماً أن تصنع نفس اللعبة ولكن ثنائية الأبعاد مع تصوير من الأعلى. المهم أن شيفرة البرنامج الخاصة باللعب ستبقى نفسها.

هل من الغباء صنع لعبة تمتلك نظام تحكم مشابه تماماً, الإستجابة, الأعداء كما في كويك؟ إذا رفعت الواجهة الثلاثية الأبعاد ونظرت للعبة من الأعلى, هل لا يزال صنع مثل هذه اللعبة مستحيل جداً؟

مع ذلك, ليس هذا مشروع بداية أبداً. هنالك عناصر كثيرة يجب تطويرها وتحسينها لمشروع أول, لذلك فإني أشجع بقوة على إتّباع الترتيب الذي إقترحته لكي تبني قدراتك تدريجياً في فهم تطوير الألعاب. ( عندما تعلمت السباحة, هل بدأت مباشرةً السباحة في أعمق مياه موجودة؟ لا! بل يجب عليك البدء في مياه غير عميقة -ضحلة- حيث تتعلم أولاً كيف تطوف على سطح الماء, ثم تتقدم من هناك تدريجياً).

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

gauntlet.gif

Gauntlet

إذا كنت مهتم بصنع الألعاب نفسها, يجب أن تعزل رغبتك في صنع أفضل لعبة في العالم (كلنا نرغب يذلك), وتركز على بناء قدرتك لكي تتمكن من القيام فعلاً بصنع أفضل لعبة في العالم يوماً ما. وأفضل طريقة لهذا كما قلت سابقاً هو أن تصنع ألعاباً والأهم من ذلك أن تكملها تماماً, الشئ الذي هذه المقالة ( أو مقالة مشابهه ) سترشدك إليه وإلى أفضل الطرق التي ستعود عليك بالخبرة الجيدة.

إفخر بألعابك!

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

عندما تنهي منتج لعبة تستطيع أن تريها وتتباها بها, يجب عليك أن تتقبّل ذلك مقارنة بماهية المنتج, وليس مقارنة مع منتج لأشخاص يمتلكون خبرة أكثر من 5 سنوات وملايين الدولارات من الميزانية والذين يعملون في صناعة الألعاب على مدار الساعة.

لقد صنعت لعبتي, والأن...أين سيارة الفيراري خاصتي؟

للأسف, لعبة واحدة, لعبتان, حتى خمسة ألعاب لن تكفي. تخيل أنّ السنة الماضية أصدرت 3,500 لعبة على الكومبيوتر, عدد قليل فقط من هذه الألعاب أعاد كميات كبيرة من الأموال على صانعيها. ومعظم هؤلاء لم يكونوا مؤلفين من مجموعات صغيرة ذاتية التمويل, ولكن كانوا مموّلين من قبل شركات نشر ( Publishers ) عملاقة وكان لديهم ميزانية من ملايين الدولارات على الأرجح, وعلى الأقل مليون دولار أو أكثر للإعلان عن اللعبة حول العالم. مع ذلك, ليس هذا عالماً لا تستطيع الإنضمام إليه, تحتاج فقط الكثيرمن الوقت والخبرات وتأريخ مشرق من الألعاب الجيدة, التي لديها سجل مبيعات جيد, لكي تعطي شركة النشر الثقة الكافية بك وبفريقك, حتى يأتمنوك على هكذا نوع من المسؤوليات المالية.

por_fer.gif

قرارات, قرارات.

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

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

1
#2

انا فعلا حاولت فى هذا الموضوع لكن وجدت انه يستند الى اشياء اخرى غير البرمجة

فهل برمجة الالعاب افضل من برمجة التطبيقات العادية؟

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#3

مجهود تشكر عليه أخي العزيز, جزاك الله خيرا وإلى الأمام وشرفت منتدانا بموضوعك.

#4

شكراً للجميع ولكني أتمنى أن نتناقش في موضوع المقالة , لأن كل ما قمت به هو ترجمتها, انا لم أكتبها... :D

حريف برمجة كتب:
انا فعلا حاولت فى هذا الموضوع لكن وجدت انه يستند الى اشياء اخرى غير البرمجة

فهل برمجة الالعاب افضل من برمجة التطبيقات العادية؟

شكراً للجواب :)

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

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

#5

ممتاز ، مُثبت

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#6

الأخ احمد صالح: شكراً لتثبيت المقالة اتمنى ان يساهم ذلك في زيادة الفائدة.

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

وشكراً :)

1
#7

فعلا عندك حق

انا بدات فى تعلم البرمجة بالديركت اكس لكن لقيت ان المشكلة مش فى ال DX لكن المشكلة فى المعادلات الى بتمثل الظواهر الفيزيائية كالتصادم والارتداد والاسقاط وهكذا

اما تعلم محرك العاب معين فليس صعب ادعيلى انا بحاول اعمل اى لعبة 2d لكن مفيش فكرة محددة

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#8

جزاك الله خيرا أخي الكريم

أحلى ما في المقالة أنه يقدم إرشادا لكيفية تطوير مهارات محددة باستخدام التطبيق العملي

سأقوم بحفظها على الجهاز :)

#9

هذه المشاركة مهمة جدا لبرمجة الألعاب

SandHawk :D وشكرا جزيلا أخي

Me.Thank(You)

تم تعديل هذه المشاركة بواسطة crazy Programm2007er في 16 يونيو 2007 في 18:48

#10

مشكو أخوي

لكن كيف أبدأ بأول خطوة؟؟

كيف أصمم لعبة تيترس؟؟

#11

بارك الله فيك

رغم اني لست خبير

لكن هناك ملاحظة حيث تجد الناس يخشون برمجة الالعاب

ويقول انها لايمكن ان تلاقي اقبال بوجود مئات الشركات الكبرى المنافسة

لكن هناك شئ مهم

ممكن ان تتفوق الشركات في الامكانات والمؤثرات لكن

الفرد يستطيع التفوق بالفكرة البسيطة الرائعة المتقنة

لكن رغم ان الاخيرة لا تحتاج الا لعقل نير

لا نجد افكار عربية مبتكرة للاسف الشديد

#12

شكرأ لكم جميعاً.

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

bachirk: كلامك صحيح تماماً, الأفكار هي الشئ الوحيد التي يستطيع مبرمج مستقل اليوم أن يتغلب فيه على شركة طويلة عريضة صنعت عشرات الألعاب التجارية, حيث هنالك مجتمع كامل لمبرمجي الألعاب المستقلين Indies يتخذون ذلك كإسلوب حياة, مثلاً الألعاب التي تجدها في شركة GarageGames وهي جميعها تركز على الفكرة واللعب ولا تهتم بالرسوميات وما شابه كذلك فإن أسعار شرائها منطقية ومعقوله بالمقابل مع أسعار شراء الألعاب التجارية التي وصلت اليوم إلى 60 دولار أو أكثر, كذلك هنالك موقع جديد رائع شبيه بالـ MySpace ولكنه مخصص ليجمع بين مبرمجي الألعاب المستقلين وألعابهم من جهة, واللاعبين من جهة أخرى, بالإسم The Great Games Experiment.

شكراً لكم مرة أخرى :)

#13

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

انظر مثلا الى لعبة بوحة لم تر النور حتى الان

لعبة قريش قد تك انزالها لكن من سيلعبها اليوم رغم ان المجهود الذى تم فى بنائها قد استغرق 3 سنوات

العا مثل تحت الرماد 1 و 2 حتى الان لم ارها فى جهازى

اخى قرصنة البرامج فى الدول العربية شغال الله ينور

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

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#14
حريف برمجة كتب:
انا حاولت فترة فى صناعة الالعاب وكنت عازم بجدية لن اخشى ان هذا المجال ليس له سوق فى مصرو لا الدول العربية

انظر مثلا الى لعبة بوحة لم تر النور حتى الان

لعبة قريش قد تك انزالها لكن من سيلعبها اليوم رغم ان المجهود الذى تم فى بنائها قد استغرق 3 سنوات

العا مثل تحت الرماد 1 و 2 حتى الان لم ارها فى جهازى

اخى قرصنة البرامج فى الدول العربية شغال الله ينور

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

أنت على حق تماماً.

وتلك هي المشكلة رقم واحد, حيث إذا كانت معظم الألعاب التجارية الجديدة مقرصنه وموجودة بأسعار مضحكة في معظم أنحاء الوطن العربي, فمن سيشتري لعبتك أو لعبتي؟

السوق الوحيد الذي من الممكن تحقيق بعض التقدم فيه هو سوق الألعاب التعليمية العربية برأيي, رغم إنه فائض بالمنتجات اليوم.

#16

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

#17
SEMMOOR كتب:
شكرا يخوي على المقالة الأكثر من رائعة صراحة حمستني جدا لتعلم برمجة الألعاب والتعمق في هذا المجال .

أتمنى لك التوفيق :)

#18

Sayed

Software Developer

miu (Misr International University)

http://www.miuegypt.edu.eg

#19
اقتباس
وقد بحثت طويلاً عن منتدى متقدم مختص في برمجة الألعاب لكي أشارك بخبراتي وأفيد وأستفيد.

للأسف ليس هنالك تواجد لصناعة ألعاب عربية حقيقية حتى هذه اللحظة

فقط لى تعقيب على هذه الجملة :)

اخى الكريم هل بحثت فعلا عن الالعاب عربية ولم تجد ؟؟؟

انا اقول لك وبكل فخر تم انتاج اكثر من لعبة عربية وفى شتى المجالات :)

ولكن انت تقدر تقول الالعاب العربية لم تحظى بأهتمام الاخرين او بمعنى اصح قلة الخبرة فى المجال مما ادى الى انهيار تلك الالعاب

#20

انا قصدت صناعة ألعاب حقيقية, شركات وناشرين, أسواق ومستهلكين.

أعني إن من ينتج العاباً يجد سوقاً ومنافسة محلية, وأشخاص يشتروها ومؤسسات تتبنى نشرها وتسويقها والأهم من ذلك ربح مادي لكي لا تضيع سنين عمره هباء, جميع المحاولات تفشل لعدم وجود أي من ذلك.

أما ما سبب كون أغلب (أو قل كل) الالعاب العربية التي أنتجت حتى الآن دون المستوى فذلك بسبب عدم وجود أي نوع من الرعاية المادية أو التعليمية لمن صنعها.

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

وهذا رأي فقط

#21

شكرا لك على النقل

وشكرا لكم جميعا على التعليقات المفيده وانشأ الله فى القريب العاجل ترى برمجه الالعاب العربيه النور

مواضيع مشابهة