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

مشاهدة النسخة كاملة : [مقال+درس] الذكاء الاصطناعى و طرق برمجتة بالجيم ميكر



d.a.m.h
25-02-2006, 11:53 PM
بسم الله الرحمن الرحيم و الصلاة و السلام على سيدنا محمد بن عبد الله سيد الخلق و خاتم الانبياء والمرسلين




اما بعد::

منذ متى لم اكتب مواضيع...........اعتقد منذ مدة قد تكون طويلة

اليس كذلك؟







حسنا انسوا هذا السؤال فلقد كتبته حتى لا يرى احد الاعضاء الموضوع من الخارج فيتكاسلوا عن فتحه



ما علينا انا اليوم اكتب عن موضوع مثير هو موضوع الذكاء الاصطناعى :05:
ماهو الذكاء الاصطناعى.........وكيفية برمجته على الجيم ميكر



-- نبدأ بالكلام عن الذكاء الاصطناعى : وهو بالمفهوم المتعارف ان تجعل الكمبيوتر يتصرف كأنه شخص يفكر بهذا التفكير قد يتحداك او يساعدك.......فاذا لعبت لعبة كرة القدم هل تجد ان الكمبيوتريعلب كل مباراة بنفس الخطة؟؟ لا اظن صراحة والا لما التف عشاق البلاى ستيشن حول لعبة وينينج اليفن او العاب الفيفا....

كذلك الحال ينطبق على الالعاب الاخرى كالاستراتيجية و القتالية و غيرها

و بوجه عام الذكاء الاصطناعى يعطى اللعبة طابع اثارة فتخيل انك تلعب ضد الة ولكن مع ذلك لا تستطيع ان تعرف فيما تفكر هذه الالة
















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




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



المحور الاول:عشوائية التحرك

المحور الثانى: التبادل بين الحركات العشوائية

المحور الثالث: ذكاء الشخصية






ما هذه اللوغاريتمات :11: ؟؟؟؟؟؟؟؟ تابع الموضوع و ارجو عدم الرد حتى احافظ على تسلسل الموضوع

d.a.m.h
25-02-2006, 11:58 PM
حسنا لنبدأ اولا بأول محور وهو:عشوائية التحرك



اذا كان رجل مثلا واقفا امامك و يريد ان يهجم على عدو فماهى احتمالات هجومه؟؟

سيقول احد الاعضاء انه سيقفز ناحية العدو كبداية للهجوم (احتمال 1)

يقول اخر لا بل انه سيجرى ناحية العدو على الارض(احتمال2)

يقول ثالث بل انه سيقوم باطلاق رصاصة على خصمه(احتمال3)

فاذا اخذنا هذه الاحتمالات الثلاثة سنقول ان هذا الشخص سينفذ احداها لكن ايهم؟ لا نعرف و هذا هو المطلوب......فعلى هذا الشخص ان يختار احتمال منهم عشوائيا



لكتابة دالة تحتوى على مجموعة قيم نريد اختيار واحدة عشوائيا فاننا نستعمل الدالة choose


و الarguments الخاصة بها تكون عدد الاحتمالات المختارة للهجوم



فى الحدث create ضع اولا attack=0 ثم ضع بعدها الكود attack=choose(1,2,3) حيث attack هو متغير يعبر عن الهجوم والاعداد 1,2,3 هى الاحتمالات



نأتى للخطوة التالية فى الحدث step و نضع الكود


if attack=1 then sprite_index=spr_jump;..............


حيث spr_jump هى الصورة الخاصة بالقفز مثلا للشخصية و مكان النقط تكتب اكواد القفز




if attack=2 then sprite_index=spr_run;.............


اكمل انت اكواد الجرى


if attack=3 then sprite_index=spr_shoot;............


اكمل انت اكواد اطلاق الرصاص




طبعا تستطيع ان تكمل بقية الاحتمالات على حسب الصور المتاحة و امكانيات الشخصية

مارأيك الان عندما تشغل اللعبة ثم تعيد تشغيلها اكثر من مرة...ستجد ان الشخصية تقوم

بحركات مختلفة فى كل مرة :biggthump

الى هنا ينتهى الجزء الاول

ننتقل للثانى و رجاء عدم الرد حتى احافظ على التسلسل

d.a.m.h
26-02-2006, 12:01 AM
المحور الثانى و يسمى: التبادل بين الحركات العشوائية

