
جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:53
GameGo هي وحدة تحكم محمولة للألعاب متوافقة مع Microsoft Makecode تم تطويرها بواسطة TinkerGen STEM education. يعتمد على شريحة STM32F401RET6 ARM Cortex M4 ومصمم لمعلمي العلوم والتكنولوجيا والهندسة والرياضيات أو الأشخاص الذين يحبون الاستمتاع بإنشاء ألعاب فيديو قديمة ، يمكنك اتباع هذا البرنامج التعليمي وتجربة اللعبة في Makecode Arcade simulator ثم تشغيلها على GameGo.
في المقالات التي نشرناها من قبل ، حاولنا بالفعل صنع لعبة منهاج وإصدار جديد لمدينة باتل سيتي. أردت هذه المرة استخدام واجهة Jacdac لربط جهازي GameGo معًا والسماح للاعبين بالقتال من أجل التفوق في لعبة مقاتلة متعددة اللاعبين. لسوء الحظ ، اكتشفت أن برمجة الكتل لـ Jacdac multiplayer في مرحلة تجريبية حتى الآن ولديها بعض الأخطاء - لا يزال من الممكن إنشاء ألعاب أبسط ، لكن لم يحالفني الحظ في لعبتي القتالية. لذلك ، في هذا الدليل ، أنشر ثلاثة إصدارات من اللعبة (والتي أسميتها "Cthulhu Combat":))
- نسخة لاعب واحد مع خصم AI بسيط
- إصدار متعدد اللاعبين للعب في محاكاة Arcade
- إصدار متعدد اللاعبين مع Jacdac (غير مكتمل ، سيتم تحديثه لاحقًا)
اللوازم
GameGo
مايكروسوفت ماك كود أركيد
الخطوة 1: في وظائف Start و Round_setup

سأقوم بوصف لعبة ترميز اللاعب الفردي بالتفصيل ثم في الخطوات التالية نناقش كيفية تحقيقها
أ) محاكاة متعددة اللاعبين
ب) Jacdac متعددة اللاعبين.
نبدأ بتعيين خريطة البلاط على زنزانة مظلمة وإنشاء نقوش متحركة للاعب وروبوت AI - كلاهما ينتمي إلى نوع اللاعب. قمنا بتعيين تسارع المحور y على 600 - حتى لا يطيروا بعد القفز. نقوم أيضًا بتهيئة المقذوفات من الروبوت واللاعب قبل استدعاء وظيفة round_setup. تهتم وظيفة round_setup بإعداد جولة جديدة بالنسبة لنا - والسبب في جعلناها وظيفة هو أنه يمكن أن يكون هناك ما يصل إلى 3 جولات في اللعبة ونريد تجنب تكرار نفس الكود. في هذه الوظيفة ، نتحقق أولاً مما إذا كان أي من اللاعبين قد حقق انتصارين - إذا تم تقييم هذا الشرط على أنه صحيح ، فستنتهي اللعبة. إذا حقق كلا اللاعبين أقل من انتصارين ، فإننا نزيد متغير round_num بواحد ونضع اللاعبين في نقاط البداية ، ونجدد حياتهم إلى 100 ونعلن بداية جولة جديدة.
الخطوة 2: تدفق اللعبة

