المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : :: ~^~ المحرك Engine3D ~^~ :: نظرة عامة



Wolf Sniper
05-11-2005, 01:33 PM
السلام عليكم ..

: ~^~ مقدمة ~^~ :

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

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

1 - نظرة المجتمع العربي إلى هذه المشاريع و أنها تافهة أو ما شابه فهي للصغار فقط و لا تفيد إلا في موضوع التسلية :

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

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

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

2 – الهمم و العزائم الخفيفة للمطورين العرب التي لا تكاد من أول عقبة تتطاير في السماء .. أو يمكننا إيجاز ذلك بضعف الإرادة في إكمال هذه المشاريع و خاصة عند أول محاولة فشل :

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

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

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

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

4 – عدم وجود رسالة واضحة أو فكرة معينة أو هدف محدد تريد أن تنشره عبر لعبتك إلى أكبر عدد ممكن من اللاعبين .. و بالتالي ليس هناك دافع يدفعك إلى الإجتهاد أكثر من اللازم حتى تصل إلى مرادك :

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

5 – قلة مصادر تعلم هذه التقنية :

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

6 – عدم قدرتنا نحن العرب و المسلمين على العمل الجماعي في الوقت الحديث .. و عدم قبولنا لأفكار الغير فالكل يريد وضع فكرته في المشروع و إجبار الكل عليها :

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

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


: ~^~ المحرك :: نظرة عامة :: ~^~ :
أولاً / المميزات :

1 – دعم نمط الكاميرا ذات المنظور الأول ( First Person Shoot ) و هي قابلة للتغيير لأني أريد عمل فكرة جديدة .
2 – دعم الـ Direct Input من خلال : Mouse + Keyboard .
3 – دعم ملفات الـ Md2 و ملفات الـ X من أجل تحميل الأجسام إلى المحرك ومن أجل الحركة .
4 – دعم الألوان و الإضاءة و الإكساء و الأجسام المحيطة ( Bounding Box ) و الأمور الأخرى المسؤولة عن المحرك داخلياً .
5 – دعم نظام الإطلاق و هو قابل للتغيير و التطوير أيضاً لوجود أفكار جديدة أريد تحقيقها و لكن الموجود حالياً للتجربة فقط .

ثانياً / الأهداف القادمة :

1 – الوصول إلى نظام قتال متكامل .
2 – دعم التأثيرات المتعددة كالضباب و المطر و غير ذلك .
3 – دعم الصوت .
4 – دعم لغة التظليل عالية المستوى HLSL ( من خلال دعم Pixel Shading و Vertex Shading ) على قدر الاستطاعة .
و غيره .. نسأل الله تعالى أن يوفقني لذلك .

ثالثاً / مشهد من المحرك :


http://members.lycos.co.uk/wolfsniper84cc/Engine3D.gif

رابعاً / أزرار التحكم :

1 – لتحريك الكاميرا : W, S, A, D .. بالإضافة إلى حركة الماوس .
2 – لتغيير حركة الشخصية : Mouse Right Click .. مع ملاحظة القيمة Animation Name .
3 – لاختبار إصابة الجسم : Mouse Left Click .. مع ملاحظة القيمة isHit .
4 – لإرجاع الكاميرا إلى مكانها الأصلي : اضغط على الزر M .
5 – للخروج : اضغط على الزر Escape .

رابعاً / معلومات إضافية :

1 – اللغة المستخدمة هي لغة السي++ بالإضافة إلى DirectX9 بالإضافة إلى بعض دوال API .

2 – متطلبات التشغيل : وجود DirectX9 في جهازك فقط .

3 – الجسم الموجود هو جسم جاهز حصلت عليه منذ مدة طويلة عن طريق مثال موجود في موقع : www.gametutorials.com .. و لكن للأسف الموقع الأن ليس مجاني .

4 – المصادر التي اعتمدت عليها في بناء هذا المحرك :

أ – كتاب ( برمجة الألعاب ثلاثية الأبعاد باستخدام DirectX 9.0 للمبتدئين ) لدار شعاع في سوريا .. و هذا الكتاب هو كتاب معرب عن كتاب إلكتروني أجنبي يحمل نفس الاسم .. و من أجل الفائدة الكتاب موجود في مكتبة جرير في السعودية ( الكتاب المعرب من دار شعاع ) .. أو من أراد الكتاب الأجنبي الإلكتروني فهو موجود في هذا الموضوع و هو للأخ Smart_SDR :

