Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Эхлэх ба Round_setup функцууд дээр
- Алхам 2: Тоглоомын урсгал
- Алхам 3: Тоглоом 1: AI өрсөлдөгч
- Алхам 4: Тоглоом 2: Олон тоглогчийн симулятор
- Алхам 5: Тоглоом 3: Jacdac Multiplayer
- Алхам 6: Cthulhu тулааныг эхлүүлцгээе
Видео: (Олон тоглогч) Makecode Arcade ашиглан GameGo дээр тулалдах: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
GameGo бол TinkerGen STEM -ийн боловсруулсан Microsoft Makecode нийцтэй чимэг тоглоомын зөөврийн консол юм. Энэ нь STM32F401RET6 ARM Cortex M4 чип дээр суурилсан бөгөөд STEM сурган хүмүүжүүлэгчид эсвэл чимэг видео тоглоом бүтээх дуртай хүмүүст зориулагдсан бөгөөд та энэ хичээлийг дагаж Makecode Arcade симулятор дээр тоглоомыг туршиж үзээд GameGo дээр ажиллуулж болно.
Платформер тоглоом, Battle City Remake хийх талаар гараа туршиж үзэхээсээ өмнө бидний нийтэлсэн нийтлэлүүдэд. Энэ удаад би Jacdac интерфэйсийг ашиглан хоёр GameGo -г хооронд нь холбож, тоглогчид олон тоглогчийн сөнөөгч тоглоомд давуу эрхийн төлөө тэмцэхийг зөвшөөрөхийг хүссэн юм. Харамсалтай нь Jacdac олон тоглогчийн блок програмчлал нь одоогоор бета шатанд явж байгаа бөгөөд зарим алдаатай байгаа гэдгийг олж мэдсэн - илүү энгийн тоглоом хийх боломжтой хэвээр байгаа ч миний тулааны тоглоомонд аз таарсангүй. Тиймээс, энэ зааварчилгаанд би тоглоомын гурван хувилбарыг нийтэлсэн (үүнийг "Cthulhu Combat" гэж нэрлэсэн:))
- хиймэл оюун ухааны энгийн өрсөлдөгчтэй ганц тоглогчийн хувилбар
- Зоосон машин симуляцид тоглох олон тоглогчийн хувилбар
- Jacdac -тай олон тоглогчийн хувилбар (бүрэн бус, дараа нь шинэчлэгдэх болно)
Хангамж
GameGo
Microsoft Makecode аркад
Алхам 1: Эхлэх ба Round_setup функцууд дээр
Би ганц тоглогчийн тоглоомыг кодлох талаар нарийвчлан тайлбарлах болно, дараа нь үүнийг хэрхэн яаж хийх талаар ярилцах болно
а) симулятор олон тоглогч
б) Жакдак олон тоглогч.
Бид плитаны газрын зургийг харанхуй гянданд тохируулж, тоглогч болон AI ботод зориулсан спрайт үүсгэж эхэлдэг бөгөөд хоёулаа Тоглогчийн төрөлд хамаарна. Бид тэдний y тэнхлэгийн хурдатгалыг 600 болгож тохируулсан бөгөөд ингэснээр тэд үсрээд нисэхгүй. Мөн round_setup функцийг дуудахаасаа өмнө бид сумыг тоглогч болон тоглогчоос эхлүүлдэг. round_setup функц нь бидний хувьд шинэ тойргийн бэлтгэлийг хангаж өгдөг - үүнийг функц болгож байгаагийн учир нь тоглоомонд нийт 3 тойрог байж болох бөгөөд бид ижил кодыг давтахгүй байхыг хүсдэг. Энэ функц дээр эхлээд тоглогчдын аль нэг нь 2 хожил авсан эсэхийг шалгадаг. Хэрэв энэ нөхцөл үнэн гэж үнэлэгдвэл тоглоом дууссан. Хэрэв хоёр тоглогч хоёулаа хожил дутуу байвал бид round_num хувьсагчийг нэгээр нэмж, тоглогчдыг гарааны байрлалд байрлуулж, тэдний амьдралыг 100 болгож дүүргэж, шинэ тойргийн эхлэлийг зарлаж байна.
Алхам 2: Тоглоомын урсгал
Энэ тоглоомонд дэлхий өөрөө статик бөгөөд тоглоомын урсгалыг тоглогчдын үйлдэлд холбож өгдөг. Дөрвөн блок дээр бид ихэнх тоглоомын дүрмийг тодорхойлдог бөгөөд эдгээр блокууд нь: дээш товчлуур дарагдсан, доош товчлуур дарагдсан, А товчлуур дарагдсан, В товчлуур дарагдсан байна. Эдгээр блок тус бүрийг авч үзье.
дээр товчлуур дарагдсан - давхар үсрэлтийн логик. Хэрэв бид үсрэх товчлуурыг 3 -аас бага удаа дарсан бол тоглогчийн хурдыг - 140 (дээш хөдөлж) болгоно. Манай тоглогч 600 хурдатгал хурдасгууртай тул үсрэх үед бидний хурд хурдан буурах болно. Энэ нь 0 хүрэхэд (босоо тэнхлэг дээр хөдлөхгүй) бид jump_count -ийг дахин 0 болгож тохируулна.
доош товчлуур дээр дарагдсан - халдлагын бамбай логик. Хэрэв доош товчлуур дарагдсан бол тоглогч дүрсийг "хамгаалагдсан" болгож, хамгаалагдсан хувьсагчийг 1 болгож тохируулна.
А товчлуур дээр дарагдсан - сум харвах. Энэ нь бараг л өөрийгөө тайлбарладаг.
В товчлуур дээр дарагдсан - хэрэгжилтэнд бамбайтай төстэй тулалдааны довтолгоо.
Бид тоглогчдын спрайтууд болон тэдний хамгаалагдсан/довтолж буй хувьсагчдын зургийг тоглоомын шинэчлэлт бүрт 500 ms тутамд 0 болгож тохируулдаг. Бид үйлдэл бүрийн хувьд бие даасан таймер тохируулж болох байсан, гэхдээ хялбар болгохын тулд бид тоглоомын шинэчлэлтийн үндсэн хүрдийг ашиглах болно.
Энд хожих нөхцөл нь маш хялбар байдаг - тоглогчийн амьдрал 0 хүрэхэд нөгөө тоглогч тойрог дээр ялсан бол бид тоглогчийн хожсон тоог хувьсагч хэлбэрээр хадгалдаг.
Эцэст нь довтолгооны хохирол болон тулааны довтолгооны хохирлыг хянадаг хоёр блок байдаг. Тэд тус бүрт спрайт мөргөлдөөн байгаа эсэхийг шалгаж, довтлогч тоглогчийн хамгаалалт/довтолгооны хувьсагчийг 0/1 болгож тохируулсан болно.
Алхам 3: Тоглоом 1: AI өрсөлдөгч
Эхний тоглоомонд бид харьцангуй энгийн хиймэл оюун ухааны өрсөлдөгчийг бий болгож, хоёр дахь тоглогч болно. Тоглоомын шинэчлэлт дээр 200 мс тутамд бид эхлээд тоглогч болон хиймэл оюун ухаан хоёрын хоорондох зайг шалгадаг. Хэрэв 20 -оос бага бол бид хиймэл оюун ухаанаа ойртуулах горимд 30, дайрах магадлалыг 30 болгож тохируулна. Хэрэв зай илүү өндөр байвал 20 -оос дээш бол бид тулалдааны довтолгооны магадлалыг тэг болгож (тулалдааны довтолгоонд ямар ч пинт байхгүй, тоглогч хэт хол байгаа тул), боломжийг 70 болгоно. Үйлдлийн магадлалын хувьсагчийг тохируулсны дараа бид эдгээр үйлдлүүдийг тогтоосон боломжоор гүйцэтгэж үргэлжлүүлнэ. Хэрэв та энэ энгийн хиймэл оюун ухааны эсрэг тоглохыг оролдвол түүний зан байдал маш энгийн боловч үүнийг ялах нь тийм ч хялбар биш болохыг олж харах болно. хүний тоглогч.
Хэрэв та кодлох явцад гацсан бол энэ төслийн бүрэн кодыг манай GitHub репозитороос татаж аваад Makecode Arcade дээр нээж болно.
Алхам 4: Тоглоом 2: Олон тоглогчийн симулятор
Симуляци хийх хоёр тоглогчийн тоглоомын хувилбар нь нэг тоглогчийн хувилбартай маш төстэй юм, гэхдээ бид хиймэл оюун ухааны зан үйлийн блокыг 4 тоглогч дээр 2 товчлуур дарагдсан 4 блокоор сольж өгдөг. Дэлгэцийн агшинг үзээд ямар өөрчлөлт хийх шаардлагатай байгааг олж мэдээрэй. Үүнээс гадна бид эхлэх функц дээр товчлуурыг дарах 2 -р тоглуулагчийг нэмж, хоёр тоглолтын төгсгөлийн дэлгэцийг LOSE -ийн оронд WIN болгож өөрчлөх хэрэгтэй.
Алхам 5: Тоглоом 3: Jacdac Multiplayer
Би энэ форумын сэдвээс Makecode аркад блок бүхий Jacdac олон тоглогчийн олон нийтийн хэрэгжилтийг олж мэдсэн
forum.makecode.com/t/new-extension-real-mu…
Би жишээ тоглоомыг (Space Invaders) туршиж үзээд маш сайн ажиллаж байгааг олж мэдэв. Харамсалтай нь, Cthulhu Combat -ийн тоглоомын механикууд маш олон хувьсагч ашигладаг бөгөөд Бодит олон тоглогчийн өргөтгөлүүд нь хувьсагчдыг синхрончлохыг хараахан дэмждэггүй юм шиг санагдаж байна. Тиймээс би үүнийг ажиллууллаа, хоёр тоглогчийн үйлдэл төхөөрөмжүүд дээр синхрончлогдсон боловч амьдрал тийм биш байсан. Өрсөлдөгчийнхөө төхөөрөмжийг бүү хая. Мөн сумны механикт алдаа гардаг, сумнууд хананд цохигдсоны дараа алга болдоггүй юм шиг байгаа нь 10 орчим пуужин харвасны дараа тоглоом холбоо тасардаг.
Та манай GitHub репозитороос-p.webp
Алхам 6: Cthulhu тулааныг эхлүүлцгээе
Бидний энгийн тулааны тоглоомыг сайжруулах олон зүйл байсаар байна. Жишээлбэл, та хиймэл оюун ухааны илүү төвөгтэй зан үйлийг нэмж эсвэл товчлуурын хослол ба/эсвэл анимацийн дарааллыг нэмэхийн тулд өргөтгөлийг ашиглаж болно. GameGo болон Makecode Arcade ашиглан өөрийн тоглоомыг програмчилж байхдаа амжилт хүсье, хөгжилтэй байгаарай.
Хэрэв та тоглоомын сайжруулсан хувилбарыг хийвэл доорх сэтгэгдлээр хуваалцаарай! GameGo болон үйлдвэрлэгч болон STEM сургагчдад зориулсан бусад тоног төхөөрөмжийн талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл манай вэбсайт https://tinkergen.com/ хаягаар орж манай мэдээллийн хуудсыг захиалаарай.
Зөвлөмж болгож буй:
Makecode Arcade ашиглан GameGo дээр хязгааргүй түвшинтэй платформер: 5 алхам (зурагтай)
Makecode Arcade ашиглан GameGo дээр хязгааргүй түвшний платформер: GameGo бол TinkerGen STEM боловсролоор боловсруулсан Microsoft Makecode нийцтэй чимэг тоглоомын зөөврийн консол юм. Энэ нь STM32F401RET6 ARM Cortex M4 чип дээр суурилсан бөгөөд STEM сурган хүмүүжүүлэгчид эсвэл чимэг видео тоглоом бүтээх дуртай хүмүүст зориулагдсан болно
I2C: 9 алхам (зурагтай) бүхий олон тооны никси хоолойг удирдах олон талын I/O Extender ПХБ
I2C ашиглан олон тооны никси хоолойг удирдах олон талт I/O Extender ПХБ: Одоогийн байдлаар хувцасны чимэг хийх зориулалттай nixie хоолойг амьдралд нэвтрүүлэх сонирхол их байна. Nixie хоолойн цагны иж бүрдлийг зах зээл дээр худалдаанд гаргах боломжтой. Оросын хуучин никси хоолойн хуучин хувьцааны худалдаа идэвхтэй явагдаж байсан бололтой. Мөн энд байгаа Instructables дээр
Battle City ремейкийг GameGo дээр Makecode Arcade ашиглан: 4 алхам (зурагтай)
Battle City -ийг GameGo дээр Makecode Arcade ашиглан дахин хийх: GameGo бол TinkerGen STEM боловсролоос боловсруулсан Microsoft Makecode нийцтэй чимэг тоглоомын зөөврийн консол юм. Энэ нь STM32F401RET6 ARM Cortex M4 чип дээр суурилсан бөгөөд STEM сурган хүмүүжүүлэгчид эсвэл чимэг видео бичлэг хийх дуртай хүмүүст зориулагдсан болно
ESP32 болон ESP8266-ийг ашиглан ESP-NOW ашиглан олон ESP яриа хэрхэн хийх вэ: 8 алхам
ESP32 болон ESP8266-ийг ашиглан ESP-NOW ашиглан хэрхэн олон ESP яриа хийх вэ: Миний хэрэгжүүлж буй төсөл дээр чиглүүлэгчгүйгээр хоорондоо ярихын тулд надад олон ESP хэрэгтэй болно. Үүнийг хийхийн тулд би ESP-NOW-ийг ашиглан ESP дээр чиглүүлэгчгүйгээр хоорондоо утасгүй холбоо тогтоох боломжтой болно
Pickcraft Тоглоомын Тоглогч Arduino -ийг Utsource ашиглан: 6 алхам
Pickcraft тоглоомын тоглогч нь Arduino -ийг эх сурвалжтай ашигладаг: Энэ бол ArduinoPickCrafter -ийг ашиглан пикник тоглоомын тоглогч хэрхэн хийх талаар сурах маш энгийн заавар юм. Идэвхгүй эсвэл офлайн байхдаа ч гэсэн! Зүгээр л