يبدو ان الموضوع سينام قبل أن يبدأ
السلام عليكم
أخي أحمد أنا بحاول أشرح مثال بس أصبر علي إشوي
بس لاتنتضر من الأعضاء إنهم يقولوا شيء لأنك دخلت في مجال البرمجة مو التصميم
وعلى ما أذكر أن هناك مجموعة صغيرة بيستخدموا لغات البرمجة في هذا المنتدى
ولكن مادمنا إثنين فيصلح إنا نتناقش
وننتضر بقيت الأعضاء
السلام عليكمأخواني الكرام قبل أن نبدأ بشرح أي مثال أريد أن أوضح وأعطي فكرة عن الذكاء الإصطناعيللأسف أن أغلب الأعضاء يضنوا أن الذكاء الإصطناعي هو مجرد جمل شرطيةولذلك فقد يرى الكثير أنه من أبصط المشاكل اللتي تواجه المبرمج في ألعابهولكن هي في الحقيقة أصعب من ذلك بكثيرلكي يتضح الأمر دعونا نأخد بعض الأمثلة (طبعا في الألعاب الإستراتيجية)لنفرض أنك تريد من جيشك التوجه إلى نقطة معلومة بأقصر طريقفي هذه الحالةيوجد حلين وهو إما أنك تعمل خوارزمية بنفسك أو أن تستعمل خوارزمية عالمية لحل مشكلتكطبعا تعمل خوارزمية بنفسك هذه شيلها من راسك لأنك ماراح تستطيع أما إستخدام خوارزمية عالمية فهو أيضا ليس بالأمر السهل ولكن أبسط من الحل الأول بكثيرمثال آخرلنفرض أنك تريد من جيشك التوجه إلى نقطة غير معلومة بأقصر طريقفي هذه الحالةلاتستطيع إستخدام نفس الخوارزمية اللتي إستخدمت في المثال الأول وطبعا الحلول نفس الحلول للمثال الأول ولكن معا إختلاف الخوارزميةمثال آخرلنفرض أنك تريد من جيشك مطاردت جسم متحرك (ولنفرض أنه جندي) في منطقة معلومةفي هذه الحالةستستعمل خوارزمية جديدة غير الخوارزميات السابقةمثال أخيرلنفرض أنك تريد من جيشك مطاردت جسم متحرك (ولنفرض أنه جندي) في منطقة غير معلومةأيضا الحل هو أن تستخدم الخوارزمية جديدة غير الخوارزميات السابقةطبعا هناك الكثير من الأمثلة ولكن لاأريد أن أدوخكم هل رأيتوا موضوع الذكاء الإصطناعي وصعوبتهلأن الموضوع كله خوارزميات طبعا هذا إدا رأيتم أن تبرمجوا لعبه تتمتع بخواص الألعاب العالميةأرجوا أن تكون قد أصبحت لديكم بعض الخلفية عن الذكاء الإصطناعيوأنا بشوف بحاول أفكر في مثال وبحاول أشرحةوشكرا
ها أنا عدت من جديد
أحمد الصقر : قرأت الذكاء الصناعي ألي وضعته في موضعك أشكرك على الموضوع لكن أريد أن أوضح شي (قاعدة if هي من أفضل شروط الي أستخدمها في برمجة الالعاب ) لكن المشكلة
في هذه القاعدة أو ذكاء انت وضعت كيفية ردت فعل العدو أثناء شعورة بالخطر لكن كيف أضمن انه الأكشن له طريقة اني ممكن اهزمة ؟ وخاصة أنا ألحين كل ماحاول أضربة راح يصد ضربتي ؟
if player attack >>>> Defence
if player Defence >>>> attack
if player.health>me.health>>>>Defence
if player.health<me.health >>>> attack
أقصد أخلي للعبة أكثر من خيار يعني لكل شي مضاد والعكس صحيح ...
رامي لولح : هلا والله ^^
على العكس قريت موضوعك الخوارزميات ألي وضعته وعلى العكس كان موضوع رائع فعلا والخوارزميات مهمة للألعاب .
بصراحة الذكاء الإصطناعي موضوع صعب
ولكن أنتم عندما تأخد مثال لنطبق عليه الذكاء الإصطناعي دائما يكون المثال كالتالي
شخصين يتعاركوا تكون إمكانياتهم الهجوم والدفاع والركض والقفز
لكن أبي أعرف شي ؟ أنت ليش مستعجل وتبي نبدأ خطوة الألف ؟ قمت أحس انه مستواك خطير (ماشاء الله) أحمد صقر وضع مثال بسيط علشان يفيد الاعضاء هنا ولا يسبب عجز وثانيا أذا الموضوع
ذكاء صناعي صعب ؟ ماعلينا منه .
لأن كل شخص هنا يريد ذكاء صناعي للعبته يمكن يكتفي بذكاء بسيط أومعقد
لا علشان يمتحن فيه وياخذ درجة كاملة في امتحان ويدخل تخصص ألي يبيه
أحنا هنا نصمم ومبرمج ألعاب
ونقطة أخرة :
أذا شخص بدأ يتعلم برمجة ألعاب هو غلطان
لأانه ماراح يبرمج شي ؟
السبب : تعلم برمجة ألعاب مب شي ثابت أقصد ماينتهي متى راح يبرمج للعبته ؟ أذا وصل 70 سنة
الحل أنه يبدأ يبرمج ونفس الوقت يتعلم علشان مايكون أنتاجة صفر
أعتقد بأنك نسيت ان كل عمليه بتاخد فتره زمنيه معينه يعنى لما يجى العدو يدافع عشان الاعب بيهاجم وكان العدو قبل ما بيدافع بيهاجم طبعا لن يقطع عمليه الهجوم سيقوم بإكمالها وبعد ذلك يبدأ دفاع وهنا تستطيع الهجوم وإنقاص نقاط العدو أخى هذا مثال لا أكثر ولا اقلأحمد الصقر : قرأت الذكاء الصناعي ألي وضعته في موضعك أشكرك على الموضوع لكن أريد أن أوضح شي (قاعدة if هي من أفضل شروط الي أستخدمها في برمجة الالعاب ) لكن المشكلة
اقتباس:
if player attack >>>> Defence
if player Defence >>>> attack
if player.health>me.health>>>>Defence
if player.health<me.health >>>> attack
في هذه القاعدة أو ذكاء انت وضعت كيفية ردت فعل العدو أثناء شعورة بالخطر لكن كيف أضمن انه الأكشن له طريقة اني ممكن اهزمة ؟ وخاصة أنا ألحين كل ماحاول أضربة راح يصد ضربتي ؟
أقصد أخلي للعبة أكثر من خيار يعني لكل شي مضاد والعكس صحيح ...
هذه انت وخيالك المهم نعرف الأسسأقصد أخلي للعبة أكثر من خيار يعني لكل شي مضاد والعكس صحيح ...
حسنا بما أنى عدت إلى البيت فسأكتب هنا نقاط النقاش:-
1- عرض أشهر الخوارزميات العالميه .
2- عرض أمثله جاهزه للذكاء الغصطناعى
3- مناقشه بعض الكتب اللى فى بدايه الموضوع
السلام عليكم
بالنسبة للنقطة الأولى فعندك
خوارزمية A*
و
خوارزمية Dijkstra
بالنسبة إلى الأولى فهيا كما قلت سابقا لأيجاد أقصر طريقبينك وبين الهذف مع معلوميت الإتجاه
أما الثانية
فهي أيضا لإيجاد أقصر طريق ولكن دون معرفة إتجاه الهدف
وفي الخوارزميتين الأهذاف تكون ثابته أي غير متحركة
وأيضا الأولى أسرع بكثير من الثانية بسبب معرفة الإتجاه
ملحوضة :تعلموا الأولى ثم إذا حبيتوا تتعلموا الثانية فما في مشكلة
بالنسبة إلى النقطة الثانية أعتقد لو نناقش بعض الأمثلة اللي في الألعاب(بالنسبة إلى الذكاء الإصطناعي )إيكون أفضل لأنه لن تجد أمثلة خارقة مثل اللي في الألعاب إلا إذا أخدناها من الألعاب
مثلا أعطيكم مثال إذا حابين نتناقش فيه قولولي
المثال
في لعبة متل كير إذا أصدرة صوت قد يسمعك أحد الحراس ويأتي إلى مصدر الصوت
فهل تريدوا أن نناقش هذا المثال
أما النقطة الثالثة فهذه مستحيلة( بالنسبة إلي فقط )لأن النت عندي يسابق سلحفة
ولذلك لاأستطيع تحميل أي كتاب
ولكن أرجوا من بقيت الأعضاء التفاعل معك في هذه النقطة
ملحوضة :بعض الخوارزميات سطسطيع تطويرها بنفسك لتناسب وضعك ولكن تحتاج تكون أحسن من متميز في الرياضيات وأيضا يعتمد على صعوبة أو سهولة الموضوع والخوارزمية نفسها
أخي برنس
أنت قلت أنك تريد تطبيق الذكاء الإصطناعي في لعبتك فهل ممكن تقول لنا ماهو نوع اللعبة فهل هي قتال بين شخصين أم مغامرات لكي نحدد مقدار ماتحتاجه وأنا بحاول أشرح أمثلة إن شاء الله
تفيدك في لعبتك
في الألعاب التجارية(في ألعاب القتال ) إذا أتوا يطبقوا الذكاء الإصطناعي
غالبا يعملوا شبكة معقدة من الجمل الشرطية وهذه الشبكة هي ذماغ الشخصية
وهذا اللي يقابل إستخدامنا للجمل الشرطية حيث إذا هاجم ندافع
فهذه الطريقة هي أبسط الطرق إلى إستخدام الذكاء الإصطناعي
وفي كل جزء من اللعبة قد يطوروا الشبكة بإضافة بعض الجمل الشرطية وهكذا
وفي النهاية أرجوا إنك ماتكون زعلان مني بسبب رد سابق
أهلن اخي رامي
للعبتي طبعا أكشن بلاتفورم يعني مغامرات ثنائية وليست أبعاد
أحتاج ذكاء صناعي للرؤساء والأعداء وطبعا ياليت يكون على جيم ميكر
لأانه في كودات بس ابي طريقة علشان أبتدي اكتب
يا جماعة أرجوكم ساعدونا بشرح أسهل..يعني مثلاً أخبرونا كيف نجعل الخصوم في اللعبة مثلاً يتصرفون بشكل ملائم لحركة وأفعال اللاعب..نحن نريد الموجز المفيد إن تكرمتم...
شكراً...
من ألعابي:
-معركة الوحوش(النسخة الكاملة)..أخيراً..
-الكرة الزرقاء
-السيد شجاع
-حرب الفيروسات
من مواضيعي:
-شرح الكائنات في جيم ميكر 6.1 (القسم السابع)
-شرح خطوط الوقت في الجيم ميكر 6.1 (القسم السادس)
-شرح الخطوط في الجيم ميكر 6.1 (القسم الخامس)
-شرح شاشة الأكواد في جيم ميكر 6.1(القسم الرابع)
-شرح المسارات في جيم ميكر 6.1(القسم الثالث)
-شرح القوائم في جيم ميكر 6.1(القسم الثاني)
-شرح واجهة برنامج الجيم ميكر 6.1(القسم الأول)
السلام عليكم
أخي باتمان
أنا حطيت مثال وقلت لكم إذا تبوا نتناقش فيه أوحتا لو تبوني أشرحه بس لم يرد علي أي شخص
فكيف تبين أشرحه
بس بالنسبة إلى تصرف الشخصيات
فهل ممكن تقول نوع اللعبة
وأيضا تحط مثال على اللعبة
أو تقول لنا وش نوع التصرفات اللي تقصدها
ولكن الأفضل إنك تضع مثال للعبة عالمية
وتالي ممكن إحنا نشرح على قدر معلوماتنا
Ultimate Game Design: Building Game Worlds
كل ينزل الكتاب ذا
ضروري جداً لإحتراف ^^
تفضل هذا الرابط المباشرUltimate Game Design: Building Game Worlds
كل ينزل الكتاب ذا
ضروري جداً لإحتراف ^^
http://www.paljo.com/ebooks/p/gp/0072228997.rar
حسنا سأضع استماره الطلب فى هذا الموضوع :-
1- المطلوب: (ذكاء إصطناعى-قوانين فيزيائيه.....)
2- المطبق عليه: ( العدو - اللاعب.......)
3- نوع اللعبه : (مسطحه - ثلاثيه الأبعاد- أر بى جى.....)
4- الحركات المتوافره للعنصر: ( الأشياء الموجوده فى الشخصيه وتريد سياقتها )
5- تفاصيل: (تكتب هنا ما تريده فعلا يعنى توضح أكتر)
6- اللغه أو البرنامج المستخدم: (c++,c#,Java,GameMaker)
و هذا كمثال لمن لم يفهم^^:-
1- المطلوب: (ذكاء إصطناعى)
2- المطبق عليه: ( العدو )
3- نوع اللعبه : (مسطحه )
4- الحركات المتوافره للعنصر: ( مشى - جرى - ضرب بالسيف - تنفس عالى - نوم-رمى بالقوس )
5- تفاصيل: ( أريد الشخصيه ان تضرب بالرمح غذا كان اللاعب بعيداً و أن تتنفس عالى بعد ان تقطع مسافه طويله وأن تضرب بالسيف إذا التحمت مع اللاعب و أن تنام إذا طال الوقت عليها بدون حركه و أن تجرى إذا اقترب الاعب منها لتطارده وان تمشى عند وقوفها لتحرس المكان )
6- اللغه أو البرنامج المستخدم: (GameMaker)
يعنى بهذه الطريقه نستطيع الإجابه على أسئلتكم
السلام عليكم
أخي العزيز أحمد
أعلم أن هذا مثال ولكن لا أرى مانع عن الإجابة بإيجاز فقط للإفادة
1- أريد الشخصيه ان تضرب بالرمح إذا كان اللاعب بعيداً
أولا يجب أن تحسب المسافة بين الشخصية والعدو لكي تعرف إذا كان بعيد أو لا
ثانيا رمي الرمح أو السهام على هذف ثابت يجب أن تستخدم قوانين المقذوفات
والمدى الأفقي هو بعد اللاعب عن العدو وراح تشوف أن السهم أو الرمح أصاب الهدف
أما إذا كان الهذف متحرك نفرض أن التسارع =0
ونوجد المسافة اللي حيقطعها الهدف المتحرك
هذه المسافة عبارة عن إحداثيات للموقع الجديد(موقه الهذف المتحرك)
وبذلك نستطيع حساب المسافة بين الموقع الجديد ورامي السهم وهذه المسافة هي المدى الأفقي
وبدالك نستطيع أن نجعل العدو يصيب الأهداف المتحركة
2-ان تمشى عند وقوفها لتحرس المكان
إن كنت تريد فقط مشي عشوائي فهذه أيضا بسيطة ولكن إن كنت تقصد تمشي على شكل مسار وأيضا
تتفاعل مع الأحداث المحيطة بها فهذي تحتاج شغل
أما بقيت النقاط فلا تحتاج شرح لأنها بسيطة جدا
كلها تقريبا تستخدم قانون طول القطعة المستقيمة
ممم1- أريد الشخصيه ان تضرب بالرمح إذا كان اللاعب بعيداً
أولا يجب أن تحسب المسافة بين الشخصية والعدو لكي تعرف إذا كان بعيد أو لا
ثانيا رمي الرمح أو السهام على هذف ثابت يجب أن تستخدم قوانين المقذوفات
والمدى الأفقي هو بعد اللاعب عن العدو وراح تشوف أن السهم أو الرمح أصاب الهدف
أما إذا كان الهذف متحرك نفرض أن التسارع =0
ونوجد المسافة اللي حيقطعها الهدف المتحرك
هذه المسافة عبارة عن إحداثيات للموقع الجديد(موقه الهذف المتحرك)
وبذلك نستطيع حساب المسافة بين الموقع الجديد ورامي السهم وهذه المسافة هي المدى الأفقي
وبدالك نستطيع أن نجعل العدو يصيب الأهداف المتحركة
أنا قلت لعبه بلات فورم ....... يعنى مسطحه يعنى لو رمى السهم بشك أفقى فهكذا سيصيب الاعب مهما حصل........ وبما انك اردت التناقش فى المثال فلنسم الله,,,,,,,,,,,,
أولا نحسب المسافه بيينه و بين اللاعب و بعدين نقسم المسافه لنصفين و بعدين نضع ارتفاع ثابت وبعدين نجيب المسافه بين هذه النقطة والنقطه المرتفعه بقانون فيثاغورس و بعدين نححد انه لما يوصل لهذا الغرتفاع يحدد مكان الاعب ويتجه له بشكل مائل وبهه الطريقه نعطى للعدو شئ من الواقعيه و اللى لم يفهم من الكلام يفهم من رسمه أسكى هذه اللى انا عملتها
و بذلك يقوم العدو برمى السهم أو الرمح بزاويه معينه توجد بقانون فيثاغورس و تقوم بالنزول على الشخصيه و بذلك تكون أكثر واقعيه وخصوصاً انها لعبه بلاتفورم وليست استراتيجيهكود:__________________________________________________________ | | | | | | | | | ^ | | \ / | | \ / | | \ / | | \ / | | \ / | | \ نصف المسافه / | | العدو --------*------- الشخصيه | |_________________________________________________________ |_________________________________________________________| |_________________________________________________________| |_________________________________________________________| |_________________________________________________________|