Notification texts go here Contact Us!

Tutorial Lengkap Membuat Game Sederhana "Catch the Falling Object" di Unity (Pemula)

Pada tutorial kali ini, kita akan belajar cara membuat game 2D sederhana yang disebut "Catch the Falling Object".



Membuat game dengan Unity merupakan pengalaman yang sangat berharga bagi siapa saja yang tertarik dalam dunia pengembangan game. Pada tutorial kali ini, kita akan belajar cara membuat game 2D sederhana yang disebut "Catch the Falling Object", di mana pemain harus menangkap objek yang jatuh. Game ini sangat cocok untuk pemula karena membantu Anda memahami dasar-dasar Unity dan C# dengan cara yang praktis dan menyenangkan.

Tujuan Game:

  • Pemain menggerakkan karakter untuk menangkap objek yang jatuh.
  • Setiap objek yang berhasil ditangkap oleh pemain menambah skor.
  • Permainan dapat berlanjut hingga pemain gagal menangkap objek dalam waktu yang ditentukan atau objek jatuh melewati pemain.

Langkah-langkah Membuat Game "Catch the Falling Object"

1. Persiapan Awal

Sebelum memulai pembuatan game, pastikan Anda sudah menyiapkan perangkat lunak yang dibutuhkan untuk proses pengembangan.

Perangkat Lunak yang Diperlukan:

  1. Unity Hub: Aplikasi untuk mengelola proyek Unity.
  2. Unity Editor: Platform utama untuk mengembangkan game menggunakan Unity. Pastikan Anda menginstal versi terbaru Unity, lebih baik pilih yang versi LTS (Long Term Support) agar lebih stabil.
  3. Visual Studio: IDE (Integrated Development Environment) untuk menulis dan mengedit kode C#.

Setelah menginstal perangkat lunak tersebut, pastikan Anda dapat menjalankan Unity Editor dan Visual Studio dengan lancar.

2. Membuat Proyek Baru di Unity

Sekarang, kita akan membuat proyek baru di Unity yang akan menjadi tempat kita membangun game "Catch the Falling Object".

  1. Buka Unity Hub, dan klik "New Project".
  2. Pilih template "2D Core" untuk proyek 2D. Template ini sudah diatur agar cocok untuk pembuatan game 2D.
  3. Beri nama proyek Anda, misalnya "CatchTheFallingObject", dan tentukan lokasi penyimpanan proyek di komputer Anda.
  4. Klik "Create" untuk membuat proyek baru.

Unity akan membuat proyek baru dan membuka Unity Editor. Anda akan berada di Scene View, tempat di mana Anda dapat menambahkan objek-objek game dan mengatur pengaturannya.

3. Menyiapkan Scene Utama

Setelah proyek siap, kita akan mulai membangun scene utama di mana gameplay akan berlangsung.

Membuat Latar Belakang:

  1. Di panel Hierarchy, klik kanan → pilih 2D ObjectSprite.
  2. Gantilah nama objek menjadi "Background".
  3. Pada panel Inspector, di bawah Sprite Renderer, pilih sprite atau gambar untuk latar belakang (misalnya gambar langit atau alam).
  4. Sesuaikan skala objek agar latar belakang menutupi seluruh layar. Anda bisa mengubah nilai Scale pada Transform di panel Inspector.

Dengan latar belakang ini, game Anda akan memiliki tampilan yang lebih baik, memberi kesan dunia tempat pemain bermain.

Menambahkan Karakter Pemain:

  1. Di panel Hierarchy, klik kanan → pilih 2D ObjectSprite → beri nama objek ini "Player".
  2. Pilih gambar untuk karakter pemain Anda, seperti gambar kotak atau sprite karakter sederhana yang dapat bergerak.
  3. Tambahkan Rigidbody2D ke objek pemain melalui panel Inspector dengan klik Add Component dan pilih Rigidbody2D. Set Body Type menjadi Kinematic, karena kita hanya ingin mengontrol gerakannya menggunakan script, bukan fisika.
  4. Tambahkan BoxCollider2D agar objek pemain dapat mendeteksi tabrakan dengan objek lainnya, seperti objek yang jatuh.

Menambahkan Objek yang Jatuh:

  1. Di panel Hierarchy, klik kanan → pilih 2D ObjectSprite → beri nama objek ini "FallingObject".
  2. Pilih gambar objek yang akan jatuh (misalnya bola atau buah).
  3. Tambahkan Rigidbody2D ke objek ini dan atur Gravity Scale menjadi 1 agar objek ini jatuh ke bawah.
  4. Tambahkan CircleCollider2D pada objek ini untuk memungkinkan deteksi tabrakan antara objek yang jatuh dengan pemain.

Dengan objek yang jatuh ini, kita akan memberikan tantangan bagi pemain untuk menangkapnya.

4. Menulis Script untuk Gerakan Pemain

Untuk membuat pemain bisa bergerak mengikuti input dari keyboard, kita memerlukan script untuk menggerakkan karakter pemain ke kiri dan kanan.

  1. Buat folder baru bernama "Scripts" di panel Project untuk mengorganisir semua script Anda.
  2. Klik kanan pada folder "Scripts", pilih CreateC# Script, beri nama "PlayerMovement".
  3. Tulis kode berikut di dalam script PlayerMovement.cs:
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float speed = 5f;  // Kecepatan gerakan pemain

    void Update()
    {
        // Mengambil input horizontal dari keyboard (tombol panah kiri/kanan atau A/D)
        float move = Input.GetAxis("Horizontal");
        // Menambah posisi pemain di sumbu X berdasarkan input dan kecepatan
        transform.position += new Vector3(move * speed * Time.deltaTime, 0, 0);
    }
}
  1. Simpan script dan kembali ke Unity Editor.
  2. Seret script ini ke objek "Player" di panel Hierarchy untuk menghubungkan script dengan objek pemain.

