برمجة الألعاب.. 2
في تدوينة سابقة ذكرنا بعض العمليات التي تمر بها اللعبة قبل الظهور في الأسواق , أكمل ما بدأناه :
3- Language اللغة المستخدمة :
عندما يتم الأتفاق على التصميم المبدئي للعبة , يتم تحديد لغة التصميم بناءً على الـ initial design . يعتمد أختيار اللغة على العديد من العوامل؛ مثل :
- ألفة وتوافق اللغة المراد البرمجة بها ,
- سرعة التنفيذ المطلوبة ,
- المكتبات المستخدمة
- أجهزة العرض API’s
- و يؤخذ بالاعتبار محرك اللعبة .
حالياً بسبب مبدأ الـ Object oriented والترجمة الى اللغة الثنائية Binary فإن اللغة المفضلة لبرمجة الألعاب هي ++C , للجافا و C شعبية ايضاً في بعض الأوساط البرمجية . أما Assembly language فهي ضرورية لبرمجة بعض منصات الألعاب وفي بعض الأحوال تستخدم لجعل اللعبة أسرع , أو للألعاب التي تحتاج تحميل بسيط . لغات الـ Fringe مثل Ada, Python و #C لها تأثير بسيط جداً لا يذكر في برمجة الألعاب وتستخدم من قبل مشجعينها فقط !!
زاد الإستخدام على لغات High-level scripting language لتصبح متضمنة تحت الألعاب المكتوبة بلغات lower-level مثل ++C . وكنتيجة قام المطورون بإنشاء لغات حسب الطلب لألعابهم مثل : id software, QuakeC و Epic Games . أخرون أختاروا لغات موجودة مثل Lua أو Python ليتفادوا مشاكل إنشاء لغه من البداية وتعليم مبرمجين آخرين على لغته التي أنشاها * .
في المقابل هناك نقاط ضعف لكل لغة من السابق سواء High-level OR Low-level :
- Assembly : عرضة لوجود أخطاء داخلية , بطئ في التطوير , صعبة على المبتدئين كما انه لا يمكن نقلها أو اعادة استخدامها .
- C : لا تحتوي على Object Oriented , تحتوي على GC اي انها عرضة للتسربات من الذاكرة ( Gabage ).
- ++C : تحتوي CG ( عرضة لتسربات الذاكرة ) , معايير تجمييع اللغة قد يختلف ( الـCompilation ).
- #C : يجب ان يكون التجميع تماماً في الوقت المناسب مع وقت التنفيذ , يحتاج البرنامج الناتح الى ذاكرة كبيرة ولا يمكن تحويلها او أعادة استخدامها ** .
- Java : قد ينتابها بعض البطء , وغير مناسبة لمنصات الألعاب مثل PS series .
- Python وَ Ada : لغات ألعاب Fringe , تحتوي على ادوات تطويرية بسيطة جداً وقليلة للسبب السابق ذكره .
ختاماً لهذه النقطة :
ارى ان لغة ++C هي الأفضل و الأنسب للاسباب السابق ذكرها و لاسباب سنتي على ذكرها في النقاط القادمة. ليس لأنني مبرمجة ++C ولكن امكانات اللغة جبارة ومكتباتها متعددة بالاضافة لوجود العديد من التطبيقات المتوفرة مفتوحة المصدر . كما ان معظم مبرمجين الألعاب قد مهدوا الطريق لاستخدامها سيراً على نهج : ابدأ من حيث انتهى الأخرون ..
—————————-
* آمل ان لا يكون المبرمجين العرب من هذا النوع !!
** مبدأ Reusability ضروري لنجاح المراحل المتقدمة من اللعبة , وضروري جداً للاصدارات الجديدة .
تصبحون على خير ![]()
- 27 سبتمبر 2006
- برمجة
- نسخة للطباعة
- عدد الزيارات: 478 مرة, 3 زيارة اليوم








2006-10-05 2:25 م
أوه نو! أملي في تصميم لعبة لا زال موجود لكن مع هادي اللست اللي مشالله الل “”فاهمة فيها”" كل شي زاد أملي في تصميم ألعاب!! الله الميسر!
2006-10-06 11:51 ص
SmBa
لا تفقدي الأمل , انا واثقة اني يوم من الأيام راح اشوف لعبه من تصميمك وتباع في الأسواق بمبلغ وقدره ..
ان شاء الله في التدوينات القادمة سوف أبسط الفكرة أكثر
اهلا بك دائماً