22

تجربتي الاولى على تقنية WebGL (تحويل لعبة RandomAttack 0.1 2d لتكون ثلاثية الابعاد )

بعد فتره من التكويد في وقت فراغي قررت تطوير اللعبة RandomAttack والتي كانت ثنائية الابعاد الى لعبة ثلاثية الابعاد عبر استخدام تقنية WebGL الرائعة :]

النسخه التي ستشاهدها حالياً ليست كامله 0.2 وقد تم تطوير اللعبة كثيراً 0.3 وتدعم العربية وتدعم اجهزه الهواتف ويتم اللعب على شكل فرق (teams) و (levels) تحت قواعد كثيره يتم بها احتساب الفائزين (او الفائز ) .

يوجد فقط عدة عيوب في تقنية WebGL وهي بطى رسم الفريمات حيث قمت بعدة تجارب ودراسة على التقنية بلابتوبي على ويندوز 10 متصفح كروم والتي سالحقها لاحقاً عند نشر اللعبة (عند رسم 50 دبابه مع الارضية وقرابه 70 قذيفة في الملعب يهبط مؤشر ال FPS الى 20 اطار لكل ثانيه وهذا مايبطىء اللعبة وتم حل هذه المشكله عبر استخدام خوارزمة معينه لمزامنة دوال الرسم )

والعيب الثاني التحكم عبر المتصفح يكون التحكم بطيء وصعب خصوصاً ادارة الكاميرا عبر الماوس X&Z ROTATIONS سابحث عن حل لهذه المشكله ..

عموما اللعبة الى الان تم تجربها على عدة اجهزه شبكة وتم استخدام جهاز سيرفر للربط ويتم اللعب بين الفرق بشكل سلس وجيد نسباً

اللعبة تدعم :

1- الشبكات او عبر الانترنت (WEBSOCKET)

2- تحكم كامل وصناديق مساعدة في الملعب مثل اصلاح الدبابة

3- دعم الطائرات لمسح المنطقه .

الاضافات والتحديثات :

1- دعم قذائف صاروخيه تلاحق الدبابات عن بعد (سيهبط بال FPS بلاشك)

2- دعم عدة سيرفرات في كل سيرفر عدة لاعبين عدد محدد

3- تحكم في ال AI من قبل اللاعب

4- تحسين ال AI .

.

.

شاركنا افكارك

المعذرة لقد طولت في الشرح .. اللعبة مازالت في بدايتها لاكن حبيت مشاركتكم بعض التفاصيل

(اللعبة تم انشائها لغرض تعليمي وتم برمجتها من الصفر بدون اطار العمل three.js واذا رائيت تحسن قد افتح لها سيرفر مدفوع مع دومين )

فيديو اللعبة ال 3D

فيديو الاصدار القديم 2D

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

جيدة

لكن لما لا تستعمل محركات الالعاب فذلك سيسهل عليك برمجتها وايضا يكون التصميم اكثر احترافية؟

بالضبط لاريد ان يكون الامر سهلا ... اريد عبور اصعب الطرق وبالفعل مع صعوبة تركيب دوال WebGL لانه في الاصل low level حيث تحتاج خبرة بكيفيه سير الbuffers وتركيبها و بوجود اي خطاء صغير (اشياء مضحكة تبداء بالحدوث xD ) ... بالنسبه للتصميم تم تعديل الكثير من الاشياء في الاصدار القادم ..

شكرا على ردك اخي @megasoft

هل هناك تحديثات للموضوع أخي ، خاصة النسخة ثلاثية الأبعاد

تحت العمل .. انا في هذه الاثناء مشغول بعدة مشاريع اخرى .. ساكملها في وقت فراغي ان شاء الله :) ..

بالمناسبة ومن قبيل الصدفة لدي حوالي النصف ساعة وأنا أستمع إلى إبداعاتك على الـــ soundcloud أنا في حالة خشوع الآن ، لديك حس فني راقي ، هل جربت بيع إحدى مقطوعاتك