تكلمنا فى المحور الاول على اختيار طرق الهجوم لكننا نسنا شيئا هاما و هو ان الشخصية ستظل

تقوم بهذا الهجوم الى الابد فماذا نفعل؟؟؟؟



هنا يأتى دور المحور الثانى فمعناه ان نجعل الشخصية تغير وسائل هجومها فى اوقات محددة وتختارمن الدالة choose احتمال اخر



و عملها غاية فى البساطة فى الحدث create ضع alarm[0]=30 او اذا اردت مزيد من العشوائية ضع


(.....alarm[0]=choose(20,30,40




وفى الحدث alarm 0 ضع الاتى:


(attack=choose(1,2,3

(alarm[0]=choose(30,40,50




من هذه الاكواد ستقوم الشخصية بتغيير تحركاتها فى اوقات معينة تبعا لما حددته



انتهى المحور الثانى.....................ندخل على الثالث................ورجاء عدم الرد

d.a.m.h
26-02-2006, 12:04 AM
المحور الثالث و الاخير و هو ذكاء الشخصية:


و المقصود بها جعل الشخصية ذكية اى تتفادى الرصاص مثلا اوتقفز من فوق عدو او حفرة



فمثلا اذا كانت هناك قنبلة تتجه نحو الشخصية فاننا نكتب مثلا الكود التالى:







if instance_number(obj_bomb)>0 then


hspeed=-obj_bomb.speed







هذا الكود لجعل الشخصية تتراجع الى الوراء فى حالة وجود قنابل موجهة عليها




من الذكاء ايضا جعل الشخصية تواجه تلقائيا العدو فى العاب القتال عن طريق:







if instance_number(obj_enemy)=1


{

if obj_enemy.x>obj_character.x then image_xscale=-1

if obj_enemy.x<obj_character.x then image_scale=1

}







حيث قيمتى image_xscale قد تتبادلا تبعا لزاوية الصورة











طبعا لا استطيع ان اكتب كل الاكواد و الا سنحتاج موضوعات عديدة لكن هذا هو مجهود المبرمج الشخصى وهو على ما اعتقد اصعب خطوة

ايضا نستطيع و ضع احتمالات للشخصية لجعلها تتفادى الرصاص
(avoid_bullet=choose(1,2 حيث 1 تجعل الشخصية ثابتة و الرصاص
متجه ناحيتها اما 2 تجعل الشخصية تتفاداها ومن ثم نسير على نفس النظام


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

اذا كان مستوى اللعبة سهل فان العدو لن يتفادى طلقاتك

اذا كان المستوى متوسط فان العدو يكون لديه احتمالين(يتفاداها او يثبت مكانه)

اذا كان المستوى صعب فنجعل احتمالات التفادى اكبر من احتمالات الثبات

مثال (avoid_bullet=choose(1,2,2 حيث 1 للثبات و 2 للتفادى



اعتقد ان الموضوع اصبح واضحا الان فالعملية لا تستدعى اكثر من صبر و تركيز فى العمل



اتمنى ان اكون قد كتبت لكم الموضوع بأمانة وقد اصبح مفهوم وهو دعوة ايضا لنرتقى بالعابنا..............و بما ان احدا لم يتضايق من طول الموضوع فأقدم لكم هذا المثال الطريف من صنعى لكم موجود بالمرفقات لتستفيدوا منه وبه معظم ما شرحت :D



فى انتظار ردودكم و ترشيحاتكم :05: ...........والسلام عليكم ورحمة الله و بركاته

S.N.I.P.E.R
26-02-2006, 01:02 AM
الموضوع حلو اوى وشكراااا على تعبك معانا

وعلى فكرة الموضوع ده هيفدنى جدا فى تصميم لعبة اسطورة البوكيمون

PrinceOfSorrow
26-02-2006, 01:25 AM
جزاك الله خيرا
وأتمنى أن تضع أمثله أكثر كالألعاب طائرات وبلاتفورم ^^
وشكرا

من التراب
26-02-2006, 08:35 AM
تسليم يديك ....^^

الدرس روعة ... وأنا شخصيًأ أستفدت منه ...

الله يجزيك خير ... وبنتظار أفكار أكثر ..^..^

بالتوفيق ...

من التراب
26-02-2006, 08:39 AM
هعهعهع ... المثال حلو ...^_^

كنت أجري مباريات قتالية في البوربوينت ... بس بدون ذكاء .... (^_^)"

أبو عبدالرحمن
26-02-2006, 11:52 AM
شرح رائع جدًا

جزاك الله خيرًا

Fox McCloud
26-02-2006, 11:58 AM
واخيرا كنت ابحث عن هذا الشرح من زماااااااااان الف الف شكرررررر اخوي

||صقر||
26-02-2006, 04:05 PM
شرح رائع لكن حاول تدعمة بالأمثلة
كان نفسى أرشحك بس أعتقد ان الترشيح مسموح للمراقبين فقط

الموقوف
26-02-2006, 08:43 PM
موضوع رائع ومتكامل ;)

مشكور اخوي وجزاك الله الف خير على هذا الدرس الرائع :)

d.a.m.h
27-02-2006, 02:31 AM
اشكر الجميع على هذه الردود المشجعة و الرائعة::

-مبرمج البوكيمون==ان شاء الله تكمل لعبتك و تستفيد من الموضوع :D

-Bestcaiman==انا انوى صناعة امثلة اخرى باذن الله لكنها تحتاج لوقت طويل لكتابة الاكواد
و ترتيبها كما رأيت فى المثال..........ان شاء الله تجد قريبا امثلة اخرى ;)

-من التراب== العفو وعلى فكرة المثال ينقصه ذكاء الشخصية فلم استعمل المحور الثالث
بصورة كافية فيه......:blackeye:

-ابو عبد الرحمن && the first racer== العفو يا اخوانى و ان شاء الله تستفيدوا من
الشرح:biggthump

-ahmed saker==الله يخليك يا أحمد..........فيه اول مثال موجود بالمرفقات وباذن الله
اعمل امثلة تانية;)

-الموقوف==العفو اخى الموقوف :D

PrinceOfSorrow
27-02-2006, 12:00 PM
انا انوى صناعة امثلة اخرى باذن الله لكنها تحتاج لوقت طويل لكتابة الاكواد
و ترتيبها كما رأيت فى المثال..........ان شاء الله تجد قريبا امثلة اخرى

الله يخليك خذ راحتك وأنت تشتغل
الله يوفقك في مشاريعك^^

Mr. Black Man
27-02-2006, 06:57 PM
درس رااائع جداً :biggthump. الذكاء الإصطناعي هو من أساسيات كل لعبة, لذلك فهذا الدرس مهم جداً ;)
أعتقد إنه راح يفيدني كثيراً, و مشكور على مجهودك :)

الجنرال المصرى
27-02-2006, 08:02 PM
جيد جدا انك تطرقت الى هذه النقطه
موضوع رائع جدا
تم الترشيح
وبالتوفيق

Son Of UAE
28-02-2006, 12:26 PM
مشكور على الموضوع .. الصراحة ممتاز .. و كنت اريد افتح موضوع بخصوصه. و بما انك فتحت .. يمكننا البدء بمناقشة بعض التفاصيل لمشروعي السري ... ( كان سري )

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

يحتوي المثال على التالي:-
شخصية إكسل من لعبة ستريت او فريج
نظام الظل الذي يتبع اللاعب
لوحة تحكم للاعب controller
لوحة تحكم للكمبيوتر ai01
نظام تحديد الإصابة - باللون الاحمر
نظام الكومبو

ملاحظة: عند اصابتك سوف ترتفع الى الاعلى. لم اكمل البرمجة بعد

PrinceOfSorrow
28-02-2006, 01:33 PM
مشكور على المثال
وأنا مازلت أنتظر مشروعك السري ^^

Son Of UAE
28-02-2006, 10:10 PM
المثال الي فوق هو المشروع السري ....

d.a.m.h
01-03-2006, 11:01 PM
اسف يا جماعة على التأخر فى الرد:

الجنرال المصرى && Uzumaki Naruto: العفو وعلى فكرة الموضوع اعتقد انه اكبر من
مجرد كتابة اكواد فالفكرة ان تتخيل ان هذه الشخصية حقيقية و تبدأ على اساسها برمجة الافكار :31:

son of uae: سبقتك فى الموضوع..........:D :D :D
هل هذا المشروع الذى كتبت عنه موضوع دفتر المشاريع؟؟
اللعبة جديدة من نوعها صراحة فكنا عندما ننوى تصميم لعبة فتكون اما بلاتفورم او scroll shooter
حركة الظل ممتازة :biggthump
ان شاء الله يكتمل المشروع السرى الذى لم يعد سرى :laughing: :laughing:
اذا كان عندك مثال يمكن وضعه فى الموضوع فلا تتأخر......فالموضوع طويل ولن يكفيه مثال واحد

انا وضعت مثال اخر لكيفية برمجة وحش مسعور لألعاب FPS موجود بالمرفقات
فكرته بسيطة و اذا اردتم ان اشرحها...........................سأشرحها ;)
وعلى فكرة المثال يحتوى على كود لجعل الوحش يتفادى الرصاص عند اطلاق النار
وانا منتظركم

من التراب
01-03-2006, 11:49 PM
مشكور شباب على الأمثلة ...^^

ابن الإمارات مثالك شغل محترفين .....^^"

d.a.m.h مثالك خلي أفكر في تصميم ألعاب 3دي .....^_^

الموضوع شيق ... وفيه أفكار وايد ....بالتوفيق

PrinceOfSorrow
02-03-2006, 12:36 PM
مشكور على المثال DAMH

d.a.m.h
04-03-2006, 11:13 PM
عدد الاعضاء الذين جربوا ثانى مثال موجود بالمرفقات قليل للغاية
لذا كتبت هذا الرد حتى انعش هذا الموضوع ثانية لأنه فى رأيى مهم جدا
عموما اى امثلة اخرى تتعلق بهذا الموضوع سأضعها فى موضوع منفصل
حتى تتم ملاحظتها

PrinceOfSorrow
05-03-2006, 01:11 PM
بالمناسبه أخي DAMH أتمنى أن لاتقلل من أمثلتك فأنا أستفدت منها كثيرا للغايه^^
وخاصه مثال الأخ Son of UAE ولكن أريد مثال للذكاء الصناعي لألعاب أكشن بلاتفورم
أو سكروولنغ وشكرا ^^

d.a.m.h
05-03-2006, 07:47 PM
بالمناسبه أخي DAMH أتمنى أن لاتقلل من أمثلتك فأنا أستفدت منها كثيرا للغايه^^
وخاصه مثال الأخ Son of UAE ولكن أريد مثال للذكاء الصناعي لألعاب أكشن بلاتفورم
أو سكروولنغ وشكرا ^^

هل تقصد مثلا ان اصمم لعبة لجعل super mario يمشى و يقفز من فوق الحفر و الاعداء
وحده ام ان اصمم اعداء المرحلة فقط؟
انا فى انتظارك!!!! ;) :p

MALTOOSH
06-03-2006, 05:43 PM
شكرا على الموضوع الحلو ...

PrinceOfSorrow
06-03-2006, 08:04 PM
هل تقصد مثلا ان اصمم لعبة لجعل super mario يمشى و يقفز من فوق الحفر و الاعداء
وحده ام ان اصمم اعداء المرحلة فقط؟
انا فى انتظارك!!!!

أقصد أنك تصنع رئيس مرحله جامد مثال أو جنود قويين
(ماريو يقاتل باوزر) أو سركروولنغ شووتر مثل (ٌR-type Boss) وهكذا

XORO
02-06-2006, 04:50 PM
مشكور على الشرح المفيد والقيم :)

واسف على التاخير في الرد :02:



وشكـــــــــــــــــــــــــــــــــــــــــــرا :biggthump

d.a.m.h
03-06-2006, 01:49 AM
شكرا يا sony على الرد....و لا يهمك

على فكرة يا Yenfe3 انا لم انس الموضوع لكن كما تعرف الموضوع يتطلب جهد ووقت
حاليا هناك مشروع اعد له و ساكمله فى الاجازة ويقوم على الذكاء الاصطناعى بنسبة 100%
المهم ان ينجح

PrinceOfSorrow
03-06-2006, 04:15 AM
على فكرة يا Yenfe3 انا لم انس الموضوع لكن كما تعرف الموضوع يتطلب جهد ووقت
حاليا هناك مشروع اعد له و ساكمله فى الاجازة ويقوم على الذكاء الاصطناعى بنسبة 100%
المهم ان ينجح

جيد انك لم تنسى
ملاحظة: تعرف انت أفضل شخص برمج اعداء عرفتة لحد الأن ؟!:)
وبدون مجاملة
وخاصة في لعبتك Joe20000

GOGENDANTESS
03-06-2006, 12:44 PM
فعلا درس رائع للجيم ميكر :)

و على فكرة ، اول ظهور للذكاء الصناعي للألعاب كان في لعبة Pack Man :)

عاشقgame maker
04-06-2006, 09:08 AM
مشكوووووور على المجهووووود الرئع:)

لكن في الحقيقة انا لم فهم من الموضوع ولا كلمة سوى:


بسم الله الرحمن الرحيم و الصلاة و السلام على سيدنا محمد بن عبد الله سيد الخلق و خاتم الانبياء والمرسلين




اما بعد::

منذ متى لم اكتب مواضيع...........اعتقد منذ مدة قد تكون طويلة

اليس كذلك؟







حسنا انسوا هذا السؤال فلقد كتبته حتى لا يرى احد الاعضاء الموضوع من الخارج فيتكاسلوا عن فتحه



ما علينا انا اليوم اكتب عن موضوع مثير هو موضوع الذكاء الاصطناعى :05:
ماهو الذكاء الاصطناعى.........وكيفية برمجته على الجيم ميكر



-- نبدأ بالكلام عن الذكاء الاصطناعى : وهو بالمفهوم المتعارف ان تجعل الكمبيوتر يتصرف كأنه شخص يفكر بهذا التفكير قد يتحداك او يساعدك.......فاذا لعبت لعبة كرة القدم هل تجد ان الكمبيوتريعلب كل مباراة بنفس الخطة؟؟ لا اظن صراحة والا لما التف عشاق البلاى ستيشن حول لعبة وينينج اليفن او العاب الفيفا....