Learning DirectX 9.0 (http://www.montada.com/showthread.php?t=320180)
ب – الـ DirectX Documentation المرفق مع الـ SDK و هو عبارة عن Help مهم جداً لكل مطور ألعاب و يوجد معه أمثلة كثيرة بالإضافة إلى بعض Tutorials .. و استفدت منه كثيراً .
ج – مواقع الإنترنت .. و في الحقيقة استفدت منها بشكل كبير و خاصة في دروس ملفات Md2 و التحريك و كلها طبعاً باللغة الإنجليزية .. و ليس هناك داعي إلى ذكرها كلها هنا .. فقط ابحث عن موضوع معين تريده في الدايركت إكس عن طريق موقع www.google.com و ستجد إن شاء الله ما تريد .

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

6 – قد تحدث معك أخطاء قبل عمل المحرك أو في أثناء التشغيل .. و ذلك لأني لم أعالج الأخطاء بالشكل المطلوب حتى الأن .. و إذا حدث أي خطأ أثناء التنفيذ فأرجو أن يتم إخباري بذلك .

خامساً / طلب إلى كل من يشغل المحرك :

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

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


: ~^~ وصلة المحرك ~^~ :

المحرك (http://www.sfhty.com/u/53708200511051052201.zip)

||صقر||
05-11-2005, 03:55 PM
فينك وفين موضيعك من زمان عاللعموم الموضوع روعة وانشاء الله نستفيد منه

الشمري22
05-11-2005, 04:02 PM
رائع ..

وشيء يبشر بالخير ..

اولا .. غريبة بان لانراك في منتديات البرمجة ,,,,,,, فامثالك مطلوبون .... وتستفيد وتفيد .

ثانيا المحرك :
الموقع محجوب عندنا في السعودية .. للاسف ,,
وبالتالي الوصلة لاتعمل .



– دعم نظام الإطلاق و هو قابل للتغيير و التطوير أيضاً لوجود أفكار جديدة أريد تحقيقها و لكن الموجود حالياً للتجربة فقط
ماذا تقصد بذلك ,

ايضا انظمة الجزيئات هل هي مدعومة ؟
--
اتمنى تلقي نظرة على المحرك TV3D ... وتحاول ان تحاكيه ... فهو فعلا مميز ,.,,,

اتمنى لك التوفيق .. وهنيئا لنا بامثالك .

لاتنسى الوصلة:) ... شوف لاهل السعودية حل ... الموقع مغلق :) .

ib_doom
05-11-2005, 04:48 PM
السلام عليكم
مجهود رائع أخي العزيز و فعلا محاولة جيدة و خطوة نحو الأمام
بالنسبة ل fps فقد بلغ عددها 300 بدون أن أقوم بأي شيئ مع العلم أني أملك +athlon xp 2000 و geforce fx 5200

باز يطير
05-11-2005, 05:52 PM
وعليكم السلام ورحة الله وبركاته

مجهود كبير منك اخوي وانشاء الله يجعله في ميزان حسناتك

الموقوف
06-11-2005, 11:10 AM
مشكور أخي على المجهود الكبير الذي بذلته في هذا الموضوع الرائع :biggthump

Wolf Sniper
06-11-2005, 01:57 PM
فينك وفين موضيعك من زمان عاللعموم الموضوع روعة وانشاء الله نستفيد منه
للأسف انشغلت كثيراً خلال الفترة الماضية و أعتقد أن ذلك سيستمر لفترة طويلة .. المهم الأن أن تجرب المحرك و تخبرنا برأيك :)


رائع ..

وشيء يبشر بالخير ..

اولا .. غريبة بان لانراك في منتديات البرمجة ,,,,,,, فامثالك مطلوبون .... وتستفيد وتفيد .

ثانيا المحرك :
الموقع محجوب عندنا في السعودية .. للاسف ,,
وبالتالي الوصلة لاتعمل .

ماذا تقصد بذلك ,

ايضا انظمة الجزيئات هل هي مدعومة ؟
--
اتمنى تلقي نظرة على المحرك TV3D ... وتحاول ان تحاكيه ... فهو فعلا مميز ,.,,,

اتمنى لك التوفيق .. وهنيئا لنا بامثالك .

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

