الشبكة العربية لمطوري الألعاب

خبير مدير وسام البهنسي مشاركة 1

مهمة البرمجة الأولى (#C): برنامج تصميم المراحل
 
* بناء هيكل لمصمم المراحل باستخدام #C. وسيتم انتقاء الإصدارة الأفضل اعتماداً على التصويت.
 
مدة المهمة: نرجو من كل عضو أن يوضح المدة التي يتوقع إنهاء المهمة فيها كي نستطيع تقييم المشروع بشكل سليم.
 
الأعضاء المشاركين:
Mr-X
مؤيد مارديني
Hazem Mohammed Amer
 DreamNet
ياسر أبو بكر


فيما يلي شرح كامل للبرنامج المطلوب والمزايا المتوقعة منه:
برنامج تصميم المراحل هو البرنامج المعتمد لبناء مراحل جديدة في اللعبة وتعديلها. الغالبية العظمة من الألعاب الحديثة تملك برنامجاً مماثلاً. فبدونه، لن نستطيع بناء المراحل. كمثال، يمكنكم رؤية واجهة برنامج تصميم المراحل في محرك Unreal:


 
 

أو محرك Crysis:


 

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

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  Mr-X مشاركة 2

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

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

خبير مدير وسام البهنسي مشاركة 3

وفي 03 ابريل 2008 05:37 م، قال Mr-X متحمساً:

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

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

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  محمد علاء الدين عبد العزيز مشاركة 4

أعتقد انه من الأفضل إستخدام الإصدار VC# 2008 حتى نتمكن من الإستفاده من الـ WPF حيث انها مبنيه اساسا على الـ DirectX و بوجود مشروع WPF مع كل أدواتها الممتازه و ايضا Microsoft Expression Blend نستطيع عمل واجهه ذات شكل جذاب و من اجواء اللعبه نفسها.
 
عموما سأقوم بصنع واجهتين احداهما بألـ WPF و الأخرى بـ Net Framework 3.5 و سأترك لكم الإختيار
 
سأحوال الإنتهاء منهم اليوم قدر الإمكان و حالما انتهى سأرفعهم لكم
 
و الله ولى التوفيق

مبتدئ  عمار زاهده مشاركة 5

السلام عليكم
صممت نموذج بسيط و هذه صورته




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

مبتدئ  Mr-X مشاركة 6

في 03 ابريل 2008 09:56 م، قال وسام البهنسي بهدوء وتؤدة:

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

بالفعل كلامك صحيح انا اعتبر محرر المراحل صعب نوعا ما ، لانه سيعتمد عليه اللعبة ، او بمعنى اصح سيتم صنع عليه صنع المراحل
ان شاء الله اليوم سأحاول ان ابنى واجهة بسيطة للمحرر واضعها لكم
ولكن لى ملاحظة
 
بأى قياس سنعمل الواجهة ؟؟
800x600
ام
1024x768
ام ستكون تلقائية ؟؟؟
 
امممممممممم ايضا ارجح عمل الواجهة بالـ wpf مع ان الصراحة ليس لدى خبرة كبيرة فيه
انا استخدم حاليا الـ 2005 وعندى الاكسبريس 2008 ساقوم بتسطيبه على الجهاز وان شاء الله اصنع واجهة تليق بالبرنامج☺

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

خبير مدير وسام البهنسي مشاركة 7

وفي 04 ابريل 2008 05:30 ص، قال Mr-X متحمساً:

بأى قياس سنعمل الواجهة ؟؟
800x600
ام
1024x768
ام ستكون تلقائية ؟؟؟

نافذة رسم اللعبة يجب ألا تصغر عن 480×640. أما الحجم المتبقي فهو متروك لكم بما يناسب شكل البرنامج.

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير مشرف مؤيد مارديني مشاركة 8

الأخ عمار زاهدة،

أشكرك على هذا النموذج الرائع، لقد وضعت بعض الإضافات التي لم تخطر ببالي عند بناء نموذجي و الذي أجد ألا داعي لوضعه الآن☺

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

Moayad Mardini,
MSDN Forums Moderator

محترف مشرف عبد اللطيف حاجي علي مشاركة 9

وفي 05 نيسان 2008 09:44 ص، قال مؤيد مارديني متحمساً:

و لكن برأيي الشخصي، بما أن هذا البرنامج لن يكون برنامجاً عاماً للمستخدم النهائي
لم لا؟ أعتقد أن هكذا برنامج يجب أن يتوفر لجميع المستخدمين حتى يستطيعو بناء مراحلهم واللعب بها. ربما نجعل جزءاً من الموقع لهذه المراحل حتى!!!

عبد اللطيف حاجي علي
مبرمج
In|Framez

مبتدئ  ammarrozza مشاركة 10

لماذا تكون الواجهة باللغة العربية فقط؟؟ لماذا لا تكون باللغتان العربية والانجليزية لنشرها عالميا, وللمنافسة؟؟