Rabu, 02 April 2025

BAB 9 Aplikasi Game dengan Scratch

BAB 9 Aplikasi Game dengan Scratch



Pengertian Scratch

Scratch adalah sebuah aplikasi pemrograman visual yang memungkinkan penggunanya untuk membuat berbagai macam proyek, seperti animasi, cerita interaktif, dan game, dengan menggunakan blok kode yang dapat dipindah-pindahkan. Scratch dikembangkan oleh MIT (Massachusetts Institute of Technology) dan dirancang khusus untuk anak-anak dan pemula yang ingin belajar pemrograman komputer.

Scratch menggunakan prinsip pemrograman berbasis blok, sehingga kita tidak perlu menulis kode secara manual, tetapi cukup menyusun blok-blok yang sesuai dengan fungsi yang kita inginkan.

Baca Juga: Permainan Menangkap Bola Cinta

Baca Juga: Permainan Labirin Pacman

Kenapa Menggunakan Scratch untuk Membuat Game?

  1. Mudah Dipelajari
    Scratch menawarkan antarmuka grafis yang sangat ramah bagi pemula. Blok-blok kode yang visual memudahkan kita untuk memahami logika pemrograman tanpa perlu menulis kode yang rumit.

  2. Meningkatkan Kreativitas
    Scratch memungkinkan pengguna untuk menciptakan karakter, latar belakang, dan animasi sesuai dengan imajinasi mereka, sehingga sangat cocok untuk mengembangkan kreativitas.

  3. Meningkatkan Pemahaman Logika
    Scratch mengajarkan konsep-konsep dasar pemrograman seperti urutan instruksi, kondisi (if-else), perulangan (loops), dan variabel, yang merupakan dasar dari hampir semua bahasa pemrograman.

Langkah-Langkah Membuat Game di Scratch

1. Menyiapkan Akun Scratch

  • Buka situs web scratch.mit.edu.

  • Daftarkan diri Anda atau login menggunakan akun yang sudah ada.

  • Setelah masuk, klik Create untuk memulai proyek baru.

2. Memilih Karakter dan Latar Belakang

  • Karakter (Sprite): Scratch menyediakan berbagai macam karakter atau sprite yang dapat digunakan dalam game. Anda juga bisa meng-upload gambar atau menggambar sprite sendiri.

  • Latar Belakang (Backdrop): Pilih latar belakang untuk game Anda dari koleksi yang ada atau buat latar belakang kustom sesuai dengan tema game.

3. Menentukan Tujuan Game

Setiap game memiliki tujuan yang jelas. Misalnya:

  • Menghindari rintangan.

  • Mengumpulkan item.

  • Mencapai skor tertinggi.

Tentukan tujuan game Anda sejak awal agar dapat merancang mekanisme game dengan jelas.

4. Menambahkan Skrip untuk Interaksi

Di Scratch, kita menggunakan blok kode untuk mengatur bagaimana karakter berinteraksi dalam game. Beberapa blok yang sering digunakan untuk game adalah:

  • Gerakan (Motion): Menggerakkan sprite dari satu tempat ke tempat lain. Misalnya, menggunakan blok move 10 steps untuk menggerakkan karakter ke depan.

  • Kontrol (Control): Mengatur kapan suatu perintah dijalankan. Blok seperti repeat, forever, atau wait digunakan untuk memberikan alur dalam game.

  • Event (Events): Untuk memulai perintah berdasarkan interaksi pengguna. Blok seperti when green flag clicked atau when key pressed digunakan untuk memulai permainan atau menggerakkan karakter.

  • Penampilan (Looks): Mengubah penampilan sprite, seperti mengganti kostum atau teks.

  • Suara (Sound): Menambahkan efek suara atau musik latar ke dalam game, seperti suara klik atau musik latar.

5. Contoh Proyek Game Sederhana

Game: "Menghindari Rintangan"

  • Tujuan: Pemain mengendalikan karakter untuk menghindari rintangan yang jatuh dari atas layar.

  • Karakter: Gunakan sprite seperti "Player" untuk karakter dan "Obstacle" untuk rintangan.

  • Langkah-langkah:

    1. Gerakan Karakter: Gunakan blok when key pressed (misalnya, ketika tombol panah kiri atau kanan ditekan) untuk menggerakkan karakter ke kiri atau kanan.

    2. Rintangan Jatuh: Buat rintangan yang jatuh dari atas layar menggunakan blok glide atau move. Atur kecepatan rintangan agar meningkat seiring waktu.

    3. Deteksi Tabrakan: Gunakan blok if touching untuk mendeteksi apakah karakter mengenai rintangan. Jika iya, permainan selesai.

    4. Skor: Gunakan variabel untuk mencatat skor dan menambahkannya setiap kali pemain berhasil menghindari rintangan.

