القائمة الرئيسية

الصفحات

برنامج صنع ألعاب 3d للمبتدئين: اصنع لعبة مثل صب واي بـ GDevelop

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



برنامج صنع ألعاب 3d للمبتدئين: اصنع لعبة مثل صب واي بـ GDevelop


هل حلمت يوماً بتطوير لعبتك الخاصة ولكن وقفت لغات البرمجة المعقدة عائقاً أمامك؟ 
في عام 2026، لم يعد هذا العذر مقبولاً! يعتبر محرك GDevelop اليوم 
أفضل برنامج صنع ألعاب 3d للمبتدئين، حيث نقل مفهوم تطوير الألعاب من
 كتابة آلاف الأسطر البرمجية إلى مجرد سحب وإفلات العناصر وتحديد المنطق البصري لها.
في هذا الدليل الشامل، سنأخذك في رحلة ممتعة لتعلم كيفية صناعة لعبة ركض
 لانهائي (Infinite Runner) ثلاثية الأبعاد، تماماً مثل لعبة صب واي
 (Subway Surfers) الشهيرة. ستكتشف أن بناء بيئة 3D وبرمجتها أصبح أمراً
 بسيطاً جداً بفضل الأدوات المتطورة التي يوفرها هذا المحرك المجاني ومفتوح المصدر.


* لماذا GDevelop هو الخيار الأول للمبتدئين؟


عند البحث عن برنامج صنع ألعاب 3d للمبتدئين، ستجد خيارات كثيرة، لكن
 GDevelop يتفوق بميزة أساسية وهي "إزالة حاجز الخوف" لدى المطور الجديد.
 إليك الأسباب التي تجعله يتصدر القمة في 2026:

أولاً: ميزة البرمجة المرئية (Visual Scripting)
بدلاً من تعلم لغات مثل C++ أو C#، يعتمد البرنامج على نظام الأحداث (Events). 
هذا النظام يتيح لك صياغة منطق اللعبة باستخدام جمل شرطية بسيطة (إذا حدث كذا.. افعل كذا).
مثال برمجي: "إذا لمس اللاعب العملة الذهبية -> احذف العملة وأضف نقطة للعداد". 
هذا كل شيء، بدون سطر كود واحد!

ثانياً: دعم الـ 3D المتقدم وسهولة المحاور (X,Y,Z)
لطالما كان التعامل مع الأبعاد الثلاثة مرعباً للمبتدئين، لكن GDevelop يوفر واجهة رسومية
 تجعل التحكم في محاور الفضاء أمراً بديهياً:
- المحور X: للتحرك يميناً ويساراً (تغيير المسارات).
- المحور Y: للقفز والهبوط.
- المحور Z: للركض المستمر نحو الأمام.
يوفر البرنامج أدوات "Gizmos" تتيح لك سحب النماذج وتدويرها في فضاء الـ 3D بدقة متناهية، 
مع دعم كامل لملفات GLB و gltf الحديثة.

ثالثاً: التصدير بضغطة زر (Multi-platform)
بعد انتهاءك من برمجة لعبتك، لا تحتاج لتعقيدات "Android Studio" أو "Xcode".
 يوفر المحرك خدمة سحابية تتيح لك:
تصدير اللعبة كملف APK أو AAB لرفعها على متجر جوجل بلاي.
نشر اللعبة كرابط ويب (HTML5) ليلعبها أصدقاؤك مباشرة عبر المتصفح.

* الكود البرمجي (المنطق البصري) لتحريك اللاعب
بما أننا نتحدث عن "برمجة" بالمنطق البصري، إليك كيف سنبرمج حركة اللاعب في
 المسارات الثلاثة (صب واي) داخل محرك GDevelop:
- الحدث (Event): عند الضغط على السهم الأيمن (Right Key)
* الإجراء (Action):
JavaScript
// هذا الكود يمثل المنطق البصري داخل المحرك
Player.X() = Player.X() + 3 // تحريك اللاعب للمسار الأيمن
Player.SetAnimation("Run_Right") // تشغيل حركة الركض لليمين

- الحدث (Event): تحديث الكاميرا لتتبع اللاعب في فضاء الـ 3D
* الإجراء (Action):
JavaScript
Camera.SetPosition(Player.X(), Player.Y() + 2, Player.Z() - 5)
Camera.LookAt(Player.X(), Player.Y(), Player.Z())
--

 المتطلبات الأساسية للبدء: تجهيز بيئة العمل لصنع ألعاب 3d للمبتدئين


قبل البدء في سحب العناصر داخل المحرك، يجب أن تعلم أن نجاح أي برنامج
 صنع ألعاب 3d للمبتدئين يعتمد على جودة النماذج التي ستستخدمها.
 في عام 2026، أصبح الوصول إلى الموارد ثلاثية الأبعاد أسهل من أي وقت مضى
 بفضل المكتبات السحابية والذكاء الاصطناعي التوليدي للنماذج.
لتحويل GDevelop إلى بيئة تطوير "صب واي" حقيقية، ستحتاج إلى تجهيز العناصر التالية:

أولاً: تنصيب المحرك وضبط إعدادات الـ 3D
- قم بتحميل النسخة الأخيرة من GDevelop (تأكد أنها تدعم الـ 3D Rendering).
- عند فتح مشروع جديد، اختر "3D World"؛ هذا سيقوم تلقائياً بضبط الكاميرا
 والإضاءة الافتراضية لتناسب الأبعاد الثلاثية.

ثانياً: تجهيز النماذج ثلاثية الأبعاد (3D Assets)
في ألعاب الركض اللانهائي، نحتاج إلى ثلاث فئات رئيسية من النماذج:
- الشخصية (The Runner): يفضل أن يكون النموذج بصيغة GLB أو FBX، 
ويحتوي على حركات (Animations) جاهزة مثل (الركض، القفز، الانزلاق). 
- يمكنك الحصول على شخصيات مجانية من موقع Mixamo.
- قطع الطريق (Track Tiles): لكي نصنع طريقاً لانهائياً، سنصمم "قطعة طريق" واحدة مكررة
 بطول 10 أمتار مثلاً. هذه القطعة يجب أن تحتوي على الأرصفة وقضبان القطار.
- العوائق والجوائز (Obstacles & Collectibles): نماذج بسيطة لصناديق، قطارات ثابتة، 
وعملات ذهبية دورانية لجذب انتباه اللاعب.
* نصيحة للمبتدئين: لا تحاول تصميم النماذج بنفسك في البداية. استخدم مكتبة
 Asset Store المدمجة داخل GDevelop؛ فهي تحتوي على آلاف النماذج
 الجاهزة التي يمكنك سحبها وإسقاطها فوراً في مشروعك.

* كود (المنطق البرمجي) لتحميل النماذج وضبط الحجم:
في GDevelop، لا نحتاج لكتابة كود معقد للاستيراد، ولكننا نستخدم منطق 
"عند بدء المشهد" (At the beginning of the scene) لضبط مقاييس النماذج:
- الحدث (Event): عند بدء المشهد (At the beginning of the scene)
- الإجراء (Action):
JavaScript
// ضبط حجم اللاعب ليتناسب مع الطريق
Player.Scale(0.5, 0.5, 0.5) 
// تدوير العملات الذهبية باستمرار حول المحور Y
Coin.Rotate(90 * TimeDelta(), "Y")
--

 خطوات بناء لعبة "صب واي" ثلاثية الأبعاد (الجانب العملي)


الآن ننتقل إلى مرحلة التنفيذ الحقيقي. ميزة GDevelop كأفضل برنامج صنع ألعاب 3d للمبتدئين 
تكمن في تحويل العمليات المعقدة إلى خطوات منطقية بسيطة. 
سنقوم الآن بتحويل النماذج الصامتة إلى لعبة تنبض بالحياة.




أولاً: إنشاء بيئة العمل وضبط الكاميرا في فضاء الـ 3D
لضبط رؤية اللاعب من المنظور الثالث (Third-Person View) وجعل الكاميرا تتبع البطل بسلاسة:
- الحدث (Event): بدون شرط (يلحق بكل إطار - Every Frame)
- الأكواد (Actions):
JavaScript

// تثبيت الكاميرا خلف اللاعب بمسافة 5 أمتار وللأعلى بمترين
Camera.SetPosition(Player.X(), Player.Y() + 2, Player.Z() - 5)
// جعل الكاميرا تنظر دائماً باتجاه موقع اللاعب
Camera.LookAt(Player.X(), Player.Y(), Player.Z())
--

ثانياً: إضافة الشخصية وبرمجتها للتحرك بين المسارات الثلاثة
تعتمد اللعبة على التنقل بين المسارات (−3,0,3) باستخدام ميزة Tween لمنع القفزات المفاجئة:
- الحدث (Event): عند الضغط على زر السهم الأيمن (Right Key Pressed)
- الأكواد (Actions):
JavaScript

// تحريك اللاعب للمسار الأيمن (X=3) بسلاسة خلال 0.2 ثانية
Object Player: Add Tween "MoveRight" to change X position to 3, duration: 200ms, easing: "easeOutQuad"
--

- الحدث (Event): عند الضغط على زر السهم الأيسر (Left Key Pressed)
- الأكواد (Actions):
JavaScript

// تحريك اللاعب للمسار الأيسر (X=-3) بسلاسة خلال 0.2 ثانية
Object Player: Add Tween "MoveLeft" to change X position to -3, duration: 200ms, easing: "easeOutQuad"
--

ثالثاً: تصميم نظام العوائق اللانهائي (Infinite Spawning)
لخلق تحدٍ مستمر للاعب عبر توليد عوائق عشوائية في طريقه:
- الحدث (Event): المؤقت الزمني "ObstacleTimer" أكبر من 2 ثانية
- الأكواد (Actions):
JavaScript

// إنشاء عائق في مسار عشوائي (يتم اختيار X من القيمة: -3 أو 0 أو 3)
Create object "Obstacle" at X: (Random(2) - 1) * 3, Y: 0, Z: Player.Z() + 60
// إعادة ضبط المؤقت للبدء من جديد
Reset timer "ObstacleTimer"
--

رابعاً: إضافة العملات ونظام تسجيل النقاط (Score System)
ربط التفاعل بين اللاعب والعناصر لجمع النقاط وتحديث واجهة المستخدم:
- الحدث (Event): عند حدوث تصادم بين "Player" و "Coin"
- الأكواد (Actions):
JavaScript

// حذف العملة من المشهد
Delete object "Coin"
// إضافة 10 نقاط لمتغير النتيجة العالمي
Change global variable "Score": Add 10
// تحديث نص النتيجة على الشاشة فوراً
Object ScoreText: Modify the text: set to "Score: " + GlobalVariableString(Score)
--

- الحدث (Event): بدون شرط (لجعل العملة تدور)
- الأكواد (Actions):
JavaScript

// تدوير العملة حول نفسها لجذب الانتباه
Object Coin: Rotate 180 degrees per second
--


إضافة اللمسات الاحترافية: تحسين تجربة اللعبة


بعد بناء المنطق الأساسي، تأتي مرحلة "التلميع". ما يجعل GDevelop
 يتميز كـ برنامج صنع ألعاب 3d للمبتدئين هو وفرة المؤثرات الجاهزة التي 
تحول اللعبة من مجرد مكعبات تتحرك إلى تجربة بصرية مذهلة تشبه ألعاب الموبايل العالمية.

1* إضافة المؤثرات البصرية (Particles) عند القفز أو التصادم
تضيف الجزيئات (Particles) حياة للعبة؛ فمثلاً عند اصطدام اللاعب بعائق،
 يجب أن تظهر شظايا لتعزيز شعور الخسارة، وعند جمع العملة تظهر هالة مضيئة.
- الحدث (Event): عند حدوث تصادم بين "Player" و "Obstacle"
- الأكواد (Actions):
JavaScript

// إنشاء نظام جزيئات (انفجار بسيط) عند موقع التصادم
Create object "ExplosionParticles" at Player.X(), Player.Y(), Player.Z()
// اهتزاز الكاميرا لإعطاء شعور بقوة الارتطام
Shake the camera with a force of 15 for 0.5 seconds
--

2* إضافة الأصوات والموسيقى التفاعلية
الصوت يمثل 50% من تجربة اللعبة. سنقوم ببرمجة موسيقى خلفية تعمل باستمرار وأصوات مؤثرة للأفعال.
- الحدث (Event): عند بدء المشهد (At the beginning of the scene)
- الأكواد (Actions):
JavaScript

// تشغيل موسيقى الخلفية وتكرارها للأبد بمستوى صوت 50%
Play the sound "BackgroundMusic.mp3" on channel 1, loop: yes, volume: 50
--

- الحدث (Event): عند جمع العملة "Coin"
- الأكواد (Actions):
JavaScript

// تشغيل صوت "الرنين" مرة واحدة عند جمع العملة
Play the sound "CollectCoin.wav" on channel 2, loop: no, volume: 100
--

* كود (المنطق) لإنهاء اللعبة وإعادة المحاولة:
حتى تكتمل اللعبة برمجياً، نحتاج لكود يعيد تشغيل اللعبة عند الاصطدام بعائق:
- الحدث (Event): عند حدوث تصادم بين "Player" و "Obstacle"
- الأكواد (Actions):
JavaScript

