Isi kandungan:

(Multiplayer) Berjuang di GameGo Dengan Makecode Arcade: 6 Langkah
(Multiplayer) Berjuang di GameGo Dengan Makecode Arcade: 6 Langkah

Video: (Multiplayer) Berjuang di GameGo Dengan Makecode Arcade: 6 Langkah

Video: (Multiplayer) Berjuang di GameGo Dengan Makecode Arcade: 6 Langkah
Video: HINOKAM IKAGURAAA!!! FIGHT SCENE 2024, Disember
Anonim

GameGo adalah konsol mudah alih permainan retro yang serasi dengan Microsoft Makecode yang dibangunkan oleh pendidikan TinkerGen STEM. Ia berdasarkan cip STM32F401RET6 ARM Cortex M4 dan dibuat untuk pendidik STEM atau hanya orang yang suka berseronok membuat permainan video retro. Anda boleh mengikuti tutorial ini dan mencuba permainan di simulator Makecode Arcade dan kemudian jalankan di GameGo.

Dalam artikel yang kami terbitkan sebelum kami sudah berusaha membuat permainan platformer dan Battle City Remake. Kali ini saya mahu menggunakan antara muka Jacdac untuk menyambungkan dua GameGo bersama dan membolehkan pemain memperjuangkan ketuanan dalam permainan tempur berbilang pemain. Sayangnya, saya dapati bahawa pengaturcaraan blok untuk multipemain Jacdac masih dalam tahap beta seperti sekarang dan mempunyai beberapa bug - masih mungkin untuk membuat permainan yang lebih sederhana, tetapi tidak beruntung untuk permainan pertempuran saya. Oleh itu, dalam arahan ini saya menerbitkan tiga versi permainan (yang saya namakan "Cthulhu Combat":))

- versi pemain tunggal dengan lawan AI sederhana

- versi berbilang pemain untuk dimainkan dalam simulasi Arcade

- versi berbilang pemain dengan Jacdac (tidak lengkap, akan dikemas kini kemudian)

Bekalan

GameGo

Arked Makecode Microsoft

Langkah 1: Pada Mula dan Fungsi Round_setup

Pada Mula dan Fungsi Round_setup
Pada Mula dan Fungsi Round_setup

Saya akan menerangkan pengekodan permainan pemain tunggal secara terperinci dan kemudian pada langkah seterusnya kita membincangkan cara membuatnya

a) berbilang pemain simulator

b) Berbilang pemain Jacdac.

Kami bermula dengan menetapkan peta jubin ke ruang bawah tanah gelap dan membuat sprite untuk pemain dan bot AI - kedua-duanya akan menjadi milik Pemain. Kami menetapkan pecutan paksi-y mereka ke 600 - jadi mereka tidak akan terbang setelah melompat. Kami juga memulakan proyektil dari bot dan pemain sebelum memanggil fungsi round_setup. fungsi round_setup mengurus persiapan pusingan baru untuk kami - sebab kami menjadikannya fungsi adalah kerana boleh ada sebanyak 3 pusingan keseluruhan dalam permainan dan kami ingin mengelakkan pengulangan kod yang sama. Dalam fungsi itu terlebih dahulu kami memeriksa apakah ada pemain yang mempunyai 2 kemenangan - jika keadaan ini dinilai sebagai Benar, maka permainan akan berakhir. Sekiranya kedua-dua pemain mempunyai kurang dari dua kemenangan, kami menambah pemboleh ubah round_num satu dan meletakkan pemain di tempat permulaan mereka, menambah hidup mereka menjadi 100 dan menyatakan permulaan pusingan baru.

Langkah 2: Aliran Permainan

Aliran Permainan
Aliran Permainan

Dalam permainan ini, dunia itu sendiri statik dan aliran permainan ditambatkan kepada tindakan pemain. Dalam empat blok kami menentukan sebahagian besar aturan permainan, blok ini adalah: tombol atas ditekan, tombol bawah ditekan, pada tombol A ditekan dan pada tombol B ditekan. Mari lihat setiap blok ini.

butang atas ditekan - logik lompat berganda. Sekiranya kita menekan butang lompat kurang dari 3 kali, maka kita menetapkan kelajuan pemain vy - 140 (bergerak ke atas). Pemain kami mempunyai percepatan set ke 600, jadi setelah kami melompat, halaju kami akan menurun dengan cepat. Setelah mencapai 0 (tidak bergerak pada paksi menegak) kita menetapkan lompatan_kira menjadi 0 lagi.

butang bawah ditekan - logik perisai serangan jarak jauh. Sekiranya butang bawah ditekan pemain menukar gambarnya menjadi "terlindung" dan menetapkan pemboleh ubah terlindung menjadi 1.

pada butang A ditekan - nyalakan peluru. Yang cukup jelas.

pada butang B ditekan - serangan jarak dekat, mirip dengan perisai dalam pelaksanaan.

Kami menetapkan gambar sprite pemain dan pemboleh ubah terlindung / menyerang mereka menjadi 0 setiap 500 ms pada kemas kini permainan setiap.. blok ms. Kami boleh menetapkan pemasa bebas untuk setiap tindakan, tetapi demi kesederhanaan kami hanya akan menggunakan gelung permainan utama.