Script ini akan memungkinkan pemain untuk bergerak ke kiri dan kanan menggunakan tombol panah kiri/kanan atau A/D.

5. Menulis Script untuk Objek yang Jatuh

Sekarang, kita perlu membuat objek yang jatuh secara otomatis dari atas layar ke bawah.

  1. Buat script baru bernama "FallingObject.cs" di folder Scripts.
  2. Tulis kode berikut di dalam script FallingObject.cs:
using UnityEngine;

public class FallingObject : MonoBehaviour
{
    public float fallSpeed = 2f;  // Kecepatan objek jatuh

    void Update()
    {
        // Menggerakkan objek ke bawah dengan kecepatan tertentu
        transform.position -= new Vector3(0, fallSpeed * Time.deltaTime, 0);

        // Menghancurkan objek jika sudah melewati batas bawah layar
        if (transform.position.y < -5f)
        {
            Destroy(gameObject);
        }
    }
}
  1. Simpan script dan kembali ke Unity Editor.
  2. Seret script ini ke prefab "FallingObject" di panel Project.

Dengan script ini, objek yang jatuh akan bergerak ke bawah dengan kecepatan yang telah ditentukan. Setelah objek melewati batas bawah layar, objek tersebut akan dihancurkan untuk menjaga performa game.

6. Menulis Script untuk Spawner Objek yang Jatuh

Untuk membuat game lebih menarik, kita perlu membuat sistem yang akan memunculkan objek yang jatuh secara acak di layar.

  1. Buat script baru bernama "ObjectSpawner.cs" di folder Scripts.
  2. Tulis kode berikut di dalam script ObjectSpawner.cs:
using UnityEngine;

public class ObjectSpawner : MonoBehaviour
{
    public GameObject fallingObjectPrefab;  // Prefab objek yang akan jatuh
    public float spawnInterval = 1f;        // Interval untuk spawn objek
    public float spawnRangeX = 8f;          // Rentang posisi horizontal objek jatuh

    void Start()
    {
        // Memulai spawn objek pada interval yang telah ditentukan
        InvokeRepeating("SpawnObject", spawnInterval, spawnInterval);
    }

    void SpawnObject()
    {
        // Menentukan posisi spawn acak di sumbu X
        float randomX = Random.Range(-spawnRangeX, spawnRangeX);
        Vector3 spawnPosition = new Vector3(randomX, transform.position.y, 0);
        Instantiate(fallingObjectPrefab, spawnPosition, Quaternion.identity);
    }
}
  1. Buat objek kosong bernama "Spawner" di panel Hierarchy.
  2. Seret script ini ke objek "Spawner" di Hierarchy.
  3. Seret prefab "FallingObject" ke dalam slot FallingObjectPrefab di Inspector objek Spawner.

Dengan script ini, objek yang jatuh akan muncul secara acak di atas layar pada posisi horizontal yang berbeda.

7. Menambahkan Fitur Skor

Untuk membuat game lebih menarik, kita akan menambahkan sistem skor yang bertambah setiap kali pemain menangkap objek.

  1. Buat UI Text di Canvas untuk menampilkan skor.
  2. Buat script baru bernama "ScoreManager.cs" di folder Scripts.
  3. Tulis kode berikut di dalam script ScoreManager.cs:
using UnityEngine;
using UnityEngine.UI;

public class ScoreManager : MonoBehaviour
{
    public Text scoreText;  // UI untuk menampilkan skor
    private int score = 0;

    void Start()
    {
        UpdateScore();
    }

    public void AddScore()
    {
        score++;  // Menambah skor setiap kali objek ditangkap
        UpdateScore();
    }

    void UpdateScore()
    {
        scoreText.text = "Score: " + score;
    }
}
  1. Tambahkan script ini ke Canvas dan hubungkan objek UI Text dengan slot scoreText di Inspector.

  2. Di script "FallingObject.cs", ubah kode untuk menambah skor ketika objek tertangkap pemain:

void OnTriggerEnter2D(Collider2D other)
{
    if (other.CompareTag("Player"))
    {
        FindObjectOfType<ScoreManager>().AddScore();  // Menambah skor
        Destroy(gameObject);  // Menghancurkan objek yang tertangkap
    }
}

Dengan perubahan ini, setiap kali objek yang jatuh bertabrakan dengan pemain, skor akan bertambah.

Kesimpulan dan Pengembangan Lebih Lanjut

Sekarang Anda telah berhasil membuat game "Catch the Falling Object" dengan Unity! Game ini cukup sederhana, namun memberikan gambaran yang jelas mengenai bagaimana membuat game 2D dengan Unity.

Fitur yang Bisa Ditambahkan:

  • Level atau Kesulitan Bertambah: Kecepatan objek jatuh bisa bertambah seiring waktu.
  • Batas Waktu: Tambahkan timer untuk membuat permainan lebih menantang.
  • Efek Suara dan Musik: Berikan efek suara saat objek ditangkap dan musik latar yang menyenangkan.

Post a Comment

Berikan komentar anda untuk bertanya dan memberikan saran.
Jangan isi komentar dengan link aktif !
Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
Internetnya lagi ngopi kayaknya. Ayo panggil balik biar bisa browsing tanpa drama! ☕😂📡
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.