Berikan pemain Anda sesuatu untuk diambil saat mereka maju melalui permainan Anda.

Power-up dan barang koleksi adalah elemen game penting yang dapat meningkatkan pengalaman gameplay dan menambah keseruan pada game arcade. Mereka memberi pemain kemampuan tambahan, hadiah, dan tantangan. Dengan perpustakaan arcade, Anda akan dapat membuat game yang menarik dengan power-up dan barang koleksi dalam waktu singkat.

Buat Game Sederhana

Mulailah dengan pengaturan dasar di mana pemain bisa bergerak dalam empat arah (kiri, kanan, atas, dan bawah) menggunakan input keyboard. Selain itu, perkenalkan satu objek musuh untuk memberikan interaksi dalam lingkungan game.

Kode yang digunakan dalam artikel ini tersedia di sini repositori GitHub dan gratis untuk Anda gunakan di bawah lisensi MIT.

Buat file baru bernama simple-game.py dan tambahkan kode di bawah ini:

impor arcade

biru = arcade.color. BIRU
merah = arcade.warna. MERAH
hitam = arcade.warna. HITAM
putih = arcade.warna. PUTIH
kuning = arcade.color. KUNING
hijau = arcade.color. HIJAU
oranye = arcade.color. ORANYE

kelasPermainan(arcade. Jendela):
def__init__(diri, lebar, tinggi):
super().__init__(lebar, tinggi)
arcade.set_background_color (hitam)

self.player = arcade. SpriteLingkaran(20, biru)
self.player.center_x = lebar // 2
self.player.center_y = tinggi // 2

diri.musuh = arcade. SpriteWarna Padat(20, 20, merah)
self.enemy.center_x = lebar // 4
self.enemy.center_y = tinggi // 4

defon_draw(diri sendiri):
arcade.start_render()
self.player.draw()
self.enemy.draw()

defmemperbarui(mandiri, waktu_delta):
lulus

defon_key_press(mandiri, kunci, pengubah):
jika kunci == arcade.kunci. KIRI:
self.player.center_x -= 10
elif kunci == arcade.kunci. BENAR:
self.player.center_x += 10
elif kunci == arcade.kunci. KE ATAS:
self.player.center_y += 10
elif kunci == arcade.kunci. TURUN:
self.player.center_y -= 10

defutama():
permainan = permainan(800, 600)
arcade.lari()

jika __nama__ == "__utama__":
utama()

Jalankan kode ini, dan Anda akan memiliki permainan dasar dengan pergerakan pemain dan objek musuh.

Membuat Status Game

Untuk memasukkan power-up dan barang koleksi, Anda perlu menetapkan status permainan seperti skor dan kesehatan. Kamu bisa mengelola skor dan kesehatan menggunakan variabel terpisah. Ubah kode untuk menyertakan fitur ini. Kesehatan pemain akan berkurang saat bertabrakan dengan objek musuh.

kelasPermainan(arcade. Jendela):
def__init__(diri, lebar, tinggi):
super().__init__(lebar, tinggi)

self.score = 0
kesehatan diri = 100

defon_draw(diri sendiri):
arcade.menggambar_teks(f"Skor: {self.score}", 10, 10, putih)
arcade.menggambar_teks(f"Kesehatan: {self.kesehatan}", 10, 30, putih)

defmemperbarui(mandiri, waktu_delta):
jika arcade.check_for_collision (self.player, self.enemy):
kesehatan diri -= 10

jika kesehatan diri <= 0:
self.game_over()

defpermainan telah berakhir(diri sendiri):
# Tambahkan logika permainan di sini
lulus

Sekarang, kesehatan pemain berkurang 10 saat bertabrakan dengan musuh, dan skor serta nilai kesehatan ditampilkan di layar.

Menambahkan Koleksi

Selanjutnya, buat barang koleksi yang akan menambah skor pemain sebesar 10 saat dikumpulkan. Koleksi ini akan memiliki bentuk yang berbeda untuk variasi visual. Buat file baru bernama koleksi.py dan tambahkan kode dengan pembaruan di bawah ini:

kelasPermainan(arcade. Jendela):
def__init__(diri, lebar, tinggi):
super().__init__(lebar, tinggi)

self.collectibles = arcade. Daftar Sprite()

untuk _ di dalam jangkauan(5):
tertagih = arcade. SpriteWarna Padat(20, 40, kuning)
koleksi.pusat_x = acak.randint(0, lebar)
collectible.center_y = acak.randint(0, tinggi)
self.collectibles.append (tertagih)

defon_draw(diri sendiri):
arcade.start_render()
self.player.draw()
self.enemy.draw()
self.collectibles.draw()
arcade.menggambar_teks(f"Skor: {self.score}", 10, 10, putih)
arcade.menggambar_teks(f"Kesehatan: {self.kesehatan}", 10, 30, putih)

defmemperbarui(mandiri, waktu_delta):
untuk tertagih di dalam koleksi pribadi:
jika arcade.check_for_collision (self.player, dapat dikoleksi):
self.score += 10
tertagih.hapus_dari_sprite_lists()

Buat daftar koleksi dengan lima instance, masing-masing diwakili oleh persegi panjang kuning. Saat pemain bertabrakan dengan barang koleksi, skor mereka meningkat 10, dan barang koleksi dihapus dari daftar sprite.

Menambahkan Power-Up

Sekarang, Anda dapat menambahkan power-up ke gim Anda. Saat pemain mengumpulkan power-up, perisai akan muncul di sekitar mereka selama 10 detik. Selama ini, jika pemain bertabrakan dengan musuh, mereka akan menghancurkan musuh. Buat file baru bernama power-ups.py dan tambahkan kode dengan pembaruan di bawah ini:

kelasPermainan(arcade. Jendela):
def__init__(diri, lebar, tinggi):
super().__init__(lebar, tinggi)

self.power_up = arcade. SpriteWarna Padat(50, 20, hijau)
self.power_up.center_x = acak.randint(0, lebar)
self.power_up.center_y = acak.randint(0, tinggi)

self.perisai_aktif = PALSU
self.shield_duration = 10
self.shield_timer = 0

defon_draw(diri sendiri):
arcade.start_render()
self.player.draw()
self.enemy.draw()
self.collectibles.draw()
self.power_up.draw()
arcade.menggambar_teks(f"Skor: {self.score}", 10, 10, putih)
arcade.menggambar_teks(f"Kesehatan: {self.kesehatan}", 10, 30, putih)

defmemperbarui(mandiri, waktu_delta):
jika arcade.check_for_collision (self.player, self.enemy):
jikabukan self.shield_aktif:
kesehatan diri -= 10
jika kesehatan diri <= 0:
self.game_over()
kalau tidak:
self.enemy.remove_from_sprite_lists()

jika self.shield_aktif:
self.shield_timer += waktu_delta

jika self.shield_timer >= self.shield_duration:
self.perisai_aktif = PALSU
self.shield_timer = 0

untuk tertagih di dalam koleksi pribadi:
jika arcade.check_for_collision (self.player, dapat dikoleksi):
self.score += 10
tertagih.hapus_dari_sprite_lists()

jika arcade.check_for_collision (self.player, self.power_up):
self.perisai_aktif = BENAR
self.power_up.remove_from_sprite_lists()

Di bawah ini adalah outputnya:

Termasuk Fitur Tambahan

Anda dapat lebih meningkatkan sistem power-up dan koleksi dengan menambahkan fitur tambahan. Misalnya, Anda dapat membuat power-up timer yang memperpanjang waktu gameplay saat dikumpulkan. Buat file baru bernama timer-power-up.py dan tambahkan kode dengan pembaruan di bawah ini:

kelasPermainan(arcade. Jendela):
def__init__(diri, lebar, tinggi):
super().__init__(lebar, tinggi)
arcade.set_background_color (hitam)

self.player = arcade. SpriteLingkaran(20, biru)
# ...

