Სარჩევი:
- მარაგები
- ნაბიჯი 1: დაწყებისა და Round_setup ფუნქციების შესახებ
- ნაბიჯი 2: თამაშის ნაკადი
- ნაბიჯი 3: თამაში 1: AI მოწინააღმდეგე
- ნაბიჯი 4: თამაში 2: სიმულატორი Multiplayer
- ნაბიჯი 5: თამაში 3: Jacdac Multiplayer
- ნაბიჯი 6: დაე დაიწყოს Cthulhu ბრძოლა
ვიდეო: (Multiplayer) ბრძოლა GameGo Makecode Arcade– ით: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
GameGo არის Microsoft Makecode თავსებადი რეტრო სათამაშო პორტატული კონსოლი, რომელიც შემუშავებულია TinkerGen STEM განათლების მიერ. ის დაფუძნებულია STM32F401RET6 ARM Cortex M4 ჩიპზე და დამზადებულია STEM პედაგოგებისთვის ან უბრალოდ მათთვის, ვისაც უყვარს გართობა რეტრო ვიდეო თამაშების შექმნით. თქვენ შეგიძლიათ მიყევით ამ გაკვეთილს და სცადოთ თამაში Makecode Arcade სიმულატორში და შემდეგ გაუშვათ GameGo– ზე.
ჩვენს მიერ გამოქვეყნებულ სტატიებში, სანამ ჩვენ უკვე შევეცადეთ ხელი შეგვექმნა პლატფორმის თამაშისა და Battle City რიმეიკის შესაქმნელად. ამჯერად მინდოდა გამომეყენებინა Jacdac ინტერფეისი ორი GameGo- ს ერთმანეთთან დასაკავშირებლად და მოთამაშეებს საშუალება მიეცათ იბრძოდნენ უპირატესობისთვის მულტიპლეიერის გამანადგურებელ თამაშში. სამწუხაროდ, აღმოვაჩინე, რომ Jacdac Multiplayer– ის ბლოკის პროგრამირება ჯერჯერობით ბეტა ეტაპზეა და აქვს შეცდომები - ჯერ კიდევ შესაძლებელია უფრო მარტივი თამაშების გაკეთება, მაგრამ წარმატებას არ მოუტანს ჩემს საბრძოლო თამაშს. ამრიგად, ამ სასწავლო პროგრამაში ვაქვეყნებ თამაშის სამ ვერსიას (რომელსაც მე ვუწოდებდი "Cthulhu Combat":))
- ერთი მოთამაშის ვერსია მარტივი AI ოპონენტით
- Multiplayer ვერსია უნდა ითამაშოს Arcade სიმულაცია
- Multiplayer ვერსია Jacdac– ით (არასრული, მოგვიანებით განახლდება)
მარაგები
თამაში წადი
Microsoft Makecode Arcade
ნაბიჯი 1: დაწყებისა და Round_setup ფუნქციების შესახებ
მე დეტალურად აღვწერ ერთი მოთამაშის თამაშის კოდირებას და შემდეგ მომდევნო ნაბიჯებში ჩვენ განვიხილავთ თუ როგორ უნდა მივიღოთ იგი
ა) სიმულატორი მულტიპლეიერი
ბ) ჟადაკის მულტიპლეიერი.
ჩვენ ვიწყებთ კრამიტის რუქის დაყენებას მუქი დუნდულაზე და მოთამაშისა და AI ბოტისთვის სპრიტების შექმნას - ორივე მათგანი ეკუთვნის მოთამაშეს. ჩვენ დავაყენეთ მათი y ღერძის აჩქარება 600 -მდე - ასე რომ ისინი არ დაფრინავენ ხტუნვის შემდეგ. ჩვენ ასევე ვაყენებთ ჭურვებს ბოტისა და მოთამაშისგან round_setup ფუნქციის გამოძახებამდე. round_setup ფუნქცია ზრუნავს ჩვენთვის ახალი რაუნდის მომზადებაზე - მიზეზი, რის გამოც ჩვენ მას ფუნქცია ვაკეთებთ არის ის, რომ თამაშში შეიძლება იყოს სულ რაღაც 3 რაუნდი და ჩვენ გვსურს, რომ თავიდან ავიცილოთ ერთი და იგივე კოდის გამეორება. ამ ფუნქციაში ჯერ ჩვენ ვამოწმებთ, აქვს თუ არა რომელიმე მოთამაშეს 2 გამარჯვება - თუ ეს მდგომარეობა შეაფასებს როგორც ჭეშმარიტს, მაშინ თამაში დასრულებულია. თუ ორივე მოთამაშეს აქვს ორზე ნაკლები გამარჯვება, ჩვენ ვადიდებთ რაუნდის_ნუმ ცვლადს ერთზე და ვდებთ მოთამაშეებს საწყის ადგილებზე, ვავსებთ მათ სიცოცხლეს 100 -მდე და ვაცხადებთ ახალი რაუნდის დაწყებას.
ნაბიჯი 2: თამაშის ნაკადი
ამ თამაშში სამყარო თავისთავად სტატიკურია და თამაშის ნაკადი უკავშირდება მოთამაშეთა ქმედებებს. ოთხ ბლოკში ჩვენ განვსაზღვრავთ თამაშის წესების უმეტესობას, ეს ბლოკებია: ზევით ღილაკზე დაჭერილი, ქვემოთ ღილაკზე დაჭერილი, ღილაკზე დაჭერილი და B ღილაკზე დაჭერილი. მოდით შევხედოთ თითოეულ ამ ბლოკს.
ზევით ღილაკზე დაჭერილი - ორმაგი ნახტომის ლოგიკა. თუ ჩვენ დააჭირეთ ღილაკს გადასვლა 3 -ჯერ ნაკლებჯერ, მაშინ ჩვენ დავაყენებთ მოთამაშეს vy სიჩქარეზე - 140 (მოძრაობს ზემოთ). ჩვენს მოთამაშეს აქვს vy აჩქარება 600 -ზე, ასე რომ ერთხელ გადახტომისას ჩვენი სიჩქარე სწრაფად შემცირდება. როგორც კი ის მიაღწევს 0 -ს (ვერტიკალურ ღერძზე არ მოძრაობს) ჩვენ კვლავ jump_count- ს ვაყენებთ 0 -ზე.
ქვემოთ დაჭერილი ღილაკი - მოქმედების ფარის ლოგიკა. თუ დააჭირეთ ღილაკს ქვემოთ მოთამაშე ცვლის მის სურათს "დაცულად" და ცვლის ცვლადს 1.
ღილაკზე A დაჭერით - გაუშვით ჭურვი. ეს ერთი საკმაოდ თვითგამორკვევია.
B ღილაკზე დაჭერილი - შეტევის შეტევა, ფარის მსგავსი განხორციელებისას.
ჩვენ ვაყენებთ მოთამაშეთა სპრიტების გამოსახულებებს და მათ დაცულ/შეტევითი ცვლადებს 0 ყოველ 500 ms თამაშში ყოველ.. ms ბლოკზე. ჩვენ შეგვეძლო თითოეული მოქმედებისათვის დამოუკიდებელი ქრონომეტრების დაყენება, მაგრამ სიმარტივისთვის ჩვენ უბრალოდ გამოვიყენებთ თამაშის განახლების მთავარ მარყუჟს.
მოგების პირობები აქ საკმაოდ მარტივია - როდესაც მოთამაშეთა სიცოცხლე 0 -ს მიაღწევს, სხვა მოთამაშემ მოიგო რაუნდი, ჩვენ შემდეგ მოთამაშეთა მიერ მოგების რაოდენობას ვინახავთ ცვლადში.
დაბოლოს, არსებობს ორი ბლოკი, რომელიც აკონტროლებს დიაპაზონის თავდასხმის დაზიანებას და შეტევის ზიანს. თითოეულ მათგანში ჩვენ ვამოწმებთ სპრაიტის შეჯახებას და თუ დაცული/შემტევი ცვლადი შემტევი მოთამაშისთვის არის 0/1.
ნაბიჯი 3: თამაში 1: AI მოწინააღმდეგე
პირველ თამაშში ჩვენ შევქმნით შედარებით უბრალო AI მოწინააღმდეგეს, რომ იყოს მეორე მოთამაშე. თამაშის განახლებაში ყოველ 200 ms ჩვენ პირველ რიგში ვაკეთებთ მანძილის შემოწმებას მოთამაშესა და AI– ს - თუ ის 20 – ზე ნაკლებია ჩვენ ვაყენებთ ჩვენს AI– ს მელულურ რეჟიმში, როდესაც melee თავდასხმის შანსი 30 – მდე იზრდება და თავდასხმის შანსი 30 – მდეა. თუ მანძილი უფრო მაღალია 20 -ზე მეტი ჩვენ შეტევის შანსს ვაქცევთ ნულს (არამცირე შეტევაში, რადგან მოთამაშე ძალიან შორს არის) და გადავიტანთ შანსს 70 -ზე. მას შემდეგ რაც ცვლადების მოქმედების შანსები დადგენილია, ჩვენ ვაგრძელებთ ამ მოქმედებების შესრულებას მითითებული შანსებით. თუ თქვენ თვითონ ცდილობთ თამაშობდეთ ამ მარტივი AI– ს წინააღმდეგ, დაინახავთ, რომ მიუხედავად მისი ქცევისა ძალიან მარტივია, მის წინააღმდეგ მოგება ადვილი არ არის - როგორც ხშირად კომპიუტერთან კონტროლირებადი მეტოქეების შემთხვევაში ის იმარჯვებს ძირითადად იმიტომ რომ მას შეუძლია წამში მეტი მოქმედების გაკეთება ვიდრე ადამიანი მოთამაშე.
თუ კოდირებისას დავრჩებოდით, შეგიძლიათ გადმოწეროთ სრული კოდი ჩვენი პროექტის GitHub საცავში და გახსნათ იგი Makecode Arcade– ში.
ნაბიჯი 4: თამაში 2: სიმულატორი Multiplayer
თამაშის ვარიანტი ორი მოთამაშისთვის სიმულაციაში ძალიან ჰგავს ერთი მოთამაშის ვერსიას, გარდა იმისა, რომ ჩვენ ვცვლით AI ქცევის ბლოკს ოთხი მოთამაშეზე 2 ღილაკზე დაჭერილი ბლოკით - შინაარსი ამ ბლოკებში, რომელიც ასახავს მოთამაშეს იგივე ბლოკების შინაარსს 1. აქვს გადახედეთ ეკრანის სურათს, რათა უკეთ გაეცნოთ რა ცვლილებების შეტანა გჭირდებათ. გარდა ამისა, ჩვენ ასევე უნდა დავამატოთ გადატანა მოთამაშე 2 ღილაკებით დაბლოკვის დაწყების ფუნქცია და შეცვალოს ბოლო ეკრანი მოთამაშეს ორი თამაშისთვის WIN ნაცვლად LOSE.
ნაბიჯი 5: თამაში 3: Jacdac Multiplayer
მე ვიპოვე Jacdac Multiplayer– ის საზოგადოებრივი განხორციელება Makecode არკადული ბლოკებით ამ ფორუმის თემაში
forum.makecode.com/t/new-extension-real-mu…
მე გამოვცადე მაგალითი თამაში იქ (Space Invaders) და აღმოვაჩინე, რომ ის ძალიან კარგად მუშაობდა. სამწუხაროდ, Cthulhu Combat– ის თამაშის მექანიკა იყენებს უამრავ ცვლადს და როგორც ჩანს, რეალური Multiplayer გაფართოებები ჯერ არ უჭერს მხარს სინქრონიზაციის ცვლადებს - ასე რომ, მე დავიწყე მუშაობა, ორი მოთამაშის მოქმედება სინქრონიზებულია მოწყობილობებში, მაგრამ სიცოცხლე არ შეიძლება არ დაეცემა ოპონენტების მოწყობილობაზე. ასევე არის რაღაც არასწორი ჭურვის მექანიკაში, ჭურვები არ ქრება კედელზე მოხვედრის შემდეგ, რაც იწვევს თამაშს კავშირის დაკარგვას მას შემდეგ, რაც დაახლოებით 10 ჭურვი გაისროლეს.
შეგიძლიათ სცადოთ მულტიპლეიერი გადმოწეროთ-p.webp
ნაბიჯი 6: დაე დაიწყოს Cthulhu ბრძოლა
ჯერ კიდევ ბევრი გაუმჯობესებაა შესაძლებელი ჩვენი მარტივი საბრძოლო თამაშისთვის - მაგალითად, თქვენ შეგიძლიათ დაამატოთ უფრო რთული AI ქცევა ან გამოიყენოთ გაფართოება ღილაკების კომბინაციისა და/ან ანიმაციის თანმიმდევრობის დასამატებლად. წარმატებებს გისურვებთ და გაერთეთ სანამ საკუთარ თამაშებს პროგრამირებთ GameGo და Makecode Arcade– ით.
თუ თქვენ შექმნით თამაშის გაუმჯობესებულ ვერსიას, გაუზიარეთ იგი ქვემოთ მოცემულ კომენტარებში! GameGo– ს და მწარმოებლებისა და STEM პედაგოგების დამატებითი აღჭურვილობის შესახებ დამატებითი ინფორმაციისათვის ეწვიეთ ჩვენს ვებ გვერდს, https://tinkergen.com/ და გამოიწერეთ ჩვენი ბიულეტენი.
გირჩევთ:
საზღვაო ბრძოლა VG100 UM-SJTU: 9 ნაბიჯი
საზღვაო ბრძოლა VG100 UM-SJTU: ჩვენ ვართ ჯგუფი 13. ჩვენი ჯგუფის სახელია “ UPCOMING ”, რაც მიუთითებს იმედზე, რომ ჩვენ ვიქნებით ძლიერი, შემოქმედებითი და კონკურენტუნარიანი ჯგუფი. ჯგუფი შედგება 5 წევრისგან: ლიდერი იუჰაო ვანგი, ჟენგ ვუ, ჯიიაო ვუ, ჯიაუნ ზუ და იი სუნი
Platformer უსასრულო დონეზე GameGo With Makecode Arcade: 5 ნაბიჯი (სურათებით)
Platformer უსასრულო დონეზე GameGo With Makecode Arcade: GameGo არის Microsoft Makecode თავსებადი რეტრო სათამაშო პორტატული კონსოლი, რომელიც შემუშავებულია TinkerGen STEM განათლების მიერ. იგი დაფუძნებულია STM32F401RET6 ARM Cortex M4 ჩიპზე და დამზადებულია STEM პედაგოგებისთვის ან უბრალოდ ადამიანებისთვის, ვისაც უყვარს გართობა რეტრო ვიდეო თამაშების შექმნით
საბრძოლო თვითმფრინავების ოთხკუთხედები, ანუ ნამდვილი ძაღლების ბრძოლა: 8 ნაბიჯი (სურათებით)
საბრძოლო უპილოტო საფრენი აპარატების ნამდვილი გამოცდილება ძაღლების ბრძოლაში: კეთილი იყოს თქვენი მობრძანება ჩემს " ible " #37 ჩვენ უნდა ვაღიაროთ, რომ ბაზარზე არსებული საბრძოლო თვითმფრინავები ცოტა არეულია. ძალიან ძნელი გასაგებია ვინ იგებს და ვინ წაგებს. როდესაც ერთი უპილოტო თვითმფრინავი იშლება, მეორე მიჰყვება (ეჯახება ერთმანეთს
Battle City რიმეიკი GameGo With Makecode Arcade: 4 ნაბიჯი (სურათებით)
Battle City Remake on GameGo With Makecode Arcade: GameGo არის Microsoft Makecode თავსებადი რეტრო სათამაშო პორტატული კონსოლი, რომელიც შემუშავებულია TinkerGen STEM განათლების მიერ. იგი დაფუძნებულია STM32F401RET6 ARM Cortex M4 ჩიპზე და დამზადებულია STEM პედაგოგებისთვის ან უბრალოდ მათთვის, ვისაც გართობა უყვარს რეტრო ვიდეო გაზის შექმნა
შეწყვეტის მოძრაობის შექმნა და რედაქტირება: მეორე მსოფლიო ომი ყაენის ბრძოლა: 6 ნაბიჯი
შეწყვეტის მოძრაობის შექმნა და რედაქტირება: მეორე მსოფლიო ომი ყაენის ბრძოლა: ყაენის ბრძოლა იყო ბრძოლა მეორე მსოფლიო ომში და ახლა მე ამას ვიმეორებ ლეგოს სტოპ მოძრაობით, და აქ ნაბიჯ-ნაბიჯ როგორ გავაკეთო და შეცვალო მეორე მსოფლიო ომის შეჩერება