Kode Pseudonya:

pgsql

when green flag clicked
set score to 0
forever
move Player using arrow keys
create new obstacle every 2 seconds
if Player touches obstacle then
game over
else
increase score
end

6. Menambahkan Efek Suara dan Musik

  • Anda dapat menambahkan efek suara saat karakter bergerak, mengumpulkan item, atau terkena rintangan. Scratch menyediakan banyak efek suara yang dapat dipilih, atau Anda dapat meng-upload suara sendiri.

  • Anda juga bisa menambahkan musik latar untuk membuat game lebih menarik.

7. Menguji dan Meningkatkan Game

  • Setelah selesai membuat game, ujilah untuk memastikan semua elemen bekerja dengan baik. Apakah gerakan karakter lancar? Apakah rintangan jatuh dengan benar? Apakah skor bertambah dengan tepat?

  • Anda bisa menambahkan level, mempercepat rintangan, atau membuat lebih banyak tantangan untuk meningkatkan keseruan game.

8. Menyimpan dan Membagikan Game

  • Setelah selesai, jangan lupa untuk menyimpan proyek game Anda. Anda dapat membagikan game yang sudah selesai dengan teman-teman atau bahkan dengan komunitas di Scratch.

Contoh Proyek Game Sederhana di Scratch

Berikut adalah contoh proyek game sederhana yang bisa Anda coba di Scratch:

Nama Game: "Space Adventure"

  • Deskripsi: Game ini menantang pemain untuk mengendalikan pesawat ruang angkasa yang harus menghindari meteor yang jatuh. Pemain harus mengumpulkan bintang untuk mendapatkan poin.

  • Fitur:

    • Pemain dapat menggerakkan pesawat dengan tombol arah.

    • Meteor jatuh secara acak dan semakin cepat seiring waktu.

    • Skor bertambah saat pemain mengumpulkan bintang.

Fungsi Kode Pada Game Scratch

1. Blok Gerakan (Motion)

Blok-gerakan digunakan untuk menggerakkan sprite (karakter atau objek) dalam game. Fungsi-fungsi yang paling umum adalah:

  • move [10] steps
    Fungsi ini menggerakkan sprite sebanyak 10 langkah ke arah yang sedang dihadapinya. Anda dapat mengubah nilai 10 untuk mengatur jarak gerakan.

  • go to x: [x] y: [y]
    Fungsi ini memindahkan sprite ke posisi tertentu berdasarkan koordinat X dan Y pada layar.

  • glide [1] secs to x: [x] y: [y]
    Fungsi ini memungkinkan sprite bergerak secara mulus ke posisi yang ditentukan dalam waktu tertentu.

  • point in direction [90]
    Fungsi ini membuat sprite menghadap ke arah tertentu. Misalnya, 90° adalah arah kanan, 180° adalah arah kiri, dan 0° adalah arah atas.

2. Blok Kontrol (Control)

Blok kontrol digunakan untuk mengatur alur permainan, mengulang aksi, dan memberi syarat pada aksi tertentu.

  • when green flag clicked
    Fungsi ini digunakan untuk memulai program atau aksi yang terhubung dengan blok ini ketika pemain menekan bendera hijau di atas layar.

  • repeat [10]
    Fungsi ini akan mengulang perintah yang ada dalam blok tersebut sebanyak jumlah yang ditentukan (misalnya, 10 kali).

  • forever
    Fungsi ini akan mengulang perintah yang ada dalam blok ini secara terus-menerus, tanpa henti.

  • wait [1] seconds
    Fungsi ini memberikan jeda waktu (misalnya 1 detik) sebelum melanjutkan ke perintah berikutnya.

  • if <condition> then
    Fungsi ini mengevaluasi kondisi dan mengeksekusi perintah hanya jika kondisi tersebut terpenuhi. Contohnya, jika sprite menyentuh objek tertentu, maka aksi tertentu bisa dilakukan.