كذلك الحال ينطبق على الالعاب الاخرى كالاستراتيجية و القتالية و غيرها

و بوجه عام الذكاء الاصطناعى يعطى اللعبة طابع اثارة فتخيل انك تلعب ضد الة ولكن مع ذلك لا تستطيع ان تعرف فيما تفكر هذه الالة

سيـ الرهيب ـف
11-10-2006, 11:55 PM
السلام عليكم
هلا شباب عندي مشكله محيراني قلت اعرضها عليكم المشكله بالجيم ميكر 6.1هي أني كل ما اعمل run للعبه يطلعلي خطا وتظهر هذه العباره D3D8.DLL not found علي ما أظن
أظن إنهم ملفين مو بالجهاز لذالك اللعبه لا يمكن إنها تشتغل
أرجوا إني ما أكون وضعت الإستفسار بالمكان الغلط
وشكرا رمضان كريم ولو أنها جات متأخره

ملاحظه : أنا توني بادي أصمم العاب علي برنامج RPG maker2000
يعني بدأت متأخر وإستفذت كثيرا من مواضيع قديمه بالمنتدي حصلت عليها عن طريق الفهرس
بس برنامج الكيم ميكر ما يبي يشتغل معي
وأبي اسئل سؤال ثاني ماهو افضل إصدار للـ RPG makerهل هو 2000 أو 2003 أو RPG Maker Xp
وشكرا

