DC
Kelas Digital Creative
Robotika · IoT · Scratch · Canva · CapCut · AI
← kembali ke Home

Membuat Space Invader Game: Peluru Alien dan Penyempurnaan Akhir

⏱ 30 Menit Scratch August 2026 🔧 Scratch Website

Melanjutkan Space Invader game sebelumnya, kini kita akan membuat alien juga bisa menembak balik ke arah pesawat, menyempurnakan kondisi Game Over, serta menambahkan pengurangan skor jika alien berhasil lolos tanpa ditembak.

Langkah 1: Membuat Sprite Peluru Alien

  1. Klik Choose a Sprite, pilih Paint. Gambar bentuk lingkaran kecil berwarna kuning sebagai peluru alien.
  2. Beri nama costume dan sprite ini “Alien Missile”.

Langkah 2: Membuat Alien Menembak Setiap Kali Muncul

Pada sprite Alien, tambahkan sinyal tembakan di skrip clone-nya:

when I start as a clone
broadcast [hit] and wait
...

Pada sprite Alien Missile, tambahkan skrip untuk merespons sinyal ini:

when I receive [hit]
create clone of [myself]
show

Langkah 3: Menyamakan Posisi Awal Peluru dengan Posisi Alien

Karena posisi X alien bersifat acak setiap kali muncul, kita perlu cara untuk “membagikan” posisi tersebut ke peluru. Buat variabel baru bernama Alien X. Pada skrip Alien, alih-alih langsung memasukkan pick random ke dalam blok go to, simpan dulu nilainya:

set [Alien X] to (pick random -200 to 200)
go to x: (Alien X) y: 145

Dengan begitu, nilai posisi X alien tersimpan dan bisa dipakai kembali oleh sprite lain (Alien Missile) untuk menentukan posisi awal peluru:

when I start as a clone
go to x: (Alien X) y: 105

Posisi Y peluru diatur sedikit di bawah posisi awal alien (misalnya alien di y: 145, peluru muncul di y: 105) agar terlihat seperti keluar dari alien tersebut.

Langkah 4: Membuat Peluru Alien Bergerak ke Bawah

when I start as a clone
go to x: (Alien X) y: 105
show
repeat until 
    change y by -10
delete this clone

Sama seperti peluru pesawat, peluru alien ini bergerak (kali ini turun, dengan nilai negatif) sampai menyentuh tepi, lalu dihapus.

Langkah 5: Menyembunyikan Sprite Alien Asli

Pastikan sprite asli Alien tetap tersembunyi (menggunakan hide di skrip utama) karena yang tampil di layar hanyalah clone-clone-nya.

Langkah 6: Memperluas Kondisi Game Over

Sebelumnya, Game Over hanya dipicu saat pesawat menyentuh Alien. Sekarang perlu ditambahkan kondisi lain: Game Over juga terjadi jika pesawat tertembak Alien Missile. Gunakan operator or:

when [green flag] clicked
forever
    if < or > then
        broadcast [Game Over]

Langkah 7: Mengurangi Skor Saat Alien Lolos

Kembali ke skrip clone Alien (di titik saat clone dihapus karena sudah mencapai tepi bawah — menandakan alien berhasil lolos tanpa ditembak), tambahkan pengurangan skor:

repeat until 
    change y by -8
change [Score] by -1
delete this clone

Sekarang, setiap kali alien berhasil sampai ke bawah tanpa tertembak, skor akan berkurang 1 — menambah tantangan karena pemain harus aktif menembak, bukan sekadar menghindar.

Langkah 8: Menyesuaikan Tingkat Kesulitan

Beberapa nilai bisa disesuaikan untuk menyeimbangkan tingkat kesulitan permainan:

  • Kecepatan peluru pesawat/alien, misalnya dari -10 menjadi -14 (peluru alien lebih cepat).
  • Posisi awal kemunculan alien, misalnya dari y: 145 menjadi y: 150, memberi jarak lebih jauh antara alien dan pesawat sebelum peluru mengenai.

Skrip Akhir Space Invader Game (Ringkasan)

Sprite Spaceship: bergerak mengikuti mouse, memicu Game Over jika menyentuh Alien atau Alien Missile.

Sprite Missile (peluru pesawat): ditembak lewat klik mouse, bergerak ke atas, menghapus alien saat mengenainya (skor +1).

Sprite Alien: muncul acak dari atas via clone, menembak Alien Missile setiap muncul, mengurangi skor (-1) jika lolos sampai bawah tanpa tertembak.

Sprite Alien Missile: muncul dari posisi alien (via variabel Alien X), bergerak ke bawah, memicu Game Over jika mengenai pesawat.

Sprite Game Over: tersembunyi di awal, muncul dan menghentikan permainan saat menerima broadcast “Game Over”.

Ringkasan

Space Invader Game ini menjadi salah satu project paling kompleks dalam seri tutorial, menggabungkan:

  • Clone untuk alien maupun kedua jenis peluru (pesawat & alien).
  • Variabel perantara (seperti Alien X) untuk berbagi data posisi antar sprite yang berbeda.
  • Broadcast/receive untuk mengoordinasikan aksi antar sprite (alien menembak, Game Over).
  • Operator or untuk menggabungkan beberapa kondisi Game Over sekaligus.
  • Sistem skor dua arah: bertambah saat berhasil menembak, berkurang saat gagal mencegah alien lolos.

Selamat — game Space Invader ini sudah selesai sepenuhnya dan siap dimainkan!