3. Blok Penampilan (Looks)

Blok penampilan digunakan untuk mengubah penampilan sprite, termasuk mengganti kostum, menampilkan pesan, dan sebagainya.

  • say [Hello] for [2] seconds
    Fungsi ini membuat sprite berbicara dengan teks yang ditampilkan dalam waktu tertentu.

  • switch costume to [costume1]
    Fungsi ini mengganti tampilan sprite ke kostum yang dipilih. Biasanya digunakan untuk membuat animasi sprite.

  • hide / show
    Fungsi ini menyembunyikan atau menampilkan sprite di layar.

4. Blok Suara (Sound)

Blok suara digunakan untuk menambahkan efek suara dan musik ke dalam game.

  • play sound [sound] until done
    Fungsi ini memutar efek suara atau musik yang dipilih sampai selesai. Misalnya, suara ketika pemain mengumpulkan item atau bertabrakan dengan objek.

  • play drum [number] for [time] beats
    Fungsi ini memainkan instrumen musik tertentu berdasarkan nomor drum dan durasi.

  • stop all sounds
    Fungsi ini menghentikan semua suara yang sedang diputar.

5. Blok Variabel (Variables)

Blok variabel digunakan untuk menyimpan dan mengubah data yang dapat digunakan dalam game, seperti skor atau waktu.

  • set [variable] to [0]
    Fungsi ini menetapkan nilai awal untuk variabel, misalnya, mengatur skor awal ke 0.

  • change [variable] by [1]
    Fungsi ini menambah atau mengurangi nilai variabel yang ditentukan. Misalnya, menambah skor setiap kali pemain mengumpulkan item.

  • show variable [variable]
    Fungsi ini menampilkan nilai variabel di layar. Biasanya digunakan untuk menampilkan skor atau nyawa pemain.

  • hide variable [variable]
    Fungsi ini menyembunyikan variabel dari layar.

6. Blok Sensing (Deteksi)

Blok sensing digunakan untuk mendeteksi interaksi antara sprite dengan objek lain atau interaksi dengan pengguna, seperti mengecek apakah tombol ditekan atau sprite menyentuh objek lain.

  • touching [sprite] ?
    Fungsi ini memeriksa apakah sprite sedang bersentuhan dengan objek atau sprite lain. Contoh: Jika karakter pemain menyentuh rintangan, maka game over.

  • key [space] pressed?
    Fungsi ini mendeteksi apakah pemain menekan tombol tertentu di keyboard, seperti tombol spasi atau panah arah.

  • mouse down?
    Fungsi ini mendeteksi apakah pemain mengklik mouse. Bisa digunakan untuk interaksi berbasis klik.

7. Blok Operator (Operators)

Blok operator digunakan untuk melakukan operasi matematika dan logika dalam game.

  • [number1] + [number2]
    Fungsi ini menambahkan dua angka.

  • [number1] > [number2]
    Fungsi ini mengevaluasi apakah angka pertama lebih besar daripada angka kedua, memberikan hasil true atau false.

  • pick random [1] to [10]
    Fungsi ini menghasilkan angka acak antara dua angka yang ditentukan, berguna untuk elemen kejutan dalam game.

8. Blok Data (My Blocks)

Blok data memungkinkan pengguna untuk membuat blok kustom sendiri. Fungsi ini digunakan untuk membuat kode yang lebih terorganisir dan dapat digunakan berulang kali.

  • define [My Custom Block]
    Fungsi ini digunakan untuk membuat blok baru yang bisa digunakan di dalam proyek, berguna untuk menyederhanakan kode yang panjang.

Contoh Penggunaan Kode dalam Game Scratch

Misalnya, dalam game "menghindari rintangan", Anda bisa menggunakan kode berikut:

  1. Karakter bergerak dengan tombol panah:

    scss
    when [right arrow] key pressed
    move [10] steps
  2. Rintangan jatuh dari atas:

    pgsql
    when green flag clicked
    forever
    create new obstacle at random position
    glide [2] secs to bottom
    if touching Player then
    game over
    end
  3. Mencatat skor:

    css
    when green flag clicked
    set [score] to [0]
    forever
    if touching [star] then
    change [score] by [1]
    hide [star]
    show new [star]
    end


0 komentar:

Posting Komentar