PrinceOfSorrow
12-10-2006, 02:52 AM
ملاحظه : أنا توني بادي أصمم العاب علي برنامج RPG maker2000
يعني بدأت متأخر وإستفذت كثيرا من مواضيع قديمه بالمنتدي حصلت عليها عن طريق الفهرس
بس برنامج الكيم ميكر ما يبي يشتغل معي
وأبي اسئل سؤال ثاني ماهو افضل إصدار للـ RPG makerهل هو 2000 أو 2003 أو RPG Maker Xp
وشكرا

نصيحتي أترك البرنامج ماراح يخدم طموحك
أنا عارف انه برنامج حلو لكن شو الفايدة تصمم للعبة عليه ومحد بيلعبها
لأان برنامج غير شرعي أستخدم الجيم ميكر او أربيجي تولكات

ممكن تتواصل معاي بالخاص اذا كنت تبي تتأكد ^^

ZAIME
13-10-2006, 12:37 AM
مشكور اخي على الدرس و المقال.

(CIA)
22-10-2006, 10:54 PM
روعة الشرح ومشكوووووووووووووووووووووووووووووووووووووووووووور
أخوي وجزالك الله خيرا

سليمون
29-06-2008, 12:13 PM
مشكور جدا يا أستاذ يا معلم

PoKe Vx
29-06-2008, 12:24 PM
مسجل عشان ترد على ذا الموضوع
لازم تقرى القوانين

Kamuri-San
30-06-2008, 11:29 AM
ههههههههههههههههههههههه
ما في فايدة
لازم نتعب معنا المشرفين و خلاص
ما حدش يرد الا لما يقرأ القوانين
ده غير ان ردك مخالف

في امان الله
و الموضوع
مغلق