مشاهدة النسخة كاملة : كيف تصمم الألعاب؟ ادخل واتعلم
عجيل1989
26-02-2003, 12:16 AM
فكرت في يوم من الأيام كيف تم تصميم هذي الألعاب 0000
طيب ما خطرت في بالك فكرة انك تسوي لعبة و تخلي اصحابك يلعبوها
و يعملو فيها مباريات وتحديات
أنا شخصيا لا اعتقد ان فية احد هنا في منتدي الألعاب خطرت ببالة فكرة مثل هذي (ممكن يكون فية احد بس بتاكيد عددهم قليل)
يا شباب أنا اعرفكم و اعرف ان الموضوع لو عجبكم راح تطيحو فية ردود اما لو العكس (بتعطوني تنطنيشة كبيرة)
هل ابدا ام لا
هل عندكم استعداد تسمعوني؟
يكفيني يا شباب رد واحد فقط
بس علشان اتأكد انكم تبون تسمعوني
البداية بعد أول رد حتي اتأكد ان تعبي لن يضيع هباء؟
اخوكم عجيل.....:D :D :D
خادم المرسى
26-02-2003, 12:38 AM
أهلين أخي عجيل ومن منا لايرغب في التعلم
انا من ناحيتي يسعدني أن أتعلم منك كيفية أن أعمل أو أنشئ لعبة والكل راح يستفيد بإذن الله تعالى .
تقبل مني أحلى تحية أيها الخطير
sokoy
19-03-2003, 09:46 PM
بالنسبة لي أن متلهف على تعلم على اي شئ جديد خاصتاً في مجالات التشويق الكرتونية
عجيل1989
31-03-2003, 12:43 AM
يا شباب انا اسف على الغيبه الطويله والبدايه الان
عجيل1989
31-03-2003, 12:49 AM
الجزء الاول:
السلام عليكم
نبدا ...................
سأحاول بقدر الأمكان اختصار الكلام و عدم كتابة مصطلحات انجليزية
من المعروف أن الألعاب لها انواع عديدة روائية أو مغامرات او استراتيجية الخ
ومن المعروف ايضا انها جميعا تعتبر تطبيقات و تعمل مثل اي برنامج علي الكومبيوتر او أجهزة الألعاب
كل و احدة من الأنواع تختلف في اسلوب تصميمها
و بداية سنحتاج لمعرفه بعض المعلومات
عندما نشغل لعبة لنفترض علي الكومبيوتر(علي اساس الشمولية) ماذا يحدث
انت كل ما قمت بة في لحظة معينة هو النقر مرتين علي ايقونة
لنتابع خطوات الحدث
ترسل اشارة مقاطعة من وحدة التخزين (هارد او سي دي الخ) الي شريحة (الأتصال المباشر بالذاكرة) dma الموجودة في اللوحة الأم تطلب فيها تهيئة مكان في الذاكرة لأستقبال البيانات الأولية لتشغيل واجهة العرض للعبة ثم تقوم بدورها بحجز مكان في الذاكرة و تضع فية الأوامر اللازمة و التي يستقبلها المعالج و يقوم بتجهيز مجموعة من الصور مخزنة داخل امكان معينة في اللعبة ثم الي ذاكرة العرض الموجودة في كارت الشاشة
و التي يقوم بتنسيقها معالج كارت الشاشة ثم ارسالها الي ذاكرة مؤقتة موجودة في الشاش نفسها ثم يتم عرضها بالتتابع حيث لو كانت قدرة العرض في الشاشة 70 hz فسوف تعرض 70 صورة متتالية في الثانية
و هكذا لباقي اللعبة
(تنبية أعرف ان الجزء المكتوب سابقا يحتوي معلومات ناقصة و لكني اثرت عدم ذكرها لصعوبة فهمها )
لمن يريد معرفة تفاصيل يخبرني هنا
و الآن نكمل
أذن فأن الألعاب تتأثر بشكل كبير للغاية بالمكونات المادية للجهاز اي المعالج و شرائح اللوحة الأم بالأضافة للرامات و كارت الشاشة و الشاشة ذاتها
في الحقيقة ان تصميم لعبه و انزالها تجاريا (يعني زي العاب psx او غيرها ) تحتاج الي فترة من سنة الي 5 سنوات بالأضافة الي فريق كبير من أفضل المبرمجين و المصممين و كتاب القصص الخ
يصل عددهم من 10 الي 200 شخص يعملون 18 ساعة في اليوم
و لكن أقل ارباح للعبة الواحدة تفوق المائة مليون دولار
طبعا سنتكلم كيف صممت لعب شهيرة مثل ريزدنت ايفل او كواك او تومب رايدر الخ
و الآن لنري انواع المعالجات و ماهي اقصي قدر لكل معالج
اولا معالجات 8 بت
ظهرت في نهاية السبعينات وبداية الثمانينات و اسرع معالج هو z80 من انتاج شركة زايلوج واستخدم في اجهزة كثيرة مثل msx و العائلة و الأتاري و النيو جيو و كان أقصي قدر لهذا المعالج رامات مساحتها 265 كيلو بايت و كارت شاشة يحتوي تيونر للعرض علي التلفاز و قدرة عرضة هي 35 هرتز و العابة كانت من الأنواع ثنائية الأبعاد تفوقت فيها شكة كونامي و كانت تشترك جميعا بأستخدام البرمجة بالأشكال الشبحية و الطبقات(و سيجيء شرحها فيما بعد)
ثانيا معالجات 16 بت
ظهرت في منتصف الثمانينات و انقرضت بسرعة كبيرة وأسرع معالج كانت سرعتة 32 ميجا هرتز
و برعت فيها شركة موتورولا و لنأخذ مثالا السوبر نينتندو و السيجا بأنواعة
و ظهرت اسلايب برمجية ممتازة و هي اسلوب الأراضي او plate form (بالعربي بلات فورم)
و استخدمت في برمجتها طريقة التحريك المتتالي (سيتم شرحها فيما بعد) و تفوقت شركات كثيرة في الألعاب و لكن لم تستطع اي شركة الأحتفاظ بالصدارة لوقت طويل
ثالثا معالجات 32 بت
بدأ ظهورها في نهاية الثمانينات واستمرت حتي الأن و برعت شركة موترولا و انتل فيها و استمرت في منافسة شرسة حتي عام 98 حيث تقدمت موتورولا بمعالج 64 بت في اجهزتها power pc و استخدمت في جميع أجهزة الألعاب الحديثة وهنا ظهرت مصطلحات الوسائط المتعددة و دمج الأفلام في الألعاب و ظهت اجهزة psx وسيجا سايترن الخ و استخدمت أسايب كثيرة في البرمجة (نذكرها في وقتها)
رابعا معالجات 64 بت
ظهرت في سنة 95 و برعت فيها شركة موتورولا و دخلت عالم risc و cisc بجدارة و تبعتها انتل فيما بعد و لكنها لم تستطع اللحاق بها حتي الآن وتستخدم غالبا في اجهزة الخوادم servers و السوبر كومبيوتر
وبالنسبة لأجهزة الألعاب استخدمت في نينتدو 64 ثم في ps2 و الأجهزة الأخري
و الغريبة ان معالج risc ذو سرعة 66 ميجا هرتز يكافئ في قوتة معالج انتل بنتيوم 3 بسرعة 400 ميجا هرتز بل و رما يفوقة
و هنا ظهرت اسلايب محركات ثلاثية الأبعاد و الحقيقة الأفتراضية و خوذات البعد الثالث و غيرها
خامسا معالجات 128 بت
لم تظهر حتي الأن في الآسواق و لكن تشير التقارير انها ستستخدم في جهاز ps3 و أجهزة phantom و اخري لا نعرفها و تشير ايضا الي انها لن تظهر في السوق بشكل واضح الا في 2006
و نكمل غدا انشاء الله
انتظرونا يوجد المزيد
عجيل1989
31-03-2003, 12:50 AM
الجزء الاول:
السلام عليكم
نبدا ...................
سأحاول بقدر الأمكان اختصار الكلام و عدم كتابة مصطلحات انجليزية
من المعروف أن الألعاب لها انواع عديدة روائية أو مغامرات او استراتيجية الخ
ومن المعروف ايضا انها جميعا تعتبر تطبيقات و تعمل مثل اي برنامج علي الكومبيوتر او أجهزة الألعاب
كل و احدة من الأنواع تختلف في اسلوب تصميمها
و بداية سنحتاج لمعرفه بعض المعلومات
عندما نشغل لعبة لنفترض علي الكومبيوتر(علي اساس الشمولية) ماذا يحدث
انت كل ما قمت بة في لحظة معينة هو النقر مرتين علي ايقونة
لنتابع خطوات الحدث
ترسل اشارة مقاطعة من وحدة التخزين (هارد او سي دي الخ) الي شريحة (الأتصال المباشر بالذاكرة) dma الموجودة في اللوحة الأم تطلب فيها تهيئة مكان في الذاكرة لأستقبال البيانات الأولية لتشغيل واجهة العرض للعبة ثم تقوم بدورها بحجز مكان في الذاكرة و تضع فية الأوامر اللازمة و التي يستقبلها المعالج و يقوم بتجهيز مجموعة من الصور مخزنة داخل امكان معينة في اللعبة ثم الي ذاكرة العرض الموجودة في كارت الشاشة
و التي يقوم بتنسيقها معالج كارت الشاشة ثم ارسالها الي ذاكرة مؤقتة موجودة في الشاش نفسها ثم يتم عرضها بالتتابع حيث لو كانت قدرة العرض في الشاشة 70 hz فسوف تعرض 70 صورة متتالية في الثانية
و هكذا لباقي اللعبة
(تنبية أعرف ان الجزء المكتوب سابقا يحتوي معلومات ناقصة و لكني اثرت عدم ذكرها لصعوبة فهمها )
لمن يريد معرفة تفاصيل يخبرني هنا
و الآن نكمل
أذن فأن الألعاب تتأثر بشكل كبير للغاية بالمكونات المادية للجهاز اي المعالج و شرائح اللوحة الأم بالأضافة للرامات و كارت الشاشة و الشاشة ذاتها
في الحقيقة ان تصميم لعبه و انزالها تجاريا (يعني زي العاب psx او غيرها ) تحتاج الي فترة من سنة الي 5 سنوات بالأضافة الي فريق كبير من أفضل المبرمجين و المصممين و كتاب القصص الخ
يصل عددهم من 10 الي 200 شخص يعملون 18 ساعة في اليوم
و لكن أقل ارباح للعبة الواحدة تفوق المائة مليون دولار
طبعا سنتكلم كيف صممت لعب شهيرة مثل ريزدنت ايفل او كواك او تومب رايدر الخ
و الآن لنري انواع المعالجات و ماهي اقصي قدر لكل معالج
اولا معالجات 8 بت
ظهرت في نهاية السبعينات وبداية الثمانينات و اسرع معالج هو z80 من انتاج شركة زايلوج واستخدم في اجهزة كثيرة مثل msx و العائلة و الأتاري و النيو جيو و كان أقصي قدر لهذا المعالج رامات مساحتها 265 كيلو بايت و كارت شاشة يحتوي تيونر للعرض علي التلفاز و قدرة عرضة هي 35 هرتز و العابة كانت من الأنواع ثنائية الأبعاد تفوقت فيها شكة كونامي و كانت تشترك جميعا بأستخدام البرمجة بالأشكال الشبحية و الطبقات(و سيجيء شرحها فيما بعد)
ثانيا معالجات 16 بت
ظهرت في منتصف الثمانينات و انقرضت بسرعة كبيرة وأسرع معالج كانت سرعتة 32 ميجا هرتز
و برعت فيها شركة موتورولا و لنأخذ مثالا السوبر نينتندو و السيجا بأنواعة
و ظهرت اسلايب برمجية ممتازة و هي اسلوب الأراضي او plate form (بالعربي بلات فورم)
و استخدمت في برمجتها طريقة التحريك المتتالي (سيتم شرحها فيما بعد) و تفوقت شركات كثيرة في الألعاب و لكن لم تستطع اي شركة الأحتفاظ بالصدارة لوقت طويل
ثالثا معالجات 32 بت
بدأ ظهورها في نهاية الثمانينات واستمرت حتي الأن و برعت شركة موترولا و انتل فيها و استمرت في منافسة شرسة حتي عام 98 حيث تقدمت موتورولا بمعالج 64 بت في اجهزتها power pc و استخدمت في جميع أجهزة الألعاب الحديثة وهنا ظهرت مصطلحات الوسائط المتعددة و دمج الأفلام في الألعاب و ظهت اجهزة psx وسيجا سايترن الخ و استخدمت أسايب كثيرة في البرمجة (نذكرها في وقتها)
رابعا معالجات 64 بت
ظهرت في سنة 95 و برعت فيها شركة موتورولا و دخلت عالم risc و cisc بجدارة و تبعتها انتل فيما بعد و لكنها لم تستطع اللحاق بها حتي الآن وتستخدم غالبا في اجهزة الخوادم servers و السوبر كومبيوتر
وبالنسبة لأجهزة الألعاب استخدمت في نينتدو 64 ثم في ps2 و الأجهزة الأخري
و الغريبة ان معالج risc ذو سرعة 66 ميجا هرتز يكافئ في قوتة معالج انتل بنتيوم 3 بسرعة 400 ميجا هرتز بل و رما يفوقة
و هنا ظهرت اسلايب محركات ثلاثية الأبعاد و الحقيقة الأفتراضية و خوذات البعد الثالث و غيرها
خامسا معالجات 128 بت
لم تظهر حتي الأن في الآسواق و لكن تشير التقارير انها ستستخدم في جهاز ps3 و أجهزة phantom و اخري لا نعرفها و تشير ايضا الي انها لن تظهر في السوق بشكل واضح الا في 2006
اخوكم عجيل
عجيل1989
31-03-2003, 12:52 AM
الجزء الثاني:
تكلمنا عن انواع المعالجات و يمكننا الآن ان نفهم سر لماذا العاب سيجا مثلا لا تعمل علي جهاز صخر
والان هيا بنا نكمل
قلنا سابقا ان الآلعاب تتأثر ايضا بقدرة عرض كارت الشاشة و سنستعرض كروت الشاش من الأقدم الي الأحدث و نعرف سر الفروق في قوة العرض بين جهاز مثل نيو جيو وصخر او السيجا و السوبر نينتندو
مع انهما يستخدمان معالج من نفس الطراز
أولا كروت الشاشة الأولية
ليس لها اسم تجاري محدد و كانت توضع بشكل مبني داخل الجهاز أي بلحام و كانت سعتها 16 كيلو بايت
و لم تكن قادرة علي العرض علي التلفاز و كان يتم عرضها علي شاشات ذات لونين فقط
ابيض و درجات المادي او درجات الأخضر او درجات الأحمر
لم تظهر عليها العاب اساسا و لكن كان لها قدرة علي عرض النصوص الأنجلزية علي الشاشة
ثانيا كروت الشاشة الأولية المطورة
و تتراوح سعتها من 32 كيلو بايت كما في الأتاري 2400 الي 256 كيلو كما في اجهزة السيجا القديمة
و كانت قادرة علي عرض مستوي الوان يتراوح ما بين 16 لون و 256 لون و لها القدرة علي العرض علي التلفاز
و لم تكن قادرة علي عرض ملفات الفيديو حتي هذة اللحظة لم يتمكن أحد من ضم ملفات صوتية اللي الألعاب بشكل واضح و كان الصوت يعبر عن طريق نبضات متتالية و يظهر بشكل آلي
ثالثا عائلة ال ega
تتراوح سعة ذاكرتها من 512 كيلو بايت و حتي 1,5 ميجا و ظهرت اساليب كثيرة لضم ملفات صوتية متزامنة مع الصور و لكن لم توجد اية قدرة علي عرض الفيديو
تلت هذة العائلة super ega ثم vga ثم super vga و كانت أقصي سعة للذاكرة هي 4 ميجا بايت و كانت قادرة علي عرض ملفات الفيديو بسهولة و ظهرت عليها اعداد لا بأس بها من الألعاب ثلاثية الأبعاد
مثل دووم و قلعة وولفنشتين وكواك الخ
و استخدمت هذة الكروت في ps1 و سيجا سايترن
رابعا كروت 3d fx
أعتبرت هذة الكروت ثورة في عالم الجرافيك و كان من مميزاتها هو احتوائها علي معالج داخلي و هي بذلك لا تسبب اي حمل علي معالج الجهاز و لكن كان يعيبها انها لا تشغل سوي العاب معينة كما انها غير قابل للتطوير و لذلك انقرضت سريعا و كانت مساحتها تتراوح ما بين 8 ميجا و 32 ميجا
خامسا كروت d3d
وهي كروت تستخدم برامج لتسريع اداء الرسوميات و هي بذلك تعتبر اضعف من 3dfx و تحمل علي معالج الجهاز
و لكن طالما انها تعتمد عالي برامج اذن كلما زادت سرعة المعالج زادت سرعة البرامج زادت قدرة كارت الشاشة
و بذلك فهي تساير العصر
و ظهرت عليها عدة تكنلوجيات مثل renders و open gl
و سندرس ما هية كل واحدة بالتفصيل لاحقا
الآن نأتي الي الرامات
أولا كلمة ram تعني randume acsess memory او ذاكرة الوصول العشوائي و تقسم في الداخل الي مجموعة بلوكات (بصراحة لا اعرف الترجمة العربية ل block )
في حين ان الهارد يقسم الي كلاسترز clasters و هناك فرق
كل بلوك يعبرر عنة بقية مكتوبة برقم سداسي عشري أي هكذا
0 1 2 3 4 5 6 7 8 9 a b c d e f
حيث ان الأرقام من a الي f تعبر عن الأرقام من 10 الي 15
اذن الذاكرة التي قيمتها 64 كيلو بايت تعبر من الأرقام من الي ffff
و طبعا الذاوكر الرهيبة التي نستخدمها تعمل بأسلوب تقسيم التقسيم (لن اشرحة حتي لا تتعقدو)
المهم انة يجب تحميل البرامج بمنتهي الدقة في المكان الكافي و الملائم و عدم تداخل البيانات و هذا ما يتحكم بة شرائح اللوحة الأم و 90% من اسباب فشل وندوز هو عدم تحميل البرامج في المكان الصحيح اي تحمل برامج فوق برامج أخري فتعطي الأخري قيم خاطئة للبرنامج الأول فيحدث خطأ و يحاول الوندوز تلافي الخطأ فيمسح القيمتين فيحدث خطأ أكبر و يأخذ الجهاز بالبحث عن القيم الضائعة و يستمر حتياغلاق الجهاز و اعادة تشغيلة مرة اخري
يوجد انواع كثيرة من الرام و لكن 90% منها لا يستخدم الآن المستخدم حاليا 4 انواع
1 -sim ram
اختصار لكلمة simulation ram وهي رامات لا تزيد سرعة نقل البيانات بها عن 33 ميجا هرتز
قديمة وتستخدم مع بنتيوم 1 او dx و sx أكبر مساحة لها 23 ميجا و تعمل بالتزامن مع cash memory
2-sd ram
اختصار لكلمة static diynamic ram ولا تزيد سرعة نقل البيانات بها عن 133 تعمل من بينتيوم 1 الي3 و اكبر مساحة معروفة لها هي 512 ميجا (شريحة واحدة ) و تتعامل بأسلوب التزامن مع سرعة المعالج بالكاش
3- dd ram
اختصار لكلمة direct diynamic ram سرعة نقلها للبيانات يتساوي مع 1/2 سرعة نقل المعالج للبيانات او نفس السرعة في الموديلات الحديثة
و تستعمل الكاش في عمل التزامن مع المعالج او عدم التزامن بالسرعة المتطابقة للمعالج
4- rd ram
اختصار لكلمة randum diynamic ram سرعة نقلها يتساوي مع نقل المعلج او اسرع منة
و لا تحتاج الي التعامل مع الكاش لونها معدني لا يشبة اي من الأنواع السابقة
قوية و لكن غالية الثمن و لا تقبل ان يعمل معها اي من الأنواع السابقة
في الجزء الثالث سوف نبدأ ظريقه الصناعه
عجيل1989
31-03-2003, 12:54 AM
الجزء الثالث:
تحدثنا عن المعالجات ثم الذواكر ثم انواع كروت الشاشة وحان الوقت لنتحدث عن الشاشة ذاتها
طبعا من المعروف ان الشاشة جزء يعتبر منفصل عن جهاز الحاسوب و لذلك فهو يتعامل معها بواسطة كارت الشاشة و التي تحدثنا عندها سابقا
الشاهد من هذا الموضوع أن كما ان كات الشاشة يؤثر في وضوح الرؤية من عدمها فكذا الشاشة نفسها ايضا تؤثر
كيف؟
سنري ذلك الآن
أحصل علي عدسة مكبرة من أي محل (كل شيء بنصف ريال)
ثم قرب هذي العدسة من شاشتك لا حظ و جود شبكة مربعات متجاورة ذات شكل سداسي
أن أقصي عدد لهذه لمربعات هو أقصي وضوح تصل لية شاشتك و غالبا ما يكون 1024×768
لشاشة 14 "
هذا يعتبر اقصي حد تستطيع الشاشة توضيحة بدون حدوث تداخل بين نقاط الشكل المراد توضيحة
ماذا تقصد بنقاط الشكل؟
كل شكل يتم عرضة علي الشاشة يكون في الأصل عباره عن مجوعة نقاط متجاورة تسمي كل نقطة منها ببكسل
و البكسل هو اصغر و حده لعرض الألوان في الشاشة و يتم حساب الألوان في 24 بت 8 للأحمر و 8 للأصفر و8 للأزرق
و تغيير كل من قيم هذة البتات (جمع بت ) يغير من درجة هذا اللون
و طبعا كلما زات عدد نقاط الهيكل الشبحي (أقصد الشيء المرسوم علي الشاشة) زادت درجة وضوحة
و يتم وضع النقاط علي الشاشة مثل الجداول تماما اي بحساب موقع الطول و العرض
غريبة لم يسألني احد محورين فقط أذن اين المحور الثالث (هذة ليست ثلاثية الأبعاد)؟
و أرد علية بأن المحور الثالث والذي يحدد درجة القرب و البعد غير موجود و لكن يتم حسابة بتحريك النقطة الي الأعلي بزاوية 20 -35 درجة و يتم مسح و اعادة رسم الشكل مرات متتابعة بعدد صور عرض الشكل و يكون من 60 صورة في الثانية وحتي 200 صورة في الثانية
يردالسائل لم افهم كيف مسح ورسم الشكل ؟
أد علية هذا ليس وقتة سوف نشرحها بالتفصيل عند بداية محركات البعد الثالث
و الآن لنكمل
و تحدد عدد نقاط العرض بحاصل ضرب الطول في العرض
اي عندما يكون الطول 640 نقطة و العرض 480 نقطة فأن مستوي العرض 640×480 (وهذة الدرجة هي اقصيما يتحملة محرك العاب dos)
سؤال آخر:
ولكنك قلت ان الشاشة تتحمل حتي 1024×768 هل معني ذلك ان الصورة تصبح صغيرة في وسط الشاشة و لكن الصورة في العاب الدوس تملأ الشاشه كاملة (اريد ان افهم)؟
كل ما يحدث هو ان البكسل الواحد يأخذ ما مساحتة مثلا 6 بكسلات و بهذا فأن الصورة تكبر و لكن تظه بشكل مسنن (ي تظهر الخطوط المائلة بشكل مربعا متجاورة)
و هذا ما يسبب عدم ظهورالصورة بالشكل الناعم الذي يقربك للوقع اكثر
(اعتقد الآن فهمنا لماذا لعبة ريزيدنت ايفل 3 تظه علي الكومبيوتر بشكل اجمل منة علي الps1
عجيل1989
31-03-2003, 12:59 AM
الجزء الرابع:
أولا طريقة التصميم بالأشكال الشبحية
(ghost garph)
يتم التصميم في هذة الحاله بسم الأشكال كمجموعة من الطبقات فوق بعضها البعض و لا يحق لأي طبقة سوي الحصول علي درجة لون واحد فقط
كيف ؟
هكذا يتم تصميم لعبة مكون من 32 طبقة
و لهذا فأنة عند تحريك القارب تظهر خلفة المياة الزرقاء و لكن لو كانت الرسمة صورة واحدة
فعند تحريكالقاربسيطبح مكانة مساحة بيضاء او بلون الخلفية
أذن كان يتم تخطيط المراحل اولا ثم و ضع لأشكال المتحركة دوريا (اي بشكل دوري متتالي)
ثم و ضع الشكل المطلوب تحريكة بواسط المستخدم
و يتم عمل معادلة دقيقة لجميع الحالات التي يتعرض لها الجسم المتحرك
كيف يصبح شكلة و حركتة عند الضرب و عند الركض او المشي الخ
مثال
(انت الآن تلعب لعبة مثلا كنجز فالي (او وادي الملوك)(علي جهاز صخر))
ضغطت علي زر <-
يحدث ان اللاعب تحرك بمقدار خطوة
تعالو لنصور هذا الحدث بتصوير بطيء 500 مرة
و نبدا الحدث بضغطك علي الزر
1- قمت بتلميس قطبين احدهما موجود في الزر و الآخر موجود في شريحة الذراع
2- تحكت اشاة مقدارها 5 فولت متوجة ناحية الوصلة (فيشة الذراع)
3- يتم تجميع الأشارات داخل ذاكرة صغيرة تدعي buffer تميهدا لنقلها الي الذاكرة ram
4- تخزن البيانات بمكان معين داخل الرام ثم تبعث الي المعالج و يقوم بتغييرقيمها حسب برنامج معد لذلك
5- تعود القيم متب بشكل ما الي الرامة مؤثرة بذلك علي قيم كانت موجودة مسبقا بالرام تحدد الوضع الذي سبق ضغطك علي الزر
6- يتم استقبال البيانات مرة اخري الي المعالج الذي يقوم بتعديل قيمها لتناسب شاشة العرض
7- تنتقل البيانات من المعالج الي ذاكرة شاشة العرض و التي ترتب تزامنها مع الشاشة ثم يتم العرض و ذلك يحدث مرات عديدة حتي يتغير الشكل تماما و الوضع ايضا
عجيل1989
31-03-2003, 01:00 AM
الجزء الخامس:
عرفنا كيف تصمم الخلفيات في الألعاب
و الآن لنأتي و نعرف كيف تصمم ابطال اللعبة و الأعداء و غيرهم
قبل هذا يجب علي المصمم ان يمتلك العملومات الكافية عن هذة الأشياء
1-جميع حالات تحرك الشكل (كيف يصبح شكلة عندما يموت او عندما يمشي الخ)
2- جميع حالات تواجد الشكل علي الشاشة
3- الأماكن التي لا يستطيع الشكل دخولها مثل الحوائط
4-مصفوفات الدوران للأشكال و الأرتفاع و الأنخفاض
و الأن نتعرف علي تصميمات العدو:
يتم رسم العدو في هذة الحالة بأستخدام طبقة واحدة فقط شبحية و ذلك لتوفير المساحة في الذاكرة (تذكر ان اقصي مساحة للذاكرة آن ذاك 265 كيلو بايت فقط)
و يتم تصميم حركة الشكل علي اساس الحركة الدورية او التي تكرر دائما
و تقريبا 90 % من الألعاب تستخدم هذا الأسلوب
اذن كيف نري ان العدو يراك و يهاجمك و ترك مكانة
هذا لأنك قد قمت بتطبيق جزء من البرنامج أي عبرت شيء ما او قتلت شيأ اخر و بهذا يحول برنامج تحريك الشكل الي حالة اخري و هي حالة متابعتك حتي تصل الي حد الحالتين (اما تطبيق برنامج فيتم ازالة العدو من الذاك و بذلك نعتبرة مات او يعود العدو الي و ضعة مرة اخري اي الحركة الدورية من جديد)
كيف يتحرك الشكل؟
كل ما في الموضوع هو قيام البرنامج بمسح قيم نقاط الشكل و لنفتض ان رجل واقف ثم اعادة رسمة في حالة فتح بين الساقين ثم مسحة ورسم مرة اخري مع اغلاق الساقين ولكن بأضافة قيم زيادة علي لمحور x اذا كان التحرك افقي او محور y اذا كان التحرك رأسي
و الآن لنتعرف علي تصميمات الشخصية (او بطل اللعبة)
يمكن رسمها بعدة طبقات من طبقات الشكل الشبحي و ذلك لأنة شكل واحد و لن يأخذ ذاكرة كبيرة
و يم تحريكة بأستخدام الشروط
اي اذا ضغط الزر الفلاني ينفذ برنامج معين و اذا ضغط زر آخر ينفذ برنامج اخر و كلهم يحددو الحركة بنفس الفكرة السابقة (المسح و اعادة الرسم)
و لكن يتوقف تنفيذ برنامج اذا اسطدم بالحائط او سقط في حفرة فيتم اعادة البرنامج من مكان معين او chick point
عجيل1989
31-03-2003, 01:02 AM
الجزء السادس:
طبعا لا يعقل و لكن الغريبة ان الأتاري القديم و الفاملي يستخدمون نفس العائلة من المعالجات فما هو المانع؟
المانع هنا فرق الذاكرة و فرق كارت الشاشة
و هذا ما تسبب في عدم عمل الأولي علي الثانية او العكس (و لذلك فلقد فضلت سرد انواعها ) لنتعرف سويا عليها بأسلوب علمي سهل بعيد عن مصطلحات الكتب و نفهم سبب عدم وجود لعبة 3 ابعاد في جهاز صخر مثلا!
و الآن ما رأيكم لو عدنا لموضوعنا
النوع الثاني من اسلوب الأشكال الشبحية في تصميم الألعاب
أسلوب الغرفة المتحركة
هذا الأسلوب استخدم ايضا مع الأجهزة القديمة مثل صخر و صممت بة العاب مثل zanac وknight mare
هنا كانت الخلفية تتحرك دائما الي الأعلي و بعض الألعاب الي اليمين مثل nemsies
الطائرة الفضائية
تم و استخدمت هنا لأول مره اسلوب الصور المتحركة frame و كان عدد الفريمات لجهاز تلفزيون ntsc هو 60 في حين انها كانت 50 فقط في حالة pal
هنا لم يكن اللأعب هو الذي يتحرك في المراحل و لكن كانت المرحلة تتقدم بة رغما عنة يحق لة التحرك في معظم اجزاء الشاشة غلي خلفية دائمة الحركة
و كان تصميمها يتم بأستخدام برنامجين متوازيين
الأول يتحكم باللاعب و الأعداء و الثاني يتحكم بتحريك الخلفية التي ربما تتوقف عند الوصول الي نهية المرحلة او عند موت البطل
والآن نأتي الي
النوع الثالث من طرق التصميم بالأشكال الشبحية
التصميم بالغرف المبرمجة
تعتمد علي نفس الفكرة السابقة و لكن يتوقف تحرك الخلفية علي اساس تحرك اللاعب و نسرد مثالا لذلك لعبة كونترا علي جهاز الفاملي و لعبة ماريو ايضا
وكانت تتم برمجتها عن طريق برنامجين احدهما للشخصية و الآخر لتحريك الخلفية و لكن الأختلاف هنا يكمن في الشروط المستخدمة اي اذا حصل الحدث الفلاني نفذ البرنامج و اذا حدث حدث آخر اوقف التنفيذ حتي يحدث الحدث الأول مرة اخري
و ختاما فأن اسلوب الأشكال الشبحية كان من افضل الأساليب في برمجة الألعاب ثنائي الأبعاد
و ظهرت بعده اسلوب جديد في البرمجة و كان هذ المرة اقرب للشكل ثلاثي الأبعاد
سوف نتعرف عليه سويا في المرة القادمة
و قبل ان اختم لدي لكم مفاجئة فظيعة
برنامج لتصميم الألعاب ثنائية الأبعاد و سهل جدا في الأستخدام
و لا يطلب منك خبرة في البرمجة (100%)
عجيل1989
31-03-2003, 01:07 AM
الجزء السابع:
الآن هيا بنا الي اسلوب جديد استخدم في 70 % من العاب السيجا و العاب السوبر نينتندو
اسلوب الغرفة المتحركة ذات الأرتفاع الثالث
و اقصد بالأرتفاع الثالث هنا (اي انة كانت محاولة لأستخدام البعد الثالث في الأشكال الشبحية و كنت نجم عن ذلك حدوث تشوة في الصوة جعل البعد الثالث و كأنة ارتفاع
مثل نينجا ترتلز و سولار مون
كان يتم برمجة هذا النوع من الألعاب بأستخدام الأشكال الشبحية ايضا و لكن مع ارتفاع مساحة الذاكرة ساعد كثيرا في توضيح الصور و كان مسموحا للجسم الشبحي (الاعب) ان يتحرك الي اعلي ايضا معبا بذلك عن البعد الثالث
لا حظ ان الفكرة و احدة و لكن ما تتفتق عن عقول المصممين كان يوظف هذة الفكرة بأشكال مختلفة تجعلك تحس بأنهم يستخدمون لغاتبمجةلا نعرفها و لكن كانت اللغة المستخدمة في جميع الأنواع السابقة هي الباسكال
و الباسكال ++ و بالطبع (تختلف عن c و c++ ) مع ان تعليماتهما مشتابة في اسلوب الكتابة البرمجية
هذا بالنسبة للكومبيوتر ولكن كيف كانت تحول هذة الألعاب الي كارتردج (او شريط)
1- يتم تحويل اللعبة من ملف تصميمي (ملف مكتوب بلغة ما) الي لغة التجميع او الأسمبلي
بواسطة برنامج معروف بأسم disassmipler
و طبعا لكل معالج disassmpler خاص بة (لأختلاف الأوامر و الميكرو كود من معالج الي آخر)
وطبعا عندما يعرف برنامج الأسمبلي للعبة يتم تصميم هاردوير مطابقة لتعليمات برنامج اللعبة
(وهذة ميزه في لغة الأسمبلي)(انها لغة متدنية المستوي اي قريبة الي مكونات الجهاز )
و يمكن تحويل اوامرها الي دوائر اليكترونية ليست معقدة جدا
و طبعا تجرب م يتم طباع التصميم وفي المصانع لعمل كميات من الشائح اللازمة ثم تجمع في مصنع و يتم اختبارها قبل اسالها الي تجار الجملة
و لكن في الحقيقة لا يوجد حتي هذا اليوم مصنع عربي قادر علي صناعة الشرائح الأليكترونية و هذا من اسباب تأخرنا
عجيل1989
31-03-2003, 01:11 AM
الجزء الثامن:
كما قلت سابقا
أن جميع الألعاب تصمم بأجهزة قوية جدا تدعي سوبر كومبيوتر ثمن الجهاز الواحد لا يقل عن 2 مليون دولار
و معالجاتة من نوعية 64 بت سرعتها لا تقل عن 20 جيجا اي اكثر من 10 أضعاف سرعة اسرع جهاز عندنا
طبعا لأنها كثية العدد وليست معالجا واحدا كما عندنا
و لذلك لتفادي dead locks او التهنيج
كل عائلة من المعالجات لها اوامرميكرو كود متشاب بين الجيل والآخر يعني هناك تشابة بين اوامر p3 و p2 و p4 و لكن الجيل الأحدث يحتوي تعليمات واوامر اكثر من الذي قبلة
اما معالج السوبر كومبيوتر فيدعي cisc أختصار لكلمة
complex instuctional set computer
و يحتوي علي جمييييع الأوامر لجمييييع المعالجات المطلوب عمل اللعبة لكي تعمل عليها
و بعد الأنتهاء من التصميم و التجربة علي الجهاز السوبر تتم الترجمة لكل جهاز علي حدة و الترجمة تعني تحويل ملفات البرنامج المكتوبة بلغة البرمجة الي ملفات تنفيذية
زي exe علي الوندوزو h علي اللينيكس و slus للبلايستيشن و غيرها
و تنزل النسخ الألفا لتجربتها علي اجهزة عادية مثل اجهزتنا و لكن في الشركة نفسها و عند نجاحها تنزل نسخ بيتا لتجربتها علي اجهزة الناس او ما نسمية بالديمو
و عندما تعطي تقارير تفيد بان اللعبة تعمل بالشكل المطلوب تنزل الي الأسواق وتجني الشركة الأرباح التي تفوق ارباح تجارة المخدرات 6 اضعاف ( اعفن لعبة تكلف 1 مليون دولار و ارباحها تصل الي 100 مليون
دولار و نحن ندفع السعر دون مناقشة)( يكفي حسد لحد كيذا )
و بهذة الطيقة يستحيل تقريبا ان تحول لعبة pc الي بلايستيشن طالما انك لا تمتلك البرنامج الأصلي للعبة
و لكن يمكنك تشغيل لعبة جهاز مثل البلايستيشن علي الكومبيوتر عندما تضيف الأوامر الناقصة الموجودة في معالج الpsx و غير موجودة في بنتيوم 3 في برنامج ( و هذا هو ما يفعلة برنامج المحاكي بالضبط)
اذن لو استطعت التوصل الي محاكي كومبيوتر علي البلايستيشن اي اسطوانة تجعلك تشغل العاب الكومبيوتر علي البلايستيشن فيمكنك في هذة الحالة فقط ان تشغل العاب الكومبيوتر علي البلايستيشن
و هناك طريقة اخري
يمكنك تفكيك اللعبة الي برنامج مكتوب بلغة الآلة (الأسمبلي) ثم تغير الأوامر بما يكافؤها للجهاز الثاني
ثم ترجمة اللعبة الي الجهاز الجديد
(و لكنك ستستغرق نصف عمرك في عمل هذة العملية لأن عدد سطور اللعبة عندما تكتب بلغة الآلة تزيد عن مائة بليون سطر)
أرجو انكم استفدتو يا شباب في الدرس الثاني سوف اشرح العاب البلات فورم
عجيل1989
31-03-2003, 01:14 AM
قبل ما نبدأ الدرس الجديد راح اعطيكم مهله تطرحون استفساراتكم واسألتكم وانشاء الله الثلاثاء نبدأ الدرس الجديد
عجيل1989
05-04-2003, 03:04 AM
وينكم يا شباب انا المن قاعد اعطي الدروس لنفسي؟؟؟؟؟؟
خادم المرسى
05-04-2003, 03:45 AM
أهلين بالأستاذ عجيل بارك الله فيك على ماتقدمه من شرح واضح وجهد جبار ولكن ثق يا أخي الحبيب إن هناك زائرون بالتأكيد سوف يستفيدون كثيرا ً من مواضيعك الشيقه فإلى الأمام أيها العبقري ولا تحرمنا من ألعابك الرهيبه .
عجيل1989
05-04-2003, 04:15 AM
مشكور يا خادم المرسى على الرد
ABDALLAH155
10-04-2003, 10:18 AM
مشكوووووووووووور
عجيل1989
11-04-2003, 10:43 PM
مشكور يا اخ عبد الله على الرد
vBulletin 3.7.1