Syarat kemenangan di sini cukup mudah - apabila umur pemain mencapai 0, pemain lain telah memenangi pusingan, kami kemudian menyimpan jumlah kemenangan oleh pemain dalam pemboleh ubah.

Akhirnya, terdapat dua blok yang mengawal kerosakan serangan jarak jauh dan kerosakan serangan jarak dekat. Di masing-masing, kami memeriksa perlanggaran sprite dan jika pemboleh ubah terlindung / menyerang untuk pemain penyerang ditetapkan ke 0/1.

Langkah 3: Permainan 1: Penentang AI

Permainan 1: Penentang AI
Permainan 1: Penentang AI

Pada permainan pertama kami akan membuat lawan AI yang agak sederhana untuk menjadi pemain kedua. Di dalam kemas kini permainan setiap 200 ms, kami terlebih dahulu melakukan pemeriksaan jarak antara pemain dan AI - jika kurang dari 20, kami menetapkan AI kami dalam mod jarak dekat dengan meningkatkan peluang serangan jarak dekat menjadi 30 dan peluang serangan menjadi 30. Jika jaraknya lebih tinggi daripada 20, kami menetapkan peluang serangan jarak dekat menjadi sifar (tidak ada pintasan dalam serangan jarak dekat, kerana pemain terlalu jauh) dan memindahkan peluang ke 70. Setelah pemboleh ubah untuk peluang aksi telah ditetapkan, kami terus melaksanakan tindakan ini dengan peluang yang ditentukan. Sekiranya anda cuba bermain dengan AI sederhana ini sendiri, anda akan melihat bahawa walaupun tingkah lakunya sangat sederhana, menang tidak mudah - seperti yang sering berlaku pada lawan yang dikendalikan komputer, ia akan menang kerana ia dapat melakukan lebih banyak aksi sesaat daripada satu pemain manusia.

Sekiranya anda buntu semasa membuat pengekodan, anda boleh memuat turun kod penuh di repositori GitHub kami untuk projek ini dan membukanya di Makecode Arcade.

Langkah 4: Permainan 2: Multiplayer Simulator

Permainan 2: Multiplayer Simulator
Permainan 2: Multiplayer Simulator
Permainan 2: Multiplayer Simulator
Permainan 2: Multiplayer Simulator

Varian permainan untuk dua pemain dalam simulasi sangat mirip dengan versi pemain tunggal, kecuali bahawa kami mengganti blok tingkah laku AI dengan empat blok pemain butang 2 pada pemain - dengan kandungan di dalam blok ini mencerminkan kandungan blok yang sama untuk pemain 1. Mempunyai lihat tangkapan skrin untuk mendapatkan idea yang lebih baik apa perubahan yang perlu anda buat. Selain itu kita juga perlu menambahkan pemain bergerak 2 dengan butang menyekat fungsi permulaan dan menukar skrin akhir untuk pemain dua permainan menjadi MENANG dan bukan Kalah.

Langkah 5: Permainan 3: Jacdac Multiplayer

Permainan 3: Jacdac Multiplayer
Permainan 3: Jacdac Multiplayer

Saya telah menemui pelaksanaan komuniti multiplayer Jacdac dengan blok arked Makecode di utas forum ini

forum.makecode.com/t/new-extension-real-mu…

Saya menguji permainan contoh di sana (Space Invaders) dan mendapati ia berfungsi dengan baik. Malangnya, mekanik permainan Cthulhu Combat menggunakan banyak pemboleh ubah dan nampaknya sambungan Real Multiplayer belum menyokong pembolehubah penyegerakan - jadi saya berjaya, tindakan kedua pemain diselaraskan di seluruh peranti, tetapi kehidupan tidak dapat dilakukan Jatuhkan pada peranti lawan. Juga ada sesuatu yang tidak kena dengan mekanik proyektil, proyektil sepertinya tidak hilang setelah memukul dinding, yang menyebabkan permainan terputus hubungan setelah sekitar 10 proyektil ditembakkan.

Anda boleh mencuba berbilang pemain dengan memuat turun fail-p.webp

Langkah 6: Biarkan Pertempuran Cthulhu Bermula

Biarkan Pertempuran Cthulhu Bermula!
Biarkan Pertempuran Cthulhu Bermula!

Masih banyak penambahbaikan yang dapat dilakukan pada permainan pertempuran sederhana kami - sebagai contoh, anda dapat menambahkan tingkah laku AI yang lebih rumit atau menggunakan peluasan untuk menambahkan kombo butang dan / atau urutan animasi. Semoga berjaya dan bersenang-senang semasa anda memprogram permainan anda sendiri dengan GameGo dan Makecode Arcade.

Sekiranya anda membuat versi permainan yang lebih baik, bagikan dalam komen di bawah! Untuk maklumat lebih lanjut mengenai GameGo dan perkakasan lain untuk pembuat dan pendidik STEM, lawati laman web kami, https://tinkergen.com/ dan langgan buletin kami.

Disyorkan: