لعبة النجاة من الزومبي (Unity) باستخدام أصول مجانية

تفاصيل العمل

لعبة النجاة من الزومبي (Unity) باستخدام أصول مجانية

هذه لعبة بسيطة من منظور الشخص الثالث تم تطويرها باستخدام Unity. يتضمن المشروع حركة أساسية للاعب، نظام تعاقب الليل والنهار، توليد ديناميكي للزومبي، ونظام أهداف بدائي (سيتم تحسينه لاحقاً).

الميزات

نظام تحكم بالشخصية من منظور ثالث:

حركة أساسية للاعب، الجري مع نظام طاقة (التحمل)، والتحكم بالكاميرا.

نظام الأسلحة:

التقاط الأسلحة، تجهيزها، إطلاق النار، إعادة التذخير، وإسقاط الأسلحة. يتضمن أنواع مختلفة من الأسلحة باستخدام كائنات قابلة للبرمجة (Scriptable Objects).

ذكاء اصطناعي للزومبي:

ثلاثة أنواع من الزومبي: العادي، السريع، والدبابة (Tank)، ولكل منها صحة وسرعة وسلوك هجوم مختلف.

الزومبي يمكنهم الدوران في المنطقة، مطاردة اللاعب (باستخدام مجال رؤية وذاكرة)، والهجوم عليه.

تأثير تعاقب الليل والنهار على سلوك الزومبي:

مثلاً، زيادة السرعة والشراسة أثناء الليل.

التوليد الديناميكي:

يتم توليد الزومبي بواسطة كائنات توليد الزومبي (ZombieSpawner)، والتي يمكن تفعيلها حسب قرب اللاعب أو عبر محفزات خارجية.

دورة الليل والنهار:

تغييرات مرئية وتأثيرات على طريقة اللعب حسب الوقت، مثل دوران الشمس وشدة الإضاءة. إشعارات عند تغير الوقت من نهار إلى ليل والعكس.

نظام الالتقاط:

يمكن للاعب التقاط الأسلحة والذخيرة وأطقم الإسعافات من البيئة.

نظام الأهداف:

مدير أهداف بسيط يرشد اللاعب في تنفيذ المهام، يركز حالياً على جمع الأسلحة. يتضمن بوصلة على الشاشة لتوجيه اللاعب نحو الأهداف.

عناصر واجهة المستخدم (UI):

عرض صحة اللاعب، كمية الذخيرة، ومستوى التحمل.

تأثيرات صوتية:

أصوات الخطوات، أصوات الأسلحة، وأصوات الرياح في الخلفية.

الأنظمة الأساسية (Core Systems)

DayNightCycle.cs: يدير تعاقب الليل والنهار، دوران الشمس، شدة الإضاءة، وإشعارات تغيير الوقت.

AmbientSoundManager.cs: يتحكم في تشغيل الأصوات البيئية المستمرة، مثل صوت الرياح.

Objective.cs: كائن قابل للبرمجة (Scriptable Object) يحدد هدفاً واحداً في اللعبة (مثل جمع سلاح معين).

ObjectiveManager.cs: يدير تقدم الأهداف، يحدث واجهة المستخدم (UI)، ويوجه اللاعب باستخدام البوصلة.

سكربتات خاصة باللاعب (Player Related Scripts)

ThirdPersonMovement.cs: يتحكم في حركة اللاعب، الجري، نظام التحمل (Stamina)، حالات التحريك (Animation States)، كما يقوم بتشغيل أصوات الخطوات عبر FootstepAudio.

PlayerHealth.cs: يدير صحة اللاعب، يتعامل مع تلقي الضرر، الشفاء، وتحديث شريط الصحة في واجهة المستخدم.

WeaponController.cs: يدير السلاح المجهز حالياً مع اللاعب، يتحكم في الإطلاق، إعادة التذخير، التصويب، وإسقاط السلاح. يتفاعل مع CrosshairController للتحكم في مؤشر التصويب.

FootstepAudio.cs: يشغل أصوات خطوات مختلفة حسب حالة حركة اللاعب (المشي/الجري) ونوع الأرضية (إسمنت/عشب).

CrosshairController.cs: يتحكم في التغذية البصرية لمؤشر التصويب، بما في ذلك تشتت التصويب نتيجة الارتداد وأنواع مختلفة من المؤشرات أثناء التصويب المكبر.

سكربتات العناصر والالتقاط (Item & Pickup Scripts)

WeaponData.cs: كائن قابل للبرمجة يحدد خصائص الأسلحة المختلفة (الضرر، معدل الإطلاق، الذخيرة، إلخ).

WeaponPickup.cs: يدير منطق التقاط الأسلحة من بيئة اللعبة. يتفاعل مع WeaponController و ObjectiveManager.

AmmoData.cs: كائن قابل للبرمجة يحدد خصائص أنواع الذخيرة المختلفة.

AmmoPickup.cs: يدير جمع الذخيرة وإضافتها إلى السلاح الحالي لدى اللاعب.

HealthData.cs: كائن قابل للبرمجة يحدد خصائص عناصر الصحة (كمية الشفاء، الصوت).

HealthPickup.cs: يدير منطق التقاط عناصر الشفاء ومعالجة اللاعب.

سكربتات العدو (الزومبي) (Enemy (Zombie) Scripts)

ZombieAI.cs: الذكاء الاصطناعي الأساسي للزومبي العادي، يحدد حالات الدوران، المطاردة، والهجوم. يتكيف مع الرؤية والسرعة حسب دورة الليل والنهار.

ZombieAI_Runner.cs: ذكاء اصطناعي لزومبي "السريع"، يوسع من الذكاء الأساسي مع حركة أسرع، مجال رؤية أوسع، وآلية مراوغة.

ZombieAI_Tank.cs: ذكاء اصطناعي لزومبي "الدبابة"، يوسع من الذكاء الأساسي مع صحة أعلى، ضرر أكبر، ومقاومة للارتباك (stagger).

ZombieHealth.cs: إدارة صحة الزومبي العادي، يتعامل مع تلقي الضرر، مؤثرات الموت، ويقوم بإشعار المولدات عند الموت.

ZombieHealth_Runner.cs: إدارة صحة زومبي "السريع"، يتضمن فرصة للمراوغة وتأخير معين في حركة الموت.

ZombieHealth_Tank.cs: إدارة صحة زومبي "الدبابة"، مع صحة أعلى، مقاومة للارتباك، وتأخير خاص في حركة الموت.

ZombieSpawner.cs: يقوم بتوليد الزومبي ضمن نصف قطر محدد أو نقاط معينة، يدير عدد الزومبي النشطين وعدد التوليد الكلي. يمكن تفعيله عند بدء اللعبة أو عند اقتراب اللاعب أو عبر محفزات خارجية.

SpawnerActivationTrigger.cs: منطقة تفعيل تقوم بتنشيط ZombieSpawner عندما يدخلها اللاعب، مع خيارات للتفعيل مرة واحدة أو بتأخير.

سكربت الكاميرا (Camera Script)

FollowCamera.cs: سكربت كاميرا من منظور ثالث يتبع اللاعب، يتحكم في حركة الكاميرا بالماوس، ويضبط الإزاحة حسب حالة التصويب. يتضمن كشف تصادم أساسي لمنع مرور الكاميرا عبر العقبات.

سكربتات واجهة المستخدم (UI Scripts)

StaminaUI.cs: يقوم بتحديث شريط التحمل في واجهة المستخدم حسب الحالة الحالية للاعب.

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
2
تاريخ الإضافة
المهارات