شكراً لك .. نعم كنت في السابق اتعاقد انا ومؤديين راب من الخليج وابيع beats انتقلت لل orchestral music في اواخر مسيرتي لاكن قطعت التلحين لمده طويله فقط اقوم بالتاليف وحفظها في الجهاز :( .. بسبب الاوضاع في اليمن اولاً ثم بسبب تركيزي على البرمجه اكثر .

يستهويني كثيرا الايقاع الملحمي و السينيمائي (epic ، cinematic) ،

لدي بعض الأسئلة لو تكرمت بالاجابة عليها فقد كانت إحدى أهدافي احتراف fl studio لكني وجدته معقدا كثيرا ويحتاج لملحقات للحاسوب لذا :

  • ماهي الملحقات التي تربطها بالحاسوب لصنع لحن ما (بيانو ، جيتار إليكتروني ، كمان الكتروني ...) أم كل شيئ مصنوع بالبرامج

  • كيف تبدأ فكرة اللحن من البداية أعني هل تستمع مثلا إلى لحن مشهور وتحاول تقليده مع تغيير بسيط أم تبدأ من الصفر

  • ماهي البرامج المستعملة بخلاف الـ fl studio

    • أخيرا ماذا عن audiojungle هل جربت البيع فيه ، ستصبح ثريا إذا ما قُبلت إحدى مقطوعات هناك
KernelCode أضف ردا

ماهي الملحقات التي تربطها بالحاسوب لصنع لحن ما (بيانو ، جيتار إليكتروني ، كمان الكتروني ...) أم كل شيئ مصنوع بالبرامج

كل شيء مصنوع بالبرنامج .

كيف تبدأ فكرة اللحن من البداية أعني هل تستمع مثلا إلى لحن مشهور وتحاول تقليده مع تغيير بسيط أم تبدأ من الصفر

يبدا اللحن بفكرة مثلا عندما تفكر في لحن ثم تبدا ببناء هذا اللحن في مخيلتك ثم تقوم بكتابته او تسجيله في ورقه لكي لاتنساه ثم تقوم بصنعه باحد برنامج التلحين مثل fl-stduio اخيراً لاتنسا هندسه اللحن .

ماهي البرامج المستعملة بخلاف الـ fl studio

اتسخدم الكثير من الاضافات خصوصاً في المكسر لكن اضافه اساسيه استخدمها هي مكتبه

EastWest Quantum Leap Symphonic Orchestra

لمكتبه الكمان الرائعه :

Orchestral & Cinematic : Session Strings

هذه المكتبات حجمها تصل الى 100 جيجا في النسخه الPLATINUM انصحك اطلبها من الشركه وستحصل على كتيب تعليمات هارد درايف فيه كل المكتبه الصوتيه بجوده استوديوهات عالميه وملحقات رائعه اخرى.. ربما تجد المكتبه ال GOLD على التورنت اذا كنت محظوظ ;) .

أخيرا ماذا عن audiojungle هل جربت البيع فيه ، ستصبح ثريا إذا ما قُبلت إحدى مقطوعات هناك

لم اسمع بهذا الموقع ربما اجربه اذا عدت للتلحين :) .

هل websocket مناسب للالعاب في لغة PHP و هل هي قريبة في الاداء من Node.js اما انك فضلت PHP لاسباب اخرى

لان افكر في تجهيز تطبيق websocket باستخدام PHP بناء على طلب احد العملاء لكن لا اعرف مدى سهولة البرمجة به و ربطه بقاعدة البيانات و العمل في الوقت الحقيقي (مواجهة بين 2 لاعبين مثلاً )أعذرني على افتتاح ردي بسؤال .

بالنسبة للعبة اعتقد انك قمت بشوار مدهل في تطويرها و جعلها بهذا الشكل . و بصراحة اللعبة لو انتهت و اكملت باقي مراحلها تعتبر لعبة مبهرة من العرض الدي وضعته خصوصا الطائرات تصميمها ممتاز و قريب من ثيم warcraft . اعتقد حتى لو اصدرت اللعبة باللغة الانجليزية ستجد لها معجبون كثار خصوصا انها مكتوبة باستخدام JS و و العاب HTML 5 المشابها لها قليلة لان اغلب الالعاب تستخدم Flash

هل websocket مناسب للالعاب في لغة PHP و هل هي قريبة في الاداء من Node.js اما انك فضلت PHP لاسباب اخرى

لقد بحث و تعبت من البحث لأجد طريقة بسيطة للتعامل مع websockets في PHP ، لذلك نصيحتي لك إن أردت real time web application عبر websocket فعليك بـ NodeJS .

اعتمدت على الwebsocket php لعدم وجود استضافات تدعم تطبيقات النود مجانا ... في كل الاحوال النود تفوز في كل سباق :D من حيث السرعه والاداء والسهولة

جربت الـ Node.js في سيرفر VPS 128MB و كان ادائها سيء جداً عرفت بعدها انها تحتاج الى سيرفر كامل Dedi أعتقد بسبب استهلاك تطبيقات الوقت الحقيقي لموارد ال CPU خصوص و بقاء السيرفر في حالة عمل بانتظار ادخالات المستخدم .

اعرف ان هذه الميزات موجودة في Flash سابقا لكثر الالعاب عليه , لكن هل كان فلاش يستخدم تقنية websocket حينها .

على كل حال متطلباتي لسيرفر websocket php لا يحتاج استجابة خيالية من السيرفر (بالـ ms كما في ألعاب الفيديو ) لكن تأخر بضع اجزاء في الثانية لن يضر , المهم ان يبدوا شكل التطبيق كانه تفاعلي بالكامل بنظر المستخدم .

