السلام عليكم ورحمة الله وبركاته
بعد غياب طويل عن هذا المنتدى الكريم أعود إليكم اليوم بهذا الموضوع الذي أرجو أن ينال رضاكمفي هذا الموضوع أحببت أن أشارككم تجربتي المتواضعة في مجال برمجة الألعاب راجيا أن تجدوا فيها الفائدة وأن أجد منكم النقد والرأي البنائين
منذ حوالي الشهر أنهيت انا وعدد من زملائي مشروع لعبة أسميناها BlackBattleV1.0 وسوف اتكلم عن هذا المشروع وأقسامه .
[ Project OutLines ]
- المشروع مقدم في : جامعة دمشق - كلية الهندسة المعلوماتية - السنة الثالثة
- هدف المشروع :
تصميم وبرمجة لعبة موزعة ثلاثية الأبعاد (Multi player 3D Game) على شبكة حواسب محلية (Local Network)
تحوي اللعبة على فريقين ويتكون كل فريق من عدد من اللاعبين يتم تحديدهم في بداية اللعبة وتتم المواجهة بين الفرقين باستخدام مجموعة من الأسلحة الفردية والجماعية
كالبنادق والدبابات. - زمن التنفيذ : حوالي الثلاثة أشهر.
- أدوات المشروع :
- لغة البرمجة Java باستخدام بيئة التطوير Eclipse .
- المكتبة البيانية : OpenGL .
- برامج أخرى : 3ds max 2009 & PhotoShop CS3.
[ملاحظة هامة]
المشروع من بابه لمحرابه من نتاج أعضاء الفريق ، ولم يتم إستخدام أي محركات بيانية او فيزيائية أو رياضية جاهزة .
[أقسام الشروع]
[ Black Engine ]

يشكل القاعدة البيانية والرياضية الأساسية التي يرتكز عليها المشروع، حيث يتألف هذا المحرك من القسمين التاليين :
- Graphics Core :
- وهو القسم المتخصص بتنفيذ الوظائف البيانية، حيث يشكل واجهة تخاطب مع مكتبة الـ(jogl) وتوابعها المختلفة، بما يتيح لنا التحكم بالخصائص البصرية للمشهد بشكل سهل ومنظم، بالإضافة إلى تسريع عمليات الرسم من خلال استخدام خوارزميات القص والتحكم في تفاصيل المشهد.
- Math Core :ويضم صفوفا خاصة بتمثيل المكونات الرياضية المستخدمة في المشروع من نقاط وأشعة ومصفوفات .
[ MapEditor ]

التطبيق عبارة عن برنامج تصميم وتحرير خرائط (Map Editor)، يستخدم لتصميم وبناء خرائط قابلة للإستخدام في لعبة BlackBattle.
وقد تم بناء هذا البرنامج باستخدام محرك BlackEngine.
[ NetWork Unit ]
حيث يمكن البرنامج المستخدم من بناء خرائط جديدة أو التعديل على خرائط محفوظة سلفا، ثم حفظ الخريطة في ملف خاص من النوع (.Map) أو ضمن ملف من النوع (.XML).
[ NetWork Unit ]
وهو القسم المسؤول عن عمليات الربط وإرسال واستقبال الرسائل والأحداث بين اللاعبين المشتركين باللعبة .
[ Physics Unit ]
وهو القسم المسؤول عن الحسابات الفيزيائية المرتبطة باللعبة من قذائف وانفجارات وكشف التصادمات بين مكونات اللعبة وغيرها من الظواهر الفيزيائية.
[ Game Manager ]
وهو القسم المسؤول عن الربط بين كافة الأقسام السابقة ، حيث ينظم عمليات الإنتقال بين حالات اللعبة .
[ DataBase Unit ]
وهو القسم المسؤول عن عمليات حفظ واسترجاع البيانات من قاعدة المعطيات .
[ Environment Unit ]
وهو القسم المسؤول عن تمثل مكونات البيئة برمجيا مثل : الأبنية والأشجار والجنود والدبابات ...الخ.
[مشاهد من اللعبة]




[ Credits ]

تعليق