إذا كانت لديك أي أسئلة، أو كنت ترغب فقط في الدردشة، انضم إلينا على Discord.
تدريب عملاء RL للعب البوكيمون الأحمر | ترجيع أي لعبة | |
العب الكلاسيكيات | قم بإنشاء الذكاء الاصطناعي الخاص بك | حطم الأرقام القياسية العالمية باستخدام الذكاء الاصطناعي |
التعليمات بسيطة:
$ pip install pyboy
للحصول على التفاصيل، راجع تعليمات التثبيت.
الآن أنت جاهز! إما أن تستخدم PyBoy مباشرة من المحطة
$ pyboy game_rom.gb
أو استخدمه في نصوص Python الخاصة بك:
from pyboy import PyBoy
pyboy = PyBoy ( 'game_rom.gb' )
while pyboy . tick ():
pass
pyboy . stop ()
إذا كنت تتطلع إلى إنشاء روبوت أو ذكاء اصطناعي، فهذه الموارد هي مكان جيد للبدء:
عندما يكون المحاكي قيد التشغيل، يمكنك الوصول بسهولة إلى واجهة برمجة تطبيقات PyBoy:
pyboy . set_emulation_speed ( 0 ) # No speed limit
pyboy . button ( 'down' )
pyboy . button ( 'a' )
pyboy . tick () # Process at least one frame to let the game register the input
value_of_interest = pyboy . memory [ 0xC345 ]
pil_image = pyboy . screen . image
pil_image . save ( 'screenshot.png' )
يوضح Wiki كيفية التفاعل مع PyBoy من مشروعك الخاص.
يعد الأداء أولوية بالنسبة لـ PyBoy، لجعل تدريب الذكاء الاصطناعي والبرامج النصية الخاصة بك في أسرع وقت ممكن.
أسهل طريقة لتحسين أدائك هي تخطي عرض الإطارات غير الضرورية. إذا كنت تعلم أن شخصيتك تحتاج إلى X من الإطارات لتحريكها، أو أن اللعبة لا تأخذ مدخلات في كل إطار، فيمكنك تخطي تلك المدخلات لمضاعفة أدائك ثلاث مرات. ستستمر معالجة كل منطق اللعبة وما إلى ذلك.
فيما يلي مقارنة بسيطة لعرض كل إطار، وعرض كل إطار خامس عشر، وعدم عرض أي إطارات (الأعلى هو الأفضل). راجع pyboy.tick
لمعرفة كيفية عمله. سيعتمد أدائك على اللعبة.
التقديم الكامل | تخطي الإطار 15 | لا التقديم |
الوقت الحقيقي x124 | الوقت الحقيقي x344 | الوقت الحقيقي x395 |
for _ in range ( target ):
pyboy . tick () | for _ in range ( target // 15 ):
pyboy . tick ( 15 ) | pyboy . tick ( target , False ) |
كان جهاز Game Boy يعمل في الأصل بمعدل 60 إطارًا في الثانية، لذا فإن تسريع الوقت الفعلي بمقدار 100 مرة يساوي 6000 إطار في الثانية. ومن الجدول أعلاه، يمكن إجراء محاكاة 395 ساعة من اللعب خلال ساعة واحدة بدون عرض.
يوصى أيضًا بتشغيل مثيلات متعددة من PyBoy بالتوازي. على جهاز ثماني النواة، من المحتمل أن تتمكن من لعب 3160 ساعة من اللعب في ساعة واحدة.
هو موضع تقدير أي مساهمة. يتم تعقب المشكلات المعروفة حاليًا في علامة التبويب "المشكلات". لا تتردد في اتخاذ البديل في أي واحد منهم. إذا كان لديك شيء أصلي في ذهنك، تعال وناقشه على Discord.
للحصول على المزيد من الميزات الرئيسية، هناك ما يلي يمكنك تجربته. تم وصفها أيضًا بمزيد من التفصيل في قائمة المشاريع في Wiki:
api
أو أغلفة الألعاب لتدريب الشبكة العصبيةإذا كنت تريد تنفيذ شيء غير موجود في القائمة، فلا تتردد في القيام بذلك على أي حال. إذا كنت تريد دمجه في الريبو الخاص بنا، فما عليك سوى إرسال طلب سحب وسنلقي نظرة عليه.