ما هي المكتبة التي إستخدمتها لعمل الـ web sockets ؟

DeltaForce أضف ردا

لا النود جي اس اجربت فيه تطبيق آخر بنا على طلب احدهم في خمسات التطبيق كان ينشيء سلايدات مشابها لباوربوينت على شكل تطبيق سطح المكتب لكن يعمل عبر المتصفح , لم اكن اعرف Nod.JS اين يخزن تلك الصفحات حتى هل عبر DB او عبر ملف لدى تركته .

تقول تعمل تطبيق بالـ Nod.JS فى خمسات !!!!!!!!!!!!!!!!!!!!!!!

DeltaForce أضف ردا

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

DeltaForce أضف ردا

اعرف دلك لكني بصارحة لا افقه شيء في Node.js رغم اني تبثها على سيرفر للتجريب لكن لم اجد الوقت لتعلمها رغم معرفتي للـ JS و كثير من مكتباتها .تعلم Node.js من الصفر و بناء تطبيقات عليها سياخد مني وقت طويل خصوصا لو كان السكرت يتطلب وجود اعضاء و ربط بقواعد البيانات و علاح الثغرات إلخ . لدى فكرت في PHP كحل بديل .

إن كنت تريد عمل rest api مع socket خلال دقائق كتطبيق يعمل real time فأنصحك بـ feathersjs بشده ، و هو :

  • يدعم عدة مشغلات لقواعد الببانات العلائقية و الغير علائقية 

  • لديه إضافة لعمل التصاريح و التصاديق

  • يدعم sockit io -و هي مكتبة مشهورة في Node- إبتدائاً

  • و هلم جره من الفوائد الاخرى

إبحث وستعرف بساطة عمل مثل هذه الاشياء بهذا الاطار الرائع . ^_^

اشكرك على النصيحة اضفته الى قائمة TD الخاصة بي .

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

-3

انت تضيع وقتك استعمل محرك العاب وانتهى الامر

يبدو لي انك لم تفهم هدف اللعبة من الاساس ... بالتاكيد ساصنع لعبه افضل بالف مره باستخدام يونتي 3دي في اقل من يومين وباقوى الجرافيكس لقد عملت على عدة منصات العاب من قبل ولاكن كان الهدف كيف يمكن صنع لعبة من الصفر وتشريح anatomy هذه التقنية .. بالتاكيد في كل فتره ستاتي تكنولوجيا جديدة اليوم webgl بكره webgl VR وهكذا اذا لم تفهم اساسيات الشىء من الصفر ستتعب في حياتك البرمجيه (لان حتى اذا كنت تبرمج العابك باليونتي ) يوجد الف مصمم اقوى منك في التصميم يستطيع صنع العاب اقوى منك (باليونتي) لاكن اذا اردت صنع shader جديد غير اللذي يتوفر في اليونتي او سعره غالي الف دولار عبر معرفه كل شي تستطيع برمجه كل شي من الصفر .. نحن المبرمجين ندرس ونبتكر تقنيات جديدة (وليس فقط استخدام البرامج مثل الفوتوشوب واليونتي الخ ! ) 

هل مازلت تعتقد انني اضيع وقتي ؟!

@xlmnxp

ممتاز . هل لك أن نتشارك فى مشروع لعبة ثلاثية . بكلفة مميزة .

لو أمكن نبذة عنك ومشاريعك السابقة .

صراحة انا مشغول جدا هده الفتره بعدة مشاريع ... لاكن ارسل تفاصيل المشروع على بريدي ...وسارد لك خبر .

-2

لم يتغير رائي مجرد تضييع للوقت

انت تهدر وقتك في شيء لن يعمل على جميع المتصفحات بكفائة عالية

WebGL خصاصة في Firefox غير Chrome

وبالاضافة ان اغلب الهواتف المحمولة لا تدعم webgl

واذا كنت تريد حقًا ان تتعلم البرمجة بهذه الطريقة فا يجب عليك صنع مكتبت رسم خاصة بك لرسم المجسمات ثلاثية الابعاد

غير هذه فانت تضيع وقتك

لدي تدخل بسيط عن قصة تضييع الوقت في تصميم العاب HTML5 حتى لو كانت تعمل على الدسكتوب فقط فسوق العمل فيها كبير جدا و اسعار تصميم لعبة HTML5 واحدي يصل 5000$ و اكثر .

صحيح جدا .. ادا درست سوق العمل ل العاب الويب تجد العاب HTML5\WebGL في اعلى قوائم الشركات الناشئة والكبيرة ... يبدو ان التقنيه في قمتها الان D: ..