// الانتظار لمدة ثانية ثم إعادة تشغيل اللعبة
Wait 1 second
Change to scene "MainMenu" (أو إعادة تحميل المشهد الحالي)
// تصغير مستوى الموسيقى عند الخسارة
Change volume of channel 1 to 0
--


 نظام حفظ وتخزين أعلى نتيجة (High Score System)


بما أن GDevelop هو أفضل برنامج صنع ألعاب 3d للمبتدئين، فإنه يوفر
 نظام "المخازن" (Storage) الذي يغنيك عن التعامل مع قواعد البيانات المعقدة.
 سنقوم ببرمجة اللعبة لتقارن النتيجة الحالية بأعلى نتيجة مسجلة وتخزين الأفضل بينهما.

أولاً: قراءة أعلى نتيجة عند بدء اللعبة
يجب على اللعبة فحص الذاكرة عند التشغيل لجلب الرقم القياسي القديم.
- الحدث (Event): عند بدء المشهد (At the beginning of the scene)
- الأكواد (Actions):
JavaScript

// فتح مخزن البيانات المسمى "SaveFile" وقراءة القيمة المسماة "HighScore"
Read "HighScore" from storage "SaveFile" and store in scene variable "BestScore"
// إذا كان المخزن فارغاً (أول مرة لعب)، اجعل القيمة 0
If scene variable "BestScore" is undefined: set to 0
--




ثانياً: مقارنة وحفظ النتيجة الجديدة
عند انتهاء اللعبة (الاصطدام)، نقوم بالتحقق: هل حقق اللاعب رقماً قياسياً جديداً؟
- الحدث (Event): عند حدوث تصادم بين "Player" و "Obstacle"
- الأكواد (Actions):
JavaScript

// التحقق: إذا كانت النتيجة الحالية أكبر من النتيجة المسجلة سابقاً
Condition: Global variable "Score" > Scene variable "BestScore"
// الإجراء: حفظ النتيجة الجديدة في ذاكرة الهاتف فوراً
Action: Write GlobalVariable(Score) in "HighScore" of storage "SaveFile"
--


نصائح ذهبية للمبتدئين لتطوير ألعاب 3D ناجحة


بعد أن تعلمت كيفية استخدام GDevelop كأفضل برنامج صنع ألعاب 3d للمبتدئين، 
يجب أن تدرك أن التحدي الحقيقي ليس فقط في جعل اللعبة تعمل، بل في 
جعلها تعمل بسلاسة (60 إطاراً في الثانية) على مختلف الأجهزة.
 إليك أهم النصائح لضمان نجاح لعبتك تقنياً وفنياً:

أولاً: التركيز على الأداء (Optimization) للهواتف الضعيفة
في ألعاب الـ 3D، كل مثلث (Polygon) وكل ضوء يكلف المعالج جهداً إضافياً.
 لضمان وصول لعبتك لأكبر عدد من اللاعبين:
  1. استخدام نماذج Low-Poly: اختر نماذج ثلاثية الأبعاد تحتوي على عدد قليل من المضلعات. هذا لا يعطي طابعاً فنياً جميلاً فحسب، بل يجعل اللعبة فائقة السرعة.
  2. تقليل الإضاءة الديناميكية: الإضاءة التي تتحرك أو تظلالها تتغير لحظياً تستهلك البطارية والمعالج. حاول استخدام "الإضاءة المخبوزة" (Baked Lighting) أو تقليل عدد المصادر الضوئية في المشهد.
  3. ضغط القوام (Texture Compression): لا تستخدم صوراً بدقة 4K داخل اللعبة؛ دقة 1024 أو حتى 512 بكسل غالباً ما تكون كافية جداً لشاشات الهواتف.

ثانياً: ميكانيكا اللعبة البسيطة والممتعة
لا تحاول تقليد "صب واي" بكل تفاصيلها من اليوم الأول. ابدأ بميكانيكا واحدة متقنة 
(الركض والقفز)، وبمجرد أن تصبح ممتعة، ابدأ بإضافة ميزات أخرى. تذكر أن "البساطة هي قمة التعقيد".

ثالثاً: نظام الاختبار المتكرر (Playtesting)
لا تنتظر حتى تنهي اللعبة لتقوم بتجربتها. قم بتصدير نسخة تجريبية كلما أضفت ميزة
 جديدة وجربها على هاتف ضعيف قبل القوي. GDevelop يسهل عليك هذا الأمر عبر التصدير السريع للمتصفح.

