إنشاء لعبة شبيهة بلعبة Clash of Clans في Unity

في هذا البرنامج التعليمي، سنستعرض الخطوات اللازمة لإنشاء لعبة بسيطة مشابهة للعبة Clash of Clans في Unity. وسيتضمن ذلك إعداد بيئة اللعبة، وإنشاء واجهة مستخدم، وتنفيذ آليات البناء، وإدارة الموارد.

إعداد المشروع

ابدأ بإنشاء مشروع Unity جديد:

  1. افتح مركز Unity وانقر على مشروع جديد.
  2. حدد 2D وأطلق على مشروعك اسم ClashOfClansClone.
  3. انقر فوق إنشاء.

إنشاء بيئة اللعبة

بالنسبة للعبة تشبه لعبة Clash of Clans، ستحتاج إلى خريطة لبناء قريتك.

  1. قم بإنشاء مشهد جديد وأطلق عليه اسم MainScene.
  2. انقر بزر الماوس الأيمن في Hierarchy، وحدد 2D Object > Sprite لإنشاء خلفية لقريتك.
  3. استيراد أصول مثل بلاط العشب وصور المباني. يمكنك استخدام أصول مجانية من Unity Asset Store أو إنشاء أصول خاصة بك.

إعداد موارد اللاعب

يحتاج اللاعبون إلى الموارد لبناء الهياكل. فلنقم بإنشاء نظام بسيط لإدارة الموارد.

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;
    }
}

إنشاء المباني الجاهزة

إنشاء نماذج أولية للمباني (على سبيل المثال، منجم الذهب، جامع الإكسير). وإليك كيفية إنشاء مبنى بسيط:

  1. قم بإنشاء GameObject جديد للمبنى الخاص بك عن طريق النقر بزر الماوس الأيمن في Hierarchy وتحديد 2D Object > Sprite.
  2. قم بتسميته GoldMine وقم بتعيين شخصية من أصولك.
  3. قم بإرفاق البرنامج النصي المسمى Building للتعامل مع منطق البناء.
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;
        }
    }
}

تنفيذ وضع المباني

السماح للاعبين بوضع المباني على الخريطة. يمكننا استخدام نقرة بسيطة على الماوس لتحديد مكان المباني.

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
            }
        }
    }
}

إنشاء واجهة المستخدم

قم بإعداد واجهة مستخدم بسيطة لعرض موارد اللاعب وخيارات البناء:

  1. انقر بزر الماوس الأيمن في Hierarchy، وحدد UI > Canvas.
  2. داخل اللوحة، قم بإنشاء كائن Text لعرض كميات الذهب والإكسير.
  3. تعيين نص برمجي لتحديث واجهة المستخدم استنادًا إلى تغييرات الموارد.
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;
    }
}

إضافة ميكانيكا اللعبة

قم بتعزيز طريقة اللعب من خلال إضافة ميزات مثل تدريب القوات والهجوم وترقيات القاعدة. فكر في إنشاء نصوص إضافية لإدارة آليات القوات وترقيات المباني.

خاتمة

لقد قمت بإنشاء إطار عمل أساسي للعبة تشبه Clash of Clans في Unity. يغطي هذا البرنامج التعليمي المكونات الأساسية: إدارة الموارد، ووضع المباني، وتحديثات واجهة المستخدم. يمكنك توسيع هذا المشروع عن طريق إضافة المزيد من المباني، وإدارة القوات، وميزات تعدد اللاعبين، والرسوم المتحركة.

الخطوات التالية