بالنسبة لوصلة المحرك .. سأضع وصلة أخرى في نهاية هذا الرد .

من أجل موضوع نظام الإطلاق .. كل ما قصدته أنني أريد تغيير الموجود حالياً لأنني أريد إضافة شيء جديد إن شاء الله .

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

بالنسبة للمحرك TV3D .. ليس لدي أي فكرة عنه .. فهل تعطينا وصلة للاطلاع عليه .

و الله يجزيك الخير على الكلمات المشجعة .. أتمنى أن يعجبك المحرك :) .


السلام عليكم
مجهود رائع أخي العزيز و فعلا محاولة جيدة و خطوة نحو الأمام
بالنسبة ل fps فقد بلغ عددها 300 بدون أن أقوم بأي شيئ مع العلم أني أملك +athlon xp 2000 و geforce fx 5200
المهم أنه أعجبك و هذا ما أريده .. و شكراً على الإجابة على الأسئلة لأنني أحتاج إلى تجربة المحرك على أكثر عدد ممكن من الأجهزة من أجل اختبار السرعة .


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

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


مشكور أخي على المجهود الكبير الذي بذلته في هذا الموضوع الرائع :biggthump
العفو و هذا واجبنا .. المهم أن تجرب المحرك و تخبرني بالأجوبة على الأسئلة المطروحة .


وصلة جديدة لأهل السعودية :)

المحرك (http://d.turboupload.com/d/136957/Engine3D.zip.html)

ملاحظة / اضغط على الرابط و عندما تفتح الصفحة انتظر 30 ثانية و عندها ستظهر وصلة المحرك

Son Of UAE
06-11-2005, 02:13 PM
السلام عليكم ورحمة الله .. اهلا بعودتك اخي الفاضل ...
استفدت شيء مهم من موضوعك ولكن احب ان اتأكد من الفرق بين ملفات الMD2 و الX ... الاول للموديل صحيح ولكن كيف يمكن تصميمه بهذي الصيغة ؟ والثاني للحركة .. كيف تصممه ؟ :06:

بخصوص المحرك شغال 100 % ... الكمبيوتر 3.0GHz و الكرت msi 5200 256DDR
FPS كان 450 تقريبا ... :ciao:

الشمري22
06-11-2005, 08:40 PM
استفدت شيء مهم من موضوعك ولكن احب ان اتأكد من الفرق بين ملفات الMD2 و الX ... الاول للموديل صحيح ولكن كيف يمكن تصميمه بهذي الصيغة ؟ والثاني للحركة .. كيف تصممه ؟ :06:

ممكن السؤال مو موجه لي شخصيا .. لكن فيني شوية لقافة ::p

الفرق موجود هنا ...
http://www.maxforums.net/showthread.php?t=44404

اما كيف يتم تصميمها ..
تصميم عادي بالماكس .. ثم تستخدم مقابس مخصصة للتصدير بعدة هيئات ..
او تأتي بالتصميم الجاهز .. وتستخدم بعض الادوات (بدون الماكس) للتحويل .

اي موديل ... ممكن يكون متحرك (اطارات او تحريك هيكلي ) وممكن يكون ثابت
يعني مثل gif ممكن تكون متحركة او صورة ثابتة .

CHALLENGER
07-11-2005, 02:21 AM
ممكن السؤال مو موجه لي شخصيا .. لكن فيني شوية لقافة ::p

الفرق موجود هنا ...
http://www.maxforums.net/showthread.php?t=44404

اما كيف يتم تصميمها ..
تصميم عادي بالماكس .. ثم تستخدم مقابس مخصصة للتصدير بعدة هيئات ..
او تأتي بالتصميم الجاهز .. وتستخدم بعض الادوات (بدون الماكس) للتحويل .

اي موديل ... ممكن يكون متحرك (اطارات او تحريك هيكلي ) وممكن يكون ثابت
يعني مثل gif ممكن تكون متحركة او صورة ثابتة .

اي و الله اخ wolf sniper تطرقت الى عدة ابواب بل الى اكثرها و بما انا الاخ son of uae تطرق لهلناحية (( md2 & x )) فأنا كمان و الله كنت ناوي اسوي ابحاثي عن هالموضوع و بالفعل بدأت و اكتشفت شوية معلومات بس لو حطيتها هنا احس انها بتلخبط الكل لأني انا نفسي متأكد انها لسا المعلومات مو دقيقة بس لحسن الحظ اكتشفت برنامج من صنع أخ عربي يحول ملفات الـ3ds إلى .x و بالفعل استفدت منه في بعض الامثلة في الكتاب يلي تكلم عنه الأخ Wolf Sniper و اذا اي حد يريد البرنامج يطلب و انا برفعه للنت فوراً http://director.montada.com/new_icons/jap_icon/jap050.gif


:bigeyes: الموضوع مهم أخي Wolf Sniper و جميل :biggthump (( يا ريت تكون كل مواضيع المنتدى بهذا المستوى http://director.montada.com/new_icons/jap_icon/jap052.gif ))

بالنسبة للمقدمة هذي تنفع موضوع لحالها و هي فعلاً مقالة جارحة للجميع و الموجز الذي وضعته فعلا من الواقع خاصة بشكل شديد النقطة الأولى فهذه النقطة اعانيها من جميع الذين قربي و للأسف :02: و لكن اطمئنك اخي و اطمئن نفسي بان هذا سوف يتغير تلقائياً بعد اقل من 10 سنين حين يذهب جيل الأفلام الابيض و الاسود و ام كلثوم و يأتي جيل ألعاب الفيديو و لكن السؤال يكمن في : هل نستطيع أن نبرهن للمجتمع الحالي قيمة هذه الألعاب قبل أن يقنعهم الزمن؟

++ النقطة السادسة في المقدمة موجعة ايضاً و يجب ان نتفاداها كي ننجح http://director.montada.com/new_icons/jap_icon/jap033.gif


و اعتقد اننا هنا بمنتدى برمجة الألعاب سوف نستأصل كل السلبيات التي ذكرتها في مقدمتك... عفواً اسمح لي باستبدال كلمة اعتقد بـ متأكد http://director.montada.com/new_icons/jap_icon/jap004.gif


لحظات و احمل المحرك و اخبرك رأيي فيه :ciao:

CHALLENGER
07-11-2005, 03:40 AM
واو المحرك شغال عندي و الـ FPS = 74 و فواصل المعالج عندي 1.7 و كرت الشاشة 32 ميجا http://director.montada.com/new_icons/jap_icon/jap012.gif

المهم انك تجاوبني عن النقاط التالية يلي يمكن كل وحدة بوادي بس بتلم بالموضوع ان شاء الله :

- بما ان الـmd2 و الx كل وحدة لشي وحدة للموديل و وحدة للحركة كيف ممكن تحول شكل بالثري دي ماكس الي x و بالفيجوال تقدر تحركه (( هذا الكلام من مثال شفته في احد المواقع ))
- وصلة المحرك التي وضعتها هي مثال اليس كذلك و ليس المحرك نفسه !!!
- اهم شي هذا السؤال ... اخي انا عندي هذا الكتاب يلي قلت عنه صورته في المرفقات بس جد لما شفته تعقدت لأني ماعرفت هل لأتعامل معه يجب ان اكون ذو مستوى ممتاز في السي ++ ام عادي هذا اولاً ... و عند استخدام الاكواد في الكتاب هل يجب فهم الكود سطر سطر ام ... سؤال مرتبط و يختصر جميع ما سبق :
هل بتعلمي السي++ استطيع التعامل مع هذا المحرك او اي محرك بمرونة ؟
- الكتاب المذكور يتعامل مع مكاتب Direct3D فما هو المقصود بالمكتبة و ما هو المقصود بالمحرك , اعتقد انه سؤال سهل و لكن لا اريد ان ادخل باب برمجة الألعاب الثلاثية الأبعاد الا و انا فاهم كل صغيرة و كبيرة و مثل ما قلت لنقلب السحر على الساحر .
- مؤخراً قمت بتنزيل محرك اسمه Diesel3D و لكنه لألعاب الهواتف المحمولة المزودة بنظام تشغيل Symbian و كما ارى هذا المحرك ارى المحرك السابق فالاثنين متشابهين جدا (( راجع الصورة المرفقة )) و المحرك الذي اتكلم عنه يستخدم السي ++ طبعاً و قد صنع منه العاب 3D كثيرة و سلسلة مشهورة من الـScreen Saver لهاتف المتحرك تحت اسم DSS فما رأيك اذا رغبت ان تقوم بالاطلاع عليه فباب ألعاب المحمول باب لم يطرقه الكثير من العرب فما رأيك ان تساعدني بدخوله ؟http://director.montada.com/new_icons/jap_icon/jap031.gif

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


لا أعرف أحس انني اكثرت من الكلام بس عسى يكون فيه فائدة و انا متأكد انه غيري من الأعضاء كان بيسئل كم سؤال من الأسئلة التي سئلتها و انت مثل ما ثلت " منتظرني منك الكثير " http://images.montada.com/smilies/new_icons/smashfreakB.gif

Wolf Sniper
08-11-2005, 05:50 PM
السلام عليكم ورحمة الله .. اهلا بعودتك اخي الفاضل ...
استفدت شيء مهم من موضوعك ولكن احب ان اتأكد من الفرق بين ملفات الMD2 و الX ... الاول للموديل صحيح ولكن كيف يمكن تصميمه بهذي الصيغة ؟ والثاني للحركة .. كيف تصممه ؟ :06:

بخصوص المحرك شغال 100 % ... الكمبيوتر 3.0GHz و الكرت msi 5200 256DDR
FPS كان 450 تقريبا ... :ciao:
أهلاً بك أخي Son Of UAE .. و الرقم الذي ظهر عندك هو أسرع رقم حتى الأن ما شاء الله .. شباب مين يجيب أكثر :D ؟ .

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

- ملفات x .. و هي عبارة عن ملفات معرفة مسبقاً من قبل مكتبات الدايركت إكس نفسها .. بصيغة أخرى .. إن الدايركت إكس يستطيع قراءة هذه الملفات عن طريق دوال جاهزة .. و تستطيع أيضاً هذه الملفات تخزين الحركة بالنسبة للجسم .. و بالنسبة لي لم أحبذ هذا النوع من الملفات ربما لوجود بعض الصعوبة في تحميل الحركة للمحرك .
- ملفات md2 .. هي عبارة عن ملفات لعبة Quaqe2 .. و هذه الملفات أعجبتني فعلاً لسهولتها و اعتمادها على الحركة بشكل كبير .. و لكن مشكلتها أنه يجب عليك قراءة هذه الملفات بنفسك و ليس عن طريق دوال جاهزة من الدايركت إكس .. و ذلك عن طريق فتح هذه الملفات و من ثم القراءة منها باستخدام دوال لغة البرمجة كالسي++ .. للتوضيح أكثر سأبين لك ذلك من خلال كتابة جزء من الكود ( قلت جزء فقط ) :

من أجل ملفات x .. تستطيع تحميلها باستخدام التابع ( الدالة ) التالية المعرفة من قبل مكتبات الدايركت إكس :

D3DXLoadMeshFromX()
طبعاً مع وجود بعض الوسائط .. و من أجل تحميل ملفات md2 ستحتاج إلى كود أطول بكثير و لكنه أسهل مما تتصور .. أستطيع إيجاز الكود بالتالي ( باستخدام لغة السي++ ) :

FILE* file;
file = fopen(strFileName, "rb");
fread(&Header, 1, sizeof(Md2Header), file);
fclose(file);
التوابع fopen و fread و fclose هي توابع ( دوال ) موجودة ضمن مكتبة خاصة بالسي و هي stdio.h .. و من أجل توضيح الكود :

1 - التابع fopen : من أجل فتح الملف و يأخذ وسيطين الأول اسم الملف الذي تريد فتحه و القراءة منه .. و الوسيط الثاني هو من أجل تحديد نوع الفتح هل هو من أجل القراءة أو الكتابة أو الإضافة .. و نحن نريد هنا القراءة .
2 – التابع fread : يقوم بقراءة جزء معين من الملف ووضعه ضمن سجل ( structure ) قمت أنت بتعريفه ضمن المحرك و هو هنا Header .. و لكن يجب أن يكون هذا السجل مبني بنفس الشكل الذي تكتب به ملفات md2 .. فيجب مثلاً أن يكون أول حقل في هذا السجل من أجل تخزين الرقم السحري أو ما يسمى بـ Magic Number .. و الحقل الثاني من أجل تخزين الـ Version المتعلق بالملف و هكذا ... في الحقيقة هناك حوالي 17 معلومة يجب أن تكون مهيئة للتخزين في هذا السجل و كلها من النوع ( integer ) .. بنية السجل Header يمكن تعريفها على الشكل التالي باستخدام السي++ :


class Md2Header {
public:
tMd2Header();

int Magic;
int Version;

int SkinWidth;
int SkinHeight;

int FrameSize;

int numSkins;
int numVertices;
int numTexCoords;
int numTriangles;
int numGlCommands;
int numFrames;

int OffsetSkins;
int OffsetTexCoords;
int OffsetTriangles;
int OffsetFrames;
int OffsetGlCommands;
int OffsetEnd;
};

لمزيد من التفصيل أدخل على هذا الموقع :
http://www.xbdev.net/3dformats/md2/md2.php

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

3 – التابع fclose : من أجل إغلاق الملف بعد فتحه .. و بالتالي العملية بسيطة و هي عبارة عن فتح ملف ثم القراءة منه ثم إغلاقه .

و لكن بالكود السابق تكون قد قرأت المعلومات العامة حول الملف md2 مثل الرقم السحري و رقم الإصدار و عدد الرؤوس و عدد الأوجه و بيانات أخرى .. و بذلك لم ننتهي بعد فهناك كود أطول من ذلك من أجل قراءة بيانات كل رأس Vertex موجود في هذا الملف ( أقصد بذلك إحداثياته x و y و z و أشياء أخرى ) .. و قراءة كل Frame موجود في هذا الملف .. حيث أن كل Frame يحتوي على نفس عدد الرؤوس و لكن إحداثيات هذه الرؤوس تتغير .. بالتالي تنشأ الحركة من خلال الإنتقال بين هؤلاء Frames .

إذا نستنتج مما سبق أن النوعين السابقين تستطيع من خلالها تحميل المجسم الخاص بك سواءً أكان ثابتاً أم متحركاً .. و هناك ملفات أخرى لكل منها تنسيقه الخاص مثل : 3ds و obj و mdl ... إلخ .

بالنسبة لكيفية تصميم ملفات x و md2 .. فقط قم برسم المجسم الذي تريده عن طريق برنامج 3D MAX و من ثم باستخدام أحد المقابس Plug-Ins تستطيع إصدار هذه الملفات ( أقصد هنا x ) .. و لكن هناك مشكلة في ملفات md2 حيث أن المقبس الخاص به في الماكس هو نسخة Demo و لا يوجد غيره للماكس على حد علمي و لكي تحصل على النسخة الكاملة يجب عليك دفع 20 دولار .. هذا هو الموقع :
http://www.geocities.com/darinp52/qtip/index.html

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


ممكن السؤال مو موجه لي شخصيا .. لكن فيني شوية لقافة ::p

الفرق موجود هنا ...
http://www.maxforums.net/showthread.php?t=44404

اما كيف يتم تصميمها ..
تصميم عادي بالماكس .. ثم تستخدم مقابس مخصصة للتصدير بعدة هيئات ..
او تأتي بالتصميم الجاهز .. وتستخدم بعض الادوات (بدون الماكس) للتحويل .

اي موديل ... ممكن يكون متحرك (اطارات او تحريك هيكلي ) وممكن يكون ثابت
يعني مثل gif ممكن تكون متحركة او صورة ثابتة .
مشكور أخي الشمري22 على المساعدة :) .. و لكن لم تخبرني برأيك بالمحرك و هل الوصلة شغالة ؟


اي و الله اخ wolf sniper تطرقت الى عدة ابواب بل الى اكثرها و بما انا الاخ son of uae تطرق لهلناحية (( md2 & x )) فأنا كمان و الله كنت ناوي اسوي ابحاثي عن هالموضوع و بالفعل بدأت و اكتشفت شوية معلومات بس لو حطيتها هنا احس انها بتلخبط الكل لأني انا نفسي متأكد انها لسا المعلومات مو دقيقة بس لحسن الحظ اكتشفت برنامج من صنع أخ عربي يحول ملفات الـ3ds إلى .x و بالفعل استفدت منه في بعض الامثلة في الكتاب يلي تكلم عنه الأخ Wolf Sniper و اذا اي حد يريد البرنامج يطلب و انا برفعه للنت فوراً http://director.montada.com/new_icons/jap_icon/jap050.gif


:bigeyes: الموضوع مهم أخي Wolf Sniper و جميل :biggthump (( يا ريت تكون كل مواضيع المنتدى بهذا المستوى http://director.montada.com/new_icons/jap_icon/jap052.gif ))

بالنسبة للمقدمة هذي تنفع موضوع لحالها و هي فعلاً مقالة جارحة للجميع و الموجز الذي وضعته فعلا من الواقع خاصة بشكل شديد النقطة الأولى فهذه النقطة اعانيها من جميع الذين قربي و للأسف :02: و لكن اطمئنك اخي و اطمئن نفسي بان هذا سوف يتغير تلقائياً بعد اقل من 10 سنين حين يذهب جيل الأفلام الابيض و الاسود و ام كلثوم و يأتي جيل ألعاب الفيديو و لكن السؤال يكمن في : هل نستطيع أن نبرهن للمجتمع الحالي قيمة هذه الألعاب قبل أن يقنعهم الزمن؟

++ النقطة السادسة في المقدمة موجعة ايضاً و يجب ان نتفاداها كي ننجح http://director.montada.com/new_icons/jap_icon/jap033.gif


و اعتقد اننا هنا بمنتدى برمجة الألعاب سوف نستأصل كل السلبيات التي ذكرتها في مقدمتك... عفواً اسمح لي باستبدال كلمة اعتقد بـ متأكد http://director.montada.com/new_icons/jap_icon/jap004.gif


لحظات و احمل المحرك و اخبرك رأيي فيه :ciao:
أهلاً بك أخي CHALLENGER .. هل تصدق أني نسيت ما كتبت في المقدمة :) !! .. حيث أني كتبتها منذ فترة طويلة و لكن لم أضعها فاطررت الأن لأقرأها مرة أخرى لأتذكر ما كتبته .. المهم أنها جاءت في الصميم كما قلت ;) .


واو المحرك شغال عندي و الـ FPS = 74 و فواصل المعالج عندي 1.7 و كرت الشاشة 32 ميجا http://director.montada.com/new_icons/jap_icon/jap012.gif

المهم انك تجاوبني عن النقاط التالية يلي يمكن كل وحدة بوادي بس بتلم بالموضوع ان شاء الله :

- بما ان الـmd2 و الx كل وحدة لشي وحدة للموديل و وحدة للحركة كيف ممكن تحول شكل بالثري دي ماكس الي x و بالفيجوال تقدر تحركه (( هذا الكلام من مثال شفته في احد المواقع ))
- وصلة المحرك التي وضعتها هي مثال اليس كذلك و ليس المحرك نفسه !!!
- اهم شي هذا السؤال ... اخي انا عندي هذا الكتاب يلي قلت عنه صورته في المرفقات بس جد لما شفته تعقدت لأني ماعرفت هل لأتعامل معه يجب ان اكون ذو مستوى ممتاز في السي ++ ام عادي هذا اولاً ... و عند استخدام الاكواد في الكتاب هل يجب فهم الكود سطر سطر ام ... سؤال مرتبط و يختصر جميع ما سبق :
هل بتعلمي السي++ استطيع التعامل مع هذا المحرك او اي محرك بمرونة ؟
- الكتاب المذكور يتعامل مع مكاتب Direct3D فما هو المقصود بالمكتبة و ما هو المقصود بالمحرك , اعتقد انه سؤال سهل و لكن لا اريد ان ادخل باب برمجة الألعاب الثلاثية الأبعاد الا و انا فاهم كل صغيرة و كبيرة و مثل ما قلت لنقلب السحر على الساحر .
- مؤخراً قمت بتنزيل محرك اسمه Diesel3D و لكنه لألعاب الهواتف المحمولة المزودة بنظام تشغيل Symbian و كما ارى هذا المحرك ارى المحرك السابق فالاثنين متشابهين جدا (( راجع الصورة المرفقة )) و المحرك الذي اتكلم عنه يستخدم السي ++ طبعاً و قد صنع منه العاب 3D كثيرة و سلسلة مشهورة من الـScreen Saver لهاتف المتحرك تحت اسم DSS فما رأيك اذا رغبت ان تقوم بالاطلاع عليه فباب ألعاب المحمول باب لم يطرقه الكثير من العرب فما رأيك ان تساعدني بدخوله ؟http://director.montada.com/new_icons/jap_icon/jap031.gif

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


لا أعرف أحس انني اكثرت من الكلام بس عسى يكون فيه فائدة و انا متأكد انه غيري من الأعضاء كان بيسئل كم سؤال من الأسئلة التي سئلتها و انت مثل ما ثلت " منتظرني منك الكثير " http://images.montada.com/smilies/new_icons/smashfreakB.gif
غريبة .. مع أن جهازك لا بأس به و ظهر عدد FPS قليل !! .. المهم أنه اشتغل ..

بالنسبة للأسئلة :

1 – شاهد ما كتبته في هذا الرد للأخ Son Of UAE .

2 – نعم .. الوصلة الموجودة هي مثال للمحرك فقط و ليس المحرك نفسه .

3 – للأسف يجب عليك إتقان لغة السي++ أولاً فهذا ضروري جداً .. و إلا فلن تستطيع حل المشاكل التي تواجهك .. و لكنني لا أطلب منك إتقان اللغة كلها .. فقط أتقن الأساسيات و من أجل التسهيل عليك سأضعها لك هنا :

- بنية و مكونات اللغة : كالمتحولات و الأنواع ( الأنماط ) و العمليات و المعاملات و غيرها ... إلخ .
- تعليمات الشرط و التكرار : if و for و while ... إلخ .
- البرامج الجزئية ( التوابع أو الدوال ) .
- المصفوفات Array .
- السجلات أو البنى Structure .
- المؤشرات Pointers .. ركز عليها جيداً .
- البرمجة غرضية التوجه OOP .. حاول فهم هذا الأسلوب على الأقل بنسبة 90% .

و يفضل أيضاً :
- المصفوفات الديناميكية أو ما يسمى بالـ Vector .
- فضاءات الأسماء Name Space .
- القوالب Template .. ( اختياري ) .
- القراءة و الكتابة في الملفات Files .

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

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

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

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

5 – في الحقيقة ليس لدي رغبة في الدخول في عالم برمجة ألعاب الهواتف المحمولة .. أحبذ تطوير ألعاب الكمبيوتر .. لما يميز أجهزة الحاسوب عن أجهزة الموبايل و الفارق الكبير في الإمكانيات فيما بينهما .

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

معلومة مهمة / لكي تبرمج لعبة يجب عليك تعلم التالي :

- السي++ أو أية لغة أخرى .. يجب اتقان الأساسيات .
- الدايركت إكس .. فقط افهم فائدة كل أمر برمجي تكتبه و ليس مهم أن تحفظ الصيغة الأساسية لكل دالة في الدايركت إكس ..
- بعض دوال API .. و هي الدوال الخاصة ببرمجة تطبيقات الويندوز ( اقرأ الملحق من نفس الكتاب ( الدايركت إكس ) فهو يكفي مبدئياً من أجل دوال API ) .

أتمنى لك التوفيق و لباقي الأعضاء .. أنا في الخدمة .

ib_doom
10-11-2005, 07:44 PM
هناك شيئ آخر مهم لمن يريد تعلم برمجة الألعاب و هو الرياضيات، لأنها مهمة جدا من أجل حل المشاكل التي
تواجهك أثناء البرمجة.

CHALLENGER
11-11-2005, 01:11 AM
السلام عليكم ...
لا تخاف اخي Wolf Sniper انا بلطش المقدمة و بحطها في الموقع طبعا و بذكر اسمك ;)

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

1 – شكرا لشرحك المطول و شرح الاخ الشمري و ان شاء الله بس الواحد يتورط شوي بهالأمور بيجرب بنفسه كل نوع .

2- انا حاليا مو متفرغ للمحرك بس لو تحط وصلة لتنزيله هنا بيفيد الآخرين .

3- الاشياء التي ذكرتها الحمدلله عندي فكرة عنها و لو كانت من غير لغات برمجية اي انني عندما اتعلمها سوف اجدها سهلة بإذن الله و انا متأكد انو كل هالأشياء موجودة عندي في المرجع ;) .

4- الله يعطيك العافية انا كان عندي المام بشكل عام على هالأمور بس هلئ انت حطيتلي النقاط على الحروف .

5- الحق معك ... ان شاء الله انا بخصص وقت قصير لهذه الأمور لأنني أحب هذا المجال " تصميم و برمجة الألعاب " على جميع الأجهزة .

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

و شكرا على المعلومة الاكثر من مهمة التي ذيلت ردك فيها و فعلا اخ Sniper Wolf انت كنز هنا في المنتدى الله يوفقك و يزيدك علماً