برمج مشروعك الأول باستخدام جودو Godot

سنتعلم في مقال اليوم طريقة برمجة ألعاب بسيطة باستخدام محرك الألعاب مفتوح المصدر جودو Godot ونكتشف اهم مميزاته وطريقة تثبيته واستخدامه خطوة بخطوة.



ما هو محرك جودو Godot؟

جودو Godot هو محرك ألعاب ثنائي وثلاثي الأبعاد مشابه لمحرك الألعاب الشهير يونيتي Unity3D لكنه أبسط وأخف حجمًا وهو مجاني ومفتوح المصدر وهو يستخدم لغة برمجة نصية سهلة وبسيطة تسمى GDScript تشابه في بنيتها لغة البرمجة بايثون. 

 مميزات محرك جودو Godot

 يتمتع جودوت بالعديد من المميزات وأهمها:

  • مجاني ومفتوح المصدر.
  • يملك مجتمع دعم كبير من المطورين.
  • يدعم مختلف أنظمة التشغيل Linux و OS X و Windows.
  • يعمل على كافة أنواع الأجهزة كالجوال والحواسيب المكتبية وأجهزة بلاي ستيشن وفيتا.
  • يوفر مجموعة واسعة من الميزات التي يمكن استخدامها لإنشاء أنواع مختلفة من الألعاب.

 تثبيت محرك جودو Godot

من السهل جدًا تثبيت جودو على جهازك، كل ما عليك هو التوجه إلى الموقع الرسمي وتثبيت الإصدار المتوافق مع المنصة التي تعمل عليها.

 



بعد اكتمال التثبيت افتح التطبيق بالنقر فوق الأيقونة الموضحة في الصورة التالية وستظهر لك لوحة العمل. 


إذا كان لديك مشروع وقد بدأته بالفعل  فسيظهر ضمن النافذة كما يمكنك استيراد أي مشروع سابق لديك، في حالتنا لم نبدأ أي مشروع لذا يمكن إنشاء مشروعنا الأول بالنقر فوق زر import لتبدأ مشروعًا جديدًا وتحديد مكان حفظ هذا المشروع ثم النقر فوق Create&Edite. 


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

لاحظ وجود تبويب باسم Scene أقصى يمين النافذة يمثل مشهد اللعبة، هنا نرى أن مشهد اللعبة سيكون إما مشهد ثلاثي الأبعاد أو ثنائي الأبعاد والمشهد حاليًا فارغ من أي مكون.

كي تضيف المكونات إلى مشهد اللعبة انقر فوق زر + لإضافة عقدة أو كائن Node لمشهد لعبتك، أو انقر فوق  المفتاحين CTRL + A للاختصار وبعدها حدد نوع الكائن وليكن نص RichLabelText وهو كائن بسيط مخصص لطباعة نص على الشاشة.


بعدها انقر نقرًا مزدوجًا على الكائن الذي أنشأته وأطلق عليه تسمية تميزه عن غيره من الكائنات، على سبيل المثال سأسميه helloGodot.



بعد أن أضفت الكائن الخاص بك لمشهد اللعبة عليك أن تضيف له المنطق البرمجي وذلك من خلال تحديد الكائن ثم النقر فوق الرمز Script الموجود في أعلى المشهد.

الآن أنشئ مجلدًا جديدًا بالنقر فوق المجلد res ضمن نافذة FileSystem وأطلق عليه اسمًا مناسبًا وليكن godotscripts وأنشئ داخل هذا المجلد أول سكربت نصي بالاسم firstScript.gd أو أي اسم مناسب تختاره.


إضافة السكربت الأول

يكون كل ملف سكربت مضمن داخل صنف برمجي class. لذا يجب عليك أن تكتب الكلمة الأساسية extends في بداية كل ملف لتحدد الصنف الأساسي أو الأب الذي يرثه هذا السكربت وفي حالتنا الصنف الأساسي هو كائن النص RichTextLabel وهذا يعني أن الكود أو السكربت النصي الذي سنكتبه  قادر على الوصول إلى جميع خصائص ووظائف النص RichTextLabel.