self.timer_power_up = arkade. SpriteWarna Padat(40, 20, oranye)
self.timer_power_up.center_x = acak.randint(0, lebar)
self.timer_power_up.center_y = acak.randint(0, tinggi)

self.game_time = 60# Waktu permainan awal dalam hitungan detik
self.timer_power_up_duration = 10

# ...

defmemperbarui(mandiri, waktu_delta):
# ...

jika arcade.check_for_collision (self.player, self.timer_power_up):
self.game_time += self.timer_power_up_duration
self.timer_power_up.remove_from_sprite_lists()

# ...

defutama():
permainan = permainan(800, 600)
arcade.lari()

jika __nama__ == "__utama__":
utama()

Praktik Terbaik untuk Power-Up dan Barang Koleksi

Power-up dan barang koleksi memainkan peran penting dalam meningkatkan pengalaman gameplay game arcade. Untuk memastikan bahwa elemen-elemen ini menyenangkan dan terintegrasi dengan baik ke dalam game, penting untuk mengikuti beberapa praktik terbaik:

Kejernihan dan Konsistensi Visual

Gunakan sprite yang berbeda dan menarik secara visual untuk power-up dan barang koleksi agar menonjol dari elemen game lainnya. Pastikan tampilan power-up dan barang koleksi selaras dengan efek dan tujuannya di dalam game.

Pertahankan konsistensi dalam desain, skema warna, dan ukuran untuk power-up dan koleksi sepanjang permainan.

Keseimbangan dan Tantangan

Sesuaikan kelangkaan dan distribusi power-up dan barang koleksi untuk mempertahankan rasa tantangan dan penghargaan bagi para pemain. Hindari pemain yang kewalahan dengan terlalu banyak power-up atau barang koleksi, karena hal itu dapat mengurangi dampak dan kegembiraan saat menemukannya.

Seimbangkan dengan hati-hati keefektifan dan durasi power-up untuk mencegahnya terlalu dikuasai atau kurang memuaskan.

Indikator dan Umpan Balik yang Jelas

Berikan indikator visual dan audio yang jelas saat pemain mengumpulkan power-up atau koleksi. Tampilkan efek visual sementara, seperti animasi atau partikel, untuk menandakan aktivasi power-up dan durasinya.

Hubungan Tantangan-Hadiah

Pastikan power-up dan barang koleksi memberikan hadiah yang berarti bagi pemain, seperti peningkatan skor, kemampuan tambahan, atau waktu permainan yang diperpanjang. Sejajarkan kesulitan mendapatkan power-up dan collectibles dengan keuntungan yang mereka tawarkan. Tugas yang lebih menantang harus menghasilkan hadiah yang lebih berharga.

Playtesting dan Balancing

Mainkan game secara ekstensif untuk mengamati bagaimana pemain berinteraksi dengan power-up dan barang koleksi. Gunakan umpan balik pemain untuk menyempurnakan distribusi, durasi, dan efek power-up dan barang koleksi untuk menciptakan pengalaman yang seimbang dan menyenangkan.

Dengan mengikuti praktik terbaik ini, Anda dapat membuat sistem power-up dan koleksi yang menawan dan seimbang yang meningkatkan pengalaman gameplay dan membuat pemain tetap terlibat dalam game arcade Anda.

Jadikan Game Lebih Menyenangkan Dengan Power-Up dan Barang Koleksi

Power-up dan barang koleksi menambah lapisan kegembiraan dan keterlibatan ekstra pada game arcade. Mereka tidak hanya memberi pemain kemampuan dan hadiah baru, tetapi juga menciptakan tantangan dan pilihan strategis yang menarik.

Dengan menggabungkan fitur-fitur ini menggunakan perpustakaan Python Arcade, Anda dapat membuat game Anda lebih menyenangkan dan meningkatkan pengalaman bermain game secara keseluruhan untuk pemain Anda. Ingatlah untuk bereksperimen, ulangi, dan keluarkan kreativitas Anda untuk membuat power-up dan barang koleksi yang unik dan menawan yang selaras dengan tema dan mekanisme game Anda.