في هذه اللعبة ، يكون العالم نفسه ثابتًا ويكون تدفق اللعبة مرتبطًا بأفعال اللاعبين. في أربع كتل ، نحدد معظم قواعد اللعبة ، هذه الكتل هي: الضغط على الزر العلوي ، الضغط على الزر السفلي ، الضغط على الزر A والضغط على الزر B. دعونا نلقي نظرة على كل من هذه الكتل.
عند الضغط على زر المتابعة - منطق القفز المزدوج. إذا ضغطنا على زر القفز أقل من 3 مرات ، فسنضبط سرعة اللاعب vy على - 140 (التحرك لأعلى). لاعبنا لديه تسارع vy مضبوط على 600 ، لذلك بمجرد أن نقفز ، ستنخفض سرعتنا بسرعة. بمجرد أن يصل إلى 0 (لا يتحرك على المحور الرأسي) ، قمنا بتعيين Jump_count على 0 مرة أخرى.
عند الضغط على الزر لأسفل - منطق درع الهجوم بعيد المدى. إذا تم الضغط على الزر السفلي ، يقوم اللاعب بتغيير صورته إلى "محمية" ويضبط متغيرًا مدرعًا على 1.
على الزر مضغوط - أطلق قذيفة. هذا واحد إلى حد كبير لا يحتاج إلى شرح.
عند الضغط على الزر B - هجوم المشاجرة ، على غرار الدرع في التنفيذ.
قمنا بتعيين صور النقوش المتحركة للاعبين ومتغيراتهم المحمية / الهجومية على 0 كل 500 مللي ثانية في تحديث اللعبة كل.. كتلة مللي ثانية. كان بإمكاننا تعيين مؤقتات مستقلة لكل إجراء ، ولكن من أجل البساطة ، سنستخدم حلقة تحديث اللعبة الرئيسية فقط.
شروط الفوز هنا سهلة للغاية - عندما تصل حياة اللاعب إلى 0 ، يكون اللاعب الآخر قد ربح الجولة ، ثم نقوم بتخزين عدد مرات الفوز لكل لاعب في متغير.
أخيرًا ، هناك كتلتان تتحكمان في ضرر هجوم المدى البعيد وضرر هجوم الاشتباك. في كل واحد منهم نتحقق من اصطدام العفريت وإذا تم ضبط متغير الحماية / الهجوم للاعب المهاجم على 0/1.
الخطوة 3: لعبة 1: AI الخصم

في اللعبة الأولى ، سننشئ خصمًا بسيطًا نسبيًا للذكاء الاصطناعي ليكون اللاعب الثاني. في التحديث الداخلي للعبة كل 200 مللي ثانية ، نقوم أولاً بفحص المسافة بين اللاعب والذكاء الاصطناعي - إذا كانت أقل من 20 ، فإننا نضبط الذكاء الاصطناعي في وضع الاشتباك من خلال زيادة فرصة هجوم الاشتباك إلى 30 وفرصة هجوم تتراوح إلى 30. إذا كانت المسافة أعلى من 20 قمنا بتعيين فرصة هجوم المشاجرة على الصفر (لا يوجد نصف لتر في هجوم المشاجرة ، حيث أن اللاعب بعيد جدًا) ونقلنا الفرصة إلى 70. بعد أن تم تعيين فرص العمل ، نواصل تنفيذ هذه الإجراءات بالفرص المحددة. إذا حاولت اللعب ضد هذا الذكاء الاصطناعي البسيط بنفسك ، فسترى أنه على الرغم من أن سلوكه بسيط للغاية ، فإن الفوز ضده ليس بالأمر السهل - كما هو الحال غالبًا في حالة وجود خصوم يتحكم فيهم الكمبيوتر ، فإنه يفوز في الغالب لأنه يمكنه القيام بمزيد من الإجراءات في الثانية أكثر من لاعب بشري.
إذا علقت أثناء البرمجة ، يمكنك تنزيل الكود الكامل في مستودع GitHub الخاص بنا لهذا المشروع وفتحه في Makecode Arcade.
الخطوة 4: لعبة 2: محاكي متعدد اللاعبين


متغير اللعبة للاعبين في المحاكاة يشبه إلى حد بعيد إصدار اللاعب الفردي ، باستثناء أننا استبدلنا كتلة سلوك الذكاء الاصطناعي بأربعة كتل مضغوطة على زر للاعب 2 - مع محتوى داخل هذه الكتل يعكس محتوى نفس الكتل للاعب 1. إلقاء نظرة على لقطة الشاشة للحصول على فكرة أفضل عن التغييرات التي تحتاج إلى إجرائها. بصرف النظر عن ذلك ، نحتاج أيضًا إلى إضافة move player 2 مع حظر الأزرار في وظيفة البدء وتغيير شاشة النهاية للاعبين في اللعبة إلى WIN بدلاً من LOSE.
الخطوة 5: لعبة 3: Jacdac Multiplayer

لقد وجدت تطبيقًا مجتمعيًا لـ Jacdac multiplayer مع كتل Makecode arcade في موضوع المنتدى هذا
forum.makecode.com/t/new-extension-real-mu…
لقد اختبرت لعبة المثال هناك (Space Invaders) ووجدتها تعمل بشكل جيد للغاية. لسوء الحظ ، تستخدم ميكانيكا اللعبة في Cthulhu Combat الكثير من المتغيرات ويبدو أن امتدادات Real Multiplayer لا تدعم متغيرات المزامنة حتى الآن - لذلك قمت بتشغيلها ، تتم مزامنة إجراءات اللاعبين عبر الأجهزة ، ولكن لا يمكن للحياة أن تفعل ذلك. لا تسقط على جهاز المنافسين. هناك أيضًا خطأ في ميكانيكا المقذوفات ، لا يبدو أن المقذوفات تختفي بعد اصطدامها بالحائط ، مما يتسبب في فقدان الاتصال باللعبة بعد إطلاق حوالي 10 مقذوفات.
يمكنك تجربة تعدد اللاعبين عن طريق تنزيل ملف-p.webp
الخطوة 6: دع معركة Cthulhu تبدأ

لا يزال هناك الكثير من التحسينات التي يمكن إجراؤها على لعبتنا القتالية البسيطة - على سبيل المثال ، يمكنك إضافة سلوك AI أكثر تعقيدًا أو استخدام الامتداد لإضافة مجموعات الأزرار و / أو تسلسلات الرسوم المتحركة. حظًا سعيدًا واستمتع بوقتك أثناء برمجة ألعابك الخاصة باستخدام GameGo و Makecode Arcade.
إذا قمت بعمل نسخة محسنة من اللعبة ، فشاركها في التعليقات أدناه! لمزيد من المعلومات حول GameGo والأجهزة الأخرى للصانعين ومعلمي العلوم والتكنولوجيا والهندسة والرياضيات ، قم بزيارة موقعنا على الإنترنت ، https://tinkergen.com/ والاشتراك في نشرتنا الإخبارية.
موصى به:
كيف تصنع لعبة متعددة اللاعبين باستخدام وحدات تحكم Arduino: 6 خطوات

كيف تصنع لعبة متعددة اللاعبين باستخدام وحدات تحكم Arduino: هل تساءلت يومًا كيف ينشئ مطورو الألعاب ألعابًا مذهلة يستمتع بها الناس في جميع أنحاء العالم؟ حسنًا ، سأقدم لك اليوم تلميحًا بسيطًا حول هذا الموضوع من خلال إنشاء لعبة صغيرة متعددة اللاعبين سيتم التحكم فيها إما عن طريق Arduino contro
منصة ذات مستويات لا نهائية على GameGo مع Makecode Arcade: 5 خطوات (بالصور)

منصة ذات مستويات لا نهائية على GameGo مع Makecode Arcade: GameGo هي وحدة تحكم محمولة للألعاب متوافقة مع Microsoft Makecode تم تطويرها بواسطة تعليم TinkerGen STEM. وهو يعتمد على شريحة STM32F401RET6 ARM Cortex M4 ومصمم لمعلمي العلوم والتكنولوجيا والهندسة والرياضيات أو الأشخاص الذين يحبون الاستمتاع بصنع ألعاب فيديو قديمة
إعادة صنع Battle City على GameGo مع Makecode Arcade: 4 خطوات (بالصور)

Battle City Remake على GameGo مع Makecode Arcade: GameGo هي وحدة تحكم محمولة للألعاب متوافقة مع Microsoft Makecode تم تطويرها بواسطة TinkerGen STEM education. يعتمد على شريحة STM32F401RET6 ARM Cortex M4 ومصمم لمعلمي العلوم والتكنولوجيا والهندسة والرياضيات أو الأشخاص الذين يحبون الاستمتاع بإنشاء مقاطع فيديو قديمة
طاولة القهوة RasPi ثنائية اللاعبين آركيد: 7 خطوات (بالصور)

طاولة القهوة RasPi Two-Player Arcade: إليكم نسختي من طاولة القهوة Raspberry Pi Arcade. خطرت لي الفكرة من تعليمات أخرى رائعة هنا وأردت أن أشارك تجربتي مع التصميم. يمكن للطاولة أن تلعب ألعابًا من عصور ألعاب فيديو متعددة بما في ذلك NES و SNES و Sega و Play
اردوينو: سيارة فنية متعددة اللاعبين محبطة: 13 خطوة

اردوينو: سيارة فنية متعددة اللاعبين محبطة: إنها سيارة فنية رائعة مع بلوتوث فاناف للهاتف الذكي ومؤازرة أفضل من أي مكان. Optioneel هو om het chaotisch / frustrerend te maken voor de gebruiker door er voor te zorgen dat de servo i