الدالة التي سيبدأ تشغيلها عند تشغيل المشروع هي الدالة _ready. لذا نكتب الكود المطلوب ضمن هذه الدالة ونحفظ البرنامج النصي باستخدام CTRL + ALT + S ثم CTRL + S.

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

على سبيل المثال، سنكتب الكود التالي الذي يضيف عبارة "مرحبًا في محرك جودو" لعنصر النص:

extends RichTextLabel

func _ready():

self.add_text("مرحبًا في محرك جودو");

pass


الآن بعد أن حفظت السكربت تحتاج أن تحدد لمحرك لعبتك أن مشروعك سيبدأ بالمشهد المسمى mainScene. لذا انتقل إلى المشهد »مسار» إعدادات المشروع وغير قيمة main_scene وحددها لتكون الملف mainScene.scn.

تشغيل لعبة جودو

كي تقوم بتشغيل لعبتك كل ما عليك القيام به هو النقر على زر البدء في الأعلى أو النقرفوق مفتاح F5 على لوحة المفتاح.

تغيير خصائص كائن اللعبة

كي تغير سمات كائن اللعبة انتقل إلى علامة التبويب Inscpector واختر الكائن الذي تريد تغيير خصائصه. على سبيل المثال، اختر كائن  helloWorld ستلاحظ أنه يظهر بحدود باللون الأحمر لتدل على أنه محدد من قبلك، بعدها يمكنك تغيير خصائصه كما تشاء. على سبيل المثال، يمكن تغيير العرض أو الارتفاع.





إضافة خطوط إلى لعبة جودو

من أعلى اليسار اختر القائمة import ثم حدد مسار الخط الذي تريد استيراده وحدد خصائصه ثم سمه باالاسم الذي تريده وليكن  Fonts / firstFont.fnt وأضفه إلى مشروعك بالنقر فوق الزر استيراد import.



بعدها من علامة التبويب Inspector في العقدة helloWorld الخاصة بلعبتك ستتمكن من تغيير الخط المستخدم من خلال الخيار Custom Fonts واختيار الخط المطلوب باستخدام الزر Load مع تحديد الخط الجديد الخاص بك. 


استخدام المقؤت Timer في جودو 

المؤقت Timer هو أداة تُستخدم كثيرًا في الألعاب، وسنتعلم استخدامه في لعبتنا الأولى، حيث سنضيف مؤقت يعمل كل عدد من المرات لمدة ثواني محددة من خلال إنشاء عقدة من النوع Timer وتحديد قيمة وقت الانتظار في علامة التبويب Inspector حدد هنا القيمة بالثواني كي تشير إلى عدد المرات التي سيتم فيها تشغيل وظيفة المؤقت.
ويمكنك من خلال  تحديد القيمة Autostart تحديد فيما إذا كان سيتم بدء العد فورًا عند بدء المشروع.


الآن نحرر الكود البرمجي ونكتب دالة  ()_on_Timer_2_timeout وهي الدالة التي سينفذها عداد الوقت لدينا بالتردد الذي حددته.

extends RichTextLabel

var saniye = 0

func _ready():
	self.add_text("مرحبا بك في محرر جودو");
	pass

func _on_Timer_2_timeout():
	saniye += 1
	self.clear()
	self.add_text(str(saniye, " saniye geçti."))
	pass


.جرب الآن تشغيل اللعبة وستفهم الدور الذي قام به هذا الكود بسهولة.


.إلى هنا نكون وصلنا لختام مقال اليوم الذي طورنا فيه أول مشروع بمحرك جودو

.تابع المقالات التالية لتتعلم تطوير ألعاب أكثر احترافية


Next Post Previous Post
No Comment
Add Comment
comment url