Unity'de Clash of Clans benzeri bir oyun oluşturma

Bu eğitimde, Unity'de Clash of Clans'a benzer basit bir oyun oluşturma adımlarını ele alacağız. Bu, oyun ortamını kurmayı, bir kullanıcı arayüzü oluşturmayı, yapı mekaniklerini uygulamayı ve kaynakları yönetmeyi içerecektir.

Projenin Kurulumu

Yeni bir Unity projesi oluşturarak başlayın:

  1. Unity Hub'ı açın ve Yeni Proje'e tıklayın.
  2. 2D'i seçin ve projenize ClashOfClansClone adını verin.
  3. Oluştur'e tıklayın.

Oyun Ortamının Oluşturulması

Clash of Clans benzeri bir oyun için köyünüzü inşa edebileceğiniz bir haritaya ihtiyacınız olacak.

  1. Yeni bir sahne oluşturun ve adını MainScene koyun.
  2. Köyünüz için bir arka plan oluşturmak için Hiyerarşi'e sağ tıklayın, 2D Nesne > Sprite'i seçin.
  3. Çimen fayansları ve bina sprite'ları gibi varlıkları içe aktarın. Unity Asset Store'dan ücretsiz varlıkları kullanabilir veya kendinizinkini oluşturabilirsiniz.

Oyuncu Kaynaklarını Ayarlama

Oyuncuların yapı inşa etmek için kaynaklara ihtiyacı vardır. Basit bir kaynak yönetim sistemi oluşturalım.

using UnityEngine;

public class ResourceManager : MonoBehaviour
{
    public int gold;
    public int elixir;

    public void AddGold(int amount)
    {
        gold += amount;
    }

    public void AddElixir(int amount)
    {
        elixir += amount;
    }
}

Prefabrik Binaların Oluşturulması

Binalar için prefabrikler oluşturun (örneğin, Altın Madeni, İksir Toplayıcı). Basit bir binayı nasıl kuracağınız aşağıda açıklanmıştır:

  1. Binanız için yeni bir GameObject oluşturmak için Hiyerarşi'e sağ tıklayın ve 2D Nesne > Sprite'i seçin.
  2. Adını GoldMine koyun ve varlıklarınızdan bir sprite atayın.
  3. İnşa mantığını yönetmek için Building adında bir betik ekleyin.
using UnityEngine;

public class Building : MonoBehaviour
{
    public int productionRate;
    public ResourceManager resourceManager;

    private float timer;

    void Update()
    {
        timer += Time.deltaTime;
        if (timer >= 1f) // Every second
        {
            resourceManager.AddGold(productionRate);
            timer = 0f;
        }
    }
}

Bina Yerleşiminin Uygulanması

Oyuncuların haritaya binalar yerleştirmesine izin verin. Binaları yerleştirmek için basit bir fare tıklaması algılama kullanabiliriz.

using UnityEngine;

public class BuildingPlacer : MonoBehaviour
{
    public GameObject buildingPrefab;
    public ResourceManager resourceManager;

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            mousePos.z = 0; // Set z to 0 for 2D

            // Check for enough resources
            if (resourceManager.gold >= 100) // Example cost
            {
                Instantiate(buildingPrefab, mousePos, Quaternion.identity);
                resourceManager.AddGold(-100); // Deduct cost
            }
        }
    }
}

Kullanıcı Arayüzünün Oluşturulması

Oyuncu kaynaklarını ve yapı seçeneklerini görüntülemek için basit bir kullanıcı arayüzü kurun:

  1. Hiyerarşi'e sağ tıklayın, UI > Canvas'i seçin.
  2. Canvas'ın içerisinde altın ve iksir miktarlarını gösterecek bir Text nesnesi oluşturun.
  3. Kaynak değişikliklerine bağlı olarak kullanıcı arayüzünü güncellemek için bir komut dosyası atayın.
using UnityEngine;
using UnityEngine.UI;

public class UIManager : MonoBehaviour
{
    public ResourceManager resourceManager;
    public Text goldText;
    public Text elixirText;

    void Update()
    {
        goldText.text = "Gold: " + resourceManager.gold;
        elixirText.text = "Elixir: " + resourceManager.elixir;
    }
}

Oyun Mekaniklerini Ekleme

Birlik eğitimi, saldırı ve üs yükseltmeleri gibi özellikler ekleyerek oynanışı geliştirin. Birlik mekaniklerini yönetmek ve yükseltmeler inşa etmek için ek betikler oluşturmayı düşünün.

Çözüm

Unity'de Clash of Clans benzeri bir oyun için temel bir çerçeve oluşturdunuz. Bu eğitim temel bileşenleri kapsar: kaynak yönetimi, bina yerleşimi ve kullanıcı arayüzü güncellemeleri. Daha fazla bina, birlik yönetimi, çok oyunculu özellikler ve animasyonlar ekleyerek bu projeyi genişletebilirsiniz.

Sonraki Adımlar