* كود (المنطق البرمجي) لتحسين الأداء (Object Pooling):
من أهم تقنيات الأداء هي عدم حذف وإنشاء الكائنات باستمرار، بل "إعادة تدويرها". 
بدلاً من حذف العائق الذي يتجاوزه اللاعب، يمكننا نقله للأمام مرة أخرى:
- الحدث (Event): إذا أصبح العائق خلف اللاعب بمسافة معينة (مثلاً Z<Player.Z()−10)
- الأكواد (Actions):
JavaScript

// بدلاً من الحذف، ننقل العائق لمسافة 100 متر للأمام لإعادة استخدامه
Object Obstacle: Set Z position to Player.Z() + 100
// تغيير المسار عشوائياً للعائق المعاد تدويره
Object Obstacle: Set X position to (Random(2) - 1) * 3
--


خطوات تصدير اللعبة ونشرها


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

* كيفية تحويل مشروعك إلى ملف APK أو نشره على منصة Liluo
لنشر لعبتك، اتبع الخطوات البرمجية والتقنية التالية داخل قائمة التصدير (Export):
1- التصدير للموبايل (Android):
اذهب إلى زر Publish ثم اختر Mobile.
اضغط على Build APK؛ سيقوم خادم GDevelop السحابي بتجميع ملفات 
اللعبة وتحويلها إلى ملف قابل للتثبيت على هواتف الأندرويد خلال دقائق.

2- النشر بنقرة واحدة (Liluo.io):
اختر Web ثم Publish on Liluo.io.
سيتم تزويدك برابط مباشر للعبتك؛ يمكنك مشاركته فوراً على منصات التواصل الاجتماعي
 ليتمكن أي شخص من لعبها عبر المتصفح دون تحميل.
* نصيحة : قبل التصدير، تأكد من الدخول إلى إعدادات المشروع (Project Properties) 
وتعبئة "Package Name" و "Version"، فهذه التفاصيل ضرورية
 إذا كنت تخطط لرفع اللعبة على متجر "جوجل بلاي".




الأسئلة الشائعة حول برنامج صنع ألعاب 3d للمبتدئين: (FAQ)



* هل يدعم GDevelop صناعة ألعاب 3D معقدة؟
نعم، بفضل تحديثات 2026، أصبح يدعم الإضاءة المتقدمة وظلال الـ PBR، لكنه يظل الأفضل للألعاب البسيطة والمتوسطة.




* هل أحتاج لتعلم لغة Javascript لاستخدام البرنامج؟
لا، نظام الأحداث البصري يغنيك عن ذلك، لكن يمكنك استخدام الجافا سكريبت إذا أردت تخصيصاً أعمق.

* هل يمكنني نشر لعبتي على متجر Steam؟
بالتأكيد، GDevelop يتيح التصدير بصيغة Windows/Mac/Linux متوافقة تماماً مع منصة Steam.

* كيف أحصل على نماذج 3D مجانية للعبتي؟
يمكنك استخدام مكتبة البرنامج المدمجة، أو مواقع مثل Sketchfab وKenney.nl التي توفر نماذج مرخصة مجاناً.

* لماذا اللعبة بطيئة على هاتفي القديم؟
تأكد من تقليل عدد الأضواء (Dynamic Lights) واستخدام نماذج (Low Poly) لضمان سلاسة الأداء.

* هل يمكنني إضافة إعلانات للربح من اللعبة؟
نعم، يدعم البرنامج إعلانات AdMob وFacebook Ads بضغطة زر.

* هل يتطلب البرنامج اتصالاً دائماً بالإنترنت؟
لا، يمكنك العمل على البرنامج بدون إنترنت، وتحتاجه فقط عند الرغبة في التصدير السحابي.

* ما هو الفرق بين GDevelop والمحركات الأخرى مثل Unity؟
الفرق هو "منحنى التعلم"؛ فبرنامج GDevelop مصمم ليكون أسهل
 برنامج صنع ألعاب 3d للمبتدئين بينما يتطلب Unity خبرة برمجية أعمق.

الخاتمة 
في النهاية، صناعة لعبة مثل "صب واي" لم تعد حلماً بعيد المنال. 
باستخدام GDevelop كأفضل برنامج صنع ألعاب 3d للمبتدئين، أصبح
 بإمكانك تحويل أفكارك إلى واقع في غضون أيام قليلة. ابدأ الآن، جرب الأكواد التي قدمناها، 
ولا تخشَ الخطأ، فكل مطور ألعاب عظيم بدأ بخطوة بسيطة مثل هذه.



أنت الان في اول موضوع
جدول المحتويات