المشاركة الأصلية كتبت بواسطة sparta22
اة رايك اخى لورد اوف ثندر تكتب الاسئلة دة باجبتها فى الفاكس و للعلم منقول للمنفعة
- ما هو محرك الألعاب أو ما يدعى بال Game Engine ؟
يمكننا قول أنه المكون الأساسي لأي لعبة أو أي عرض يتم به مفهوم ال Real Time Render ، وهو برنامج تم كتابته بإحدى لغات البرمجة ويستند على مكون رسومي ليتفاهم مع ال Hardware وغالباً ما يتم إستخدام مكتبة ال DirectX أو ال OpenGL لهذا الغرض . وغالباً ما يدعم الأمور الأساسية المكونة للعبة مثل الرسم ثنائي البعد أو ثلاثي البعد ، وال a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, and a scene graph .
- ما هي الأنواع الرئيسية للألعاب Game Type ؟
وفقاً لأغلب الآراء فإن التقسيمات تكون وفق التالي :
- Action بنوعيها FPS مختصرة من جملة First Person Shooter و FPS من Third Person Shooter ومن الأمثلة على النوعين بالترتيب Crysis ولعبة Tomb Rider المعروفة .
- Strategy وهي الألعاب الإستراتيجية التي تحتاج للتكتيك والفن الحربي مثل World in Conflect الحاصلة على المركز الأول لسنة 2007 .
- Sport مثل ألعاب كرة القدم Winning Eleven أو لعبة الفيفا .
- Puzzle-Maze لها عشاقها مثل لعبة Pac-Man المخضرمة .
- ألعاب الأدوار RPG من الجملة Role Player Game مثل لعبة فاينل فانتاسي .
- Focus Game ألعاب التركيز التي تجبرك على التركيز لتخطي المراحل و Space Channel 5 من الأمثلة عليها .
- Driving Game ألعاب السياقة مثل لعبة نيد فور سبيد .
- Management / Simulation مثل The Sims لعبة الإدارة .
- Online Game الألعاب التي يتم لعبها عبر الإنترنت مثل Travian وغيرها .
- ما هو ال DirectX وما هو ال OpenGL ومن الأفضل ؟
الدايريكت إكس هو مجموعة من المكتبات أو ما يسمى API إختصار للجملة Application Programming Interface التي تدير مهاماً رئيسية بال Multimedia وخصوصاً في برمجة الألعاب ، وتحتوي على مجموعة API تحمل أسماءً للأقسام الرئيسية منها : Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound ولا يختلف الأمر كثيراً مع ال OpenGL .
الأوبن جي أل أخف على الجهاز ويصنف أنه أقوى من الدايريكت إكس سابقاً .. ولكن كون أنه لا توجد من وراءه جهة رسمية .. تقوم بتطويره يومياً هذا أدى إلى ضعفه ، خصوصاً أن المايكروسوفت قد وضعت الميزانيات الضخمة لصالح الدايريكت إكس .. بينما يفتقر إليه الأول ... ومع الدايريكت إكس 10 .. يمكن القول قطعياً أن الدايريكت إكس أفضل من الأوبن جي أل ب 20 مرة . لذلك ... قم بالتركيز على الدايريكت إكس .. وأتمنى أن يعود الأوبن جي أل لنشاطه ، فلا ننسى تميزه السابق .
- ما معنى مصطلح Real Time Render ؟
هنا يجب اللفت لمعنى Pre Time Rendered - Film ، وهو الفيلم الذي قد تم عمل ريندر له سابقاً ، والذي سينتهي بملف فيديوا جامد لا يمكننا التعامل معه ، ويذكر أن ال PreRendered يمتلك جودة عالية ولا محدودة . وبالمقابل وقت كبير جداً لعملية ال Render ، بمعنى أننا لو فرضنا أن الثانية هي عبارة عن 23 فريم .. فإن ال Frame الواحد يأخذ من 15 - 30 ساعة لإخراج الجودة العالية مع ملاحظة أنه بالنهاية سيخرج كصورة أو فيلم . نعود لمصطلحنا ، فعندما نذكره نقصد أنه يتوجب عليك أن تقوم بإخراج ما يقارب ال 23 فريم في ثانية واحدة فقط . وذلك لأنه يتم حسابه في الوقت الحالي للتشغيل ، من الفرق السابق للوقت نستنتج أننا محكومون بجودة أقل من السابق . مع ملاحظة أنه هنا يمكننا التفاعل تماماً مع عملنا ، وهو ما يسمى بال Game .
- ما معنى LowPoly وما معنى HighPoly وما هي عملة ال Projection بينهما ؟
مفهوم ال LowPoly يمكننا إستنتاجه من تفصيل الكلمتين المدمجتين معاً .. ف Low تعني قليل ، و Poly من كلمة Polygon المضلع أو متعدد الأوجه . بمعنى أن نقوم بصنع مجسم بتفاصيل قليلة جداً . وبالمثل فال HighPoly يعني صناعة نفس المجسم السابق ولكن بوضع تفاصيل أكثر عليه . وغالباً ما يتم التنحي عن التفاصيل في ال LowPoly وإستخدام الصور Texture لذلك .
وبإمكاننا أنا نأخذ غالبا التفاصيل الموجودة على ال HighPoly ووضعها على ال LowPoly على شكل أكثر من Map ( يعني Texture فقط وليس Model ) وهذه الطريقة تسمى Projection .
- ما هي افضل لغة للالعاب ؟
النواة لأي Game Engine هي لغة السي ++ ، ولكن من جديد بدأ يظهر مفهوم ال Game Engine بشكل أكبر .. فأنا أتوقع أنه القليل جداً من يقوم بعمل لعبة من الصفر .. ببناء محرك خاص بها ، ولكن أغلب الشركات بدأت تتوجه نحو عدد من المحركات المعروفة عالمياً .. مما يعطي جودة عالية وبوقت أقل بقليل مما عليه في حالة بناء محرك من الصفر . ومن المحركات التي تتربع على القمه : CryEngine2 ، Unreal ، Torque ، Unity ، 3D Game Studio ، virtools
- ما هو أفضل برنامج لتصميم المجسمات الثري دي للألعاب ؟
كثر الكلام في هذا الموضوع . وفي الحقيقة ومن رأيي الشخصي . أنه لا فرق بين أي برنامج مستخدم .. سواء كان برنامج الثري دي ستوديوا ماكس ، أو المايا .. أو ال SoftImage أو حتى ال Lightwave . فكلها برامج تقوم بتأديه مهمتها على أكمل وجه . ولو أني أميل للماكس كونه هو من بدأ بهذا المجال . ويمتلك بعض الأدوات التي لا توجد بالبرامج الأخرى لهذا المجال . ومن باب الإنصاف يجب ذكر أن برنامج ال Blender يعتبر برنامج تصميم ومحرك ألعاب في نفس الوقت ويختص للألعاب أكثر منه للتصميم . وهو أيضاً مجاني للجميع . والملخص أن كل البرامج متساوية . وليس البرنامج من يصنع المجسم المثالي .. بل اليد التي تلعب بالفأرة بجهاتها لإيصال الفكر إلى البرنامج .
- برأيك الشخصي ، من أفضل ... هل هي البرمجة من البداية .. أم إستخدام محركات جاهزة ؟
الأفضل أن تقوم بالإكمال أو إستخدام الجاهز .. مشكلتنا نحن العرب .. نقول أننا لا نثق ولا نريد محركات جاهزة ... ونبدأ من الصفر .. وفي مرحلة 75% .. نفتر وننسى الأمر .. ويأتي غيرنا من العرب ليعيدوا نفس الخطأ ويبدأو من الصفر .. لذلك تجدنا نحن العرب متأخرين في هذا المجال ، لا مانع في إكمال ما بدأه الآخرين .. أو حتى إستخدام الجاهز .. فهناك هدف ومهمة من لعبتك يجب أن تصله .. لا يهم كيف تصله ولكن يجب أن تصله .
- ما هي الكتب التي تنصح بها لمريدي الدخول في مجال برمجة الألعاب ؟
أتوقع أن هناك الكثير من الكتب اللتي تتحدث عن هذا الموضوع ، وهي بشكل أساسي إنجليزية وتحتاج للغة قوية . قد تجد أفضلها
هنا .
- بالنسبة للذكاء الاصطناعي،ما هو؟،وهل يلزمه لغة برمجة مخصصة ؟
الذكاء الإصطناعي أو ما يعرف بال AI .. هي إمكانية إعطاء الكمبيوتر في إتخاذ القرارات .. وبالتالي محاكات الواقع .. ويتم ذلك عن طريق إعطاء الكومبيوتر الكثير من الإحتمالات .. وإعطاء القواعد ... وبالنهاية ترك المجال للكمبيوتر أن يقوم بالإختيار .. وكمثال على ذلك .. أن تقول له :
- إبن الأخ .. هو إبن عم الأخ .
- محمد إبن سليم
- أحمد أخو سليم .
- تامر إبن أحمد .
وبالتالي .. وبعد إعطاءه القاعدة والمعلومات ... سيتوصل الكمبيوتر لهذه النتيجة وحده وهي :
محمد إبن عم تامر .
و لا يشترط اللغة .. وإنما يشترط الفكر والمنطق في هذا الموضوع . وبإمكانك عمله على أي لغة ، و ال Prolog برنامج متخصص للذكاء .. لذلك يتم إستخدامه ، ولكن تستطيع عمل الذكاء في أي لغة برمجة أخرى .
- هل يلزم لبرمجة الألعاب تعلم برنامج جرافيك مثل الثري دي ماكس أو البليندر؟
ليس شرطاً .... فبرمجة الألعاب لا تقتصر على الثري دي .. هناك التودي .. أو التكست .. ولكن على الغالب في هذه الأيام أنه لا يوجد لعبة تخلوا من الثري دي .. ولذلك . يجب عليك أن تأخذ هذا الجانب بعين الإعتبار .. لا أقول لك أن تتعلم البرمجة والجرافيكس في وقت واحد .. قم بالتعلم والتعمق بالبرمجة .. وتعرف على شخص يغطي عليك نقصك بالتصميم وبالتالي يجوز أن تبرمج لعبة من غير برنامج .
- ما هي ال Light Map وما هي وظيفتها ؟
نعلم أنه بإمكاننا أن نخرج جودة عالية جداً في الأفلام لأنها تندرج تحت مفهوم Pre Time Rendered ، وأنه لا يمكننا إستخدام السابق للألعاب لأنها تحتاج وقت كبير جداً ، جاء مفهوم ال Light map ليعطينا أفضل النتائج ، ووظيفتها الأساسية هي إجراء حسابات الإضاءة وإخراجها على شكل صورة ، يتم لاحقاً إدراجها على الجسم لنخرج بجودة تقارب ال 70% من الأفلام ، ولكن بدأ هذا المفهوم بالتنحي تدريجياً مع ظهور حزمة جديدة من علم صناعة الألعاب ، وهو ما يسمى بال Real Time Shadow أو Stincle Shadow ، مع ال Shader المتخصصة بذلك ، ويبقى الفارق بين إستخدام خرائط ال Light Map وال Stincle Shadow مسألة مواصفات أفضل وأقوى ، فالأول لا يحتاج لمواصفات عالية ، بينما الثاني يحتاج لمواصفات فوق العادية لأنه يعتمد على حسابات أكثر .
- ما هو الشيدر Shader وما هي أنواعه وفروقاتها ؟
هناك كود يكتب يسمى Shader ، الوظيفة الأساسية له هو إعطاء المجسم القدرة على إظهار نفسه إذا وقع عليه الضوء . وهو ما يسمى ال Material ببرامج التصميم صلاصية البعد كالمايا والماكس . وهو غالباً يتم بصيغة معينة .. كما أننا لو قلنا أن هذا كود جافا .. وهذا كود فيجوال بيسك .. طالما حققا نفس الغرض فهما سواء وهما وسيلة ولكن يختلف الموضوع من طريقة ترجمته
هناك 3 أنواع وهم :
- CG : وهو يستخدم من كلا المكتبتين الدايريكت إمس والأوبين جي أل .. وهو يدعى بتمكنه من فهم الإثنين ب cross-platform .
- GLSL : وهو خاص عندما تستخدم ال OpenGL .
- HLSL : وهو أيضاً خاص عندما تستخدم ال DirectX .
تستطيع بالسابق تنفيذ أي شيدر تختاره فكلهم يعملوا على ال GPUs .
إذا كنت ترغب في الخوض بالموضوع أكثر .. فعليك بهذه المقالة :
http://www.gamedev.net/community/for...age=1?
من أهم الشيدر المعروفة : Normal Map ، Displacement ، Post Processing -DOF,Bloom