hits counter

E3 [primal engine] محرك من تطويري تم بناءه من الصفر

Eye

السوسة
السلام عليكم معشر القيمرز الحقيقين


1*GEwjcSYP7_cPnPPrHXf8tA.png


<تاريخ اثرائي>
كثير منا يستخدم كلمة محرك , وذا شي مب مستغرب بحكم ان المحركات هي العامود الرئيسي في بناء اي لعبة حديثة. في السابق ايام ما كانت الالعاب تطور ب Assembly languages كان كل اوبجكت في اللعبة يتم تصميمه وبرمجته على حدا , بعبارة ثانية كان كل بكسل في اللعبة يرمز لمتغيرات الوان - طبعا كانت 1بت يعني ابيض واسود- وافعال يتم معالجتها في كل فريم مقارنة مع كل بكسل في اللعبة. طبعا العملية ذي مقيتة ومعقدة بحيث انك لازم تتعامل مع كل بكسل. وشي غير مستغرب على ضوء هذه المعلومة انك ترجع وتشوف اول العاب تم صنعها , كانت حرفيا عبارة عن بكسلات. بونق بريك اوت سبيس انفيدرز تسمية للبعض , كانت عبارة عن بكسلات متحركة , بل الادهى والامر انها كانت مرتبطة بدارات كهربائية ترمز لكل جزئية من اللعبة. يعني عندك بوابات منطق تتعامل مع كل بكسل. هل البكسل هذا فيه اوبجكت؟ اذا لون البكسل ابيض , هل لا؟ اذا لون البكسل اسود. on/off حقيقة.

الشي هذا كان بسبب وسبب لمحدودية الالعاب في فترة الاركيد اللي تألقت فيها اتاري وسيقا وغيرهم اللي كانو يصممون لعبة بناء بطريقة دارات كهربائية. ولكن مع تطور التقنية واستحداث الmicro processor صار المبرمجين يتعاملون مع هياكل كاملة بياناتيا. هذا نقل عملية التطوير من برمجة دارات كهربائية الى برمجة هياكل بيانات. الان بدل ما تتعامل مع بكسل ببسكل , تتعامل مع مجموعة بكسلات مرة وحدة , الان تقدر تقول ان مجموعة البكسلات ذي عبارة عن شخصية , سيف , رصاصة , عدو , اللي تبي. وتبرمج على هذا النهج متغيرات كثيرة وتعاملها على انها كتلة واحدة. تطور صح؟ صح ولكن! كان من اللازم انك تبرمج كل "كتلة" وبنسميها اوبجكت object , وتحدد وظائفها وتعاملاتها بلغة برمجة بدائية جدا اسمها Assembly language. اللغة هذي ميزتها انك بدل ما تعالج الشي بدارة كهربائية صرت تعالجها برموز ترمز لاوامر تفهمها الالة. شكرا للمعالج الصغنطوني. لكن وهناك دوما لكن , تطوير الالعاب كان عملية معقدة مليانة بالحسابات المنطقية الرياضية. على سبيل المثال عشان تزيد السكور في لعبة ما ناهيك عن برمجة التكست كنت تحتاج 4 اوامر برمجية عشان تسوي عملية جمع 1+1. عملية مرهقة لكنها اعطتنا مستوى اكبر من التجريد.

ولذلك طلعت لنا العاب اكثر تعقيدا مثل العاب الجيل الثاني والثالث فيها رسوم بدل البكسلات وفيها اوبجكتات كاملة , نقلة نوعية في التقنية لكن كانت ولا زالت طريقة متعبة في صناعة لعبة بحجم كبير , كبير بمعنى اكبر من مجرد نافذة اركيدية. في تلك الفترة الزمنية و في تاريخ التقنية تم تطوير لغات برمجة عليا high level languages , اللغات العليا هذي اعطتنا مستوى اعلى من التجريد وصرنا نقدر نتعامل مع البيانات والاوبجكتات بطريقة اسهل وابسط. عملية الجمع الان تقدر تنفذها بامر واحد! الان عندك اريحية اكبر في التعامل مع الاوبجكتات وتقدر تخصصها بشكل سلس واكثر مرونة , وصرت تقدر تزيد درجة التعقيد , وبطبيعة الحال نتجت لنا العاب اكثر تعقيد واكبر و "واقعية".

الان مع هذا التطور صرت تقدر تطور نظام يتعامل مع عدة جزئيات من اللعبة كل على حدا. تقدر تطور نظام يتعامل مع البكسلات. نظام يتعامل مع الحسابات. نظام يتعامل مع المدخلات الخ. وتقدر بطريقة هندسية ما تربط الامور ذي ببعض. نقول انك ضغطت الديباد على فوق , نظام المدخلات ياخذ المعلومة ذي ان والله الزبون ضغط فوق , بناء عليه نظام الموقع يحط متغير موقع الشخصية زيادة على فوق , وبذلك نظام البكسلات يعرض لك الشخصية في موقع اعلى من الشاشة ويكأن الشخصية انتقلت من نقطة أ الى نقطة ب. هذا في صميمه هو محرك اللعبة :)



1280px-Unreal_Engine_Logo.svg.png


<تعريف>
قبل لا اقوم بتعريف المحرك , خلوني اوضح ان المحرك هو مصطلح يطلق على اكثر من شي اعتمادا على السياق وعلى موضع الشخص من الاعراب.

اذا ماهو المحرك؟
المحرك عند المبرمجين هو الهيكل البرمجي اللي يربط بين الانظمة اللي تشغل اللعبة. ويعنى بادارة وتنظيم وتشغيل الانظمة بتراتبية لينتج من ذلك تتابع عملياتي "يحرك" اللعبة بتفاعلية.

طبعا فيه نمط جالس يصير نقدر نلاحظه , الا وهو الامور تتطور وتزداد في مستوى التجريدية لتسهيل عملية التطوير واتاحة فرصة اكبر لتطوير العاب اعقد واكبر. وبالتالي كان فيه نقلة نوعية في صناعة الالعاب. الناس جلسو وفكرو , ما فكرو واجد الصدق الفكرة تطرا على اي احد بسهولة , وقالو الحين طورنا لعبة وجلسنا عليها 3 سنين , ليش نعيد تطوير المحرك ونسوي نفس الشغل مرة ثانية , نظام بكسلات نظام حسابات نظام مدخلات الخ .. خلونا نسوي نموذج , برنامج! نقدر من خلاله نطور اللعبة , لا , العاب! وبدون ما نعيد صناعة الانظمة ذي كل مرة.

وفعلا كثير من الشركات بدأت تطور محركات شاملة , من خلالها يقدرون يطورون العدد اللي يبونه من الالعاب بدون ما يعيدون تطوير الانظمة كل مرة , وبذلك صار عندنا المحركات الخاصة بكل ستوديو , لومينوس فوكس سورس انريل الخ. كثير من الشركات يطورون in house engine , خاص فيهم ويقدرون يخصصونه على احتاياجاتهم ويطورونه متى ما يبون يعدلون عليه على كيفهم الى اخره. وش صار بعد كذا , جاو ناس وقالو تعال ياذا اللحية الغانمة , ادري ادري الاجانب يملطون بس ذي عبارة مشهورة عندهم & , ليش ما نسوي محرك ونبيعه على الخلق! بدال ما نسوي محرك حق لعبة ونسوي فيه لعبة ونبيعها وتسويق ونجاح وفشل , خلنا حنا نتخصص فقط في تصميم المحرك , وخل ذا الوراعين المتحمسين اللي يبون يطورون العاب يسوون فيه اللي يبونه , وبذلك طلعت عندنا العاب +18 مخيسة&

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

فاللي حصل في الصناعة هو توجه جديد , paradigm shift على قولة فف13 , خل الناس تتخصص فقط في تطوير اللعبة , وخل الشركة تتخصص في تصميم المحرك. وبالتالي :

المحرك عند مطورين الالعاب هو : برنامج يقوم من خلاله الشخص بتطوير لعبة , ويتعامل مع جميع الامور اللي يوفرها الشخص من استس انميشن صوتيات ريندر الخ , من غير ما يوجع الشخص راسه بمعرفة الخبايا الداخلية والهيكلة الفعلية لكيف المحرك "يحرك" اللعبة بتفاعية.

من هذا الكلام نستنج ان نومورا وكوجيما زلايب &

امزح , لكن فيه نقطتين لازم الواحد يفهمهم.
1- المحرك لا يعني ان اللعبة تتحرك بشكل رهيب بس لان والله المحرك قوي. غلط! المحرك يعطيك قابلية ادارة لعبتك , انت كيف تستخدمها عاد هذا عليك. لذلك نلقى العاب مطورة بنفس المحرك وحدة تلقلق والثانية عسل.
2- المطور لا يعني انه رهيب اذا طور لعبة اداءها عالي , قد يكون المحرك قوي من اساسه وهو اللي شال الشغل الثقيل عن المطور.

فهي two factor authentication المحرك لازم يكون كفؤ انه يشغل اللعبة بسلاسة واربعة وخمسة هه مضحك. ولازم يكون المطور عنده طرق رهيبة في التعامل مع المحرك. والمحصلة النهائية هي اللعبة اللي تعتبر بينش مارك. محرك قوي ومطور قوي


5d16f9bda291f4790d1b55a5ca450333.gif


<Primal Engine>
كان احد اهدافي ل2024 اني اطور محرك العاب من الصفر. حطيت الهدف ذا في ديسمبر 2023. قلت انا ابي من بداية يناير اشتغل على محرك العاب. كذا طناخة. سايد كويست. بدأت العمل وانا ما عندي اي خلفية غير الكلام اللي كتبته لكم اعلاه. بدون دراسة بدون توجيه بدون معلم. فكان لازم علي اني اخترع من مخي محرك. احلل العناصر وافكر كيف اربطها ببعض. ضعت كثير وخبصت كثير. كان هدفي الصراحة اني اسوي بكسل واحد يتحرك على الشاشة وكنت باكتفي واشعر بالرضا. مع اني اطور العاب من عمري 15 سنة, لكن انك تطور شي من الصفر وانت تحط اساساته وتتحكم في كيف يتحرك , شغلة غريبة؟

وبحمد الله وفضل منه ومنة قدرت اسوي محرك! كان هدفي اني اسوي شي مفقع الصراحة , لكن كل ما سويت جزئية جاتني دودة كيف ممكن احسن اللي سويته , كيف ممكن اسوي شي اقوى. وشوي بشوي بنيت محرك.

<مميزات المحرك>
1- محرك مدخلات
2- محرك تصادمات
3- محرك رسوميات

طبعا تواصلت مع كين سوقيموري من نينتندو عشان يسوي لي السبرايتس حقت زيلدا 1 العشق الابدي قاتلة فف فرسس , وماشاءالله عليه ما قصر فزع الرجال. عكس الرخمة نومورا & طبعا سويت واجهة بس , ما سويت لعبة , لحد يشغلني يقول لي وش ذا , ذا اطار عمل اقدر بعدين اسوي فيه لعبة اذا ابي. هل بسوي؟ ممكن اسوي دنجن مصغر

<تفاصيل المحرك>
-لغة c
- مكتبة SDL اللي مطور فيها سورس انجن من فالف
- كروس بلاتفورم ويندوز ماك لينكس
- معمارية x64

<اختبارات اداء>
- ميموري 17 ميقا بايت
- 60~مفتوح فبس بس انا قافلها على 60 هع

-------------------------------------------------------------

<طلب صغير>
اتمنى لو تحملون المحرك حقي وتجربونه وتوروني الاداء

المحرك موجود على صفحتي في github

1-تحتاج تحمل visual Studio

2- حمل ملف excutable.rar من صفحتي

3- حمل السبرايتس وحطها في C:/ خارج اي ملف

طبعا الاسهم للتحرك و s عشان تضرب بالسيف


طبعا نستقبل التبرعات جزاكم الله خير &

ورع عندك فلوس تتبرع تبرع لاخونا يحيى!
free palistaine
 

Arashi

Dragon of Heaven
طبعا اغلب الكلام صعب افهمه لأن مجالي في الالعاب رسم (شخصيات وبيئات ..الخ) مب صوب البرامج لكن أعرف مطورين في قطر ممكن أرسل لهم رابط موضوعك يجوفونه وان شاء الله يجربون المحرك ايضا ^^

وما شاء الله عليك حققت هدف مب بسيط، فخورين فيك عيون-ساما 🥳
 
  • Love
Reactions: Eye

Bardock

Gamer
الله يوفقك و ان شاء الله نشوفك في الاعالى.

اما بخصوص سوجيموري فهذا لا تقارنه مع طبل مثل نومورا سوجيموري صمم شخصيات منتج معروف في الشرق و الغرب و لا تنسي انه في فترة من الفترات بوكيمون ريد و بلو كانوا اكثر العاب RPG مبيعا في التاريخ و بفارق.
 
التعديل الأخير:
  • Like
Reactions: Eye

Eye

السوسة
عظيم :hearteyes: ربي يوفقك

الله يعظم قدرك يبو خليل ويبلغك ما تتمنى

تعني الكثير

طبعا اغلب الكلام صعب افهمه لأن مجالي في الالعاب رسم (شخصيات وبيئات ..الخ) مب صوب البرامج لكن أعرف مطورين في قطر ممكن أرسل لهم رابط موضوعك يجوفونه وان شاء الله يجربون المحرك ايضا ^^

وما شاء الله عليك حققت هدف مب بسيط، فخورين فيك عيون-ساما 🥳

اراتشان! كل هالشرح والتبسيط عشان تقولين لي صعب افهمه :rage:

اذا عندج استفسار عن جزئية انا حاضر

طال عمرج الفخر لي هو مرورج لا عدمتي

الله يوفقك و ان شاء الله نشوفك في الاعالى.

اما بخصوص سوجيموري فهذا لا تقارنه مع طبل مثل نومورا سوجيموري صمم شخصيات منتج معروف في الشرق و الغرب و لا تنسي انه في فترة من الفترات بوكيمون ريد و بلو كانوا اكثر العاب RPG مبيعا في التاريخ و بفارق.

الله يجزاك خير اخوي الغالي ويوفقك ويرضيك

اي بالله انك صادق ، توقيع سوقيموري كم يسوى على اي بطاقة بوكيمون ، الاف مؤلفة ، و السحتة نومورا توقيعه على كل المنتجات اللي اشتغل عليها ما يسوى قيمة كرت عشوائي من بيس سيت &

9db83c3eeee27727df86191a6e243b34dbda7f9bef8c4c35c2aee6246c244509.png



جاي أدور بلودبورن الاقي زيلدا.
0/10


ههههههههههههههه انت اسطورة! صفر منك تساوي ١٠ من اي جي ان عندي

معليك المشروع القادم بحط لك قنشن

بس بالله بشر كيف الاداء؟ كم الميموري وكم الفبس وكم السي بي يو؟
 

Valtr

Master of The League
بس بالله بشر كيف الاداء؟ كم الميموري وكم الفبس وكم السي بي يو؟
والله يا عين المشكلة أنك سألت واحد خبرته 10% بالحاسب...
يمكن هذا الي تبغاه؟
2cb92b41bffe84e8d4db317b5cf5e7e28eb0b9f1372ae057f83b354b0dcc4a13.png


مواصفات البطاطس:
8cd9f8d6c6d634f1f314aba7927af7c526766b15d9401e77623dfab0a3d39b13.png
 
  • Love
Reactions: Eye

Eye

السوسة
والله يا عين المشكلة أنك سألت واحد خبرته 10% بالحاسب...
يمكن هذا الي تبغاه؟
2cb92b41bffe84e8d4db317b5cf5e7e28eb0b9f1372ae057f83b354b0dcc4a13.png


مواصفات البطاطس:
8cd9f8d6c6d634f1f314aba7927af7c526766b15d9401e77623dfab0a3d39b13.png

لا خلا ولا عدمممممممممم الله لا يحرم البشرية والتقنية من امثالك

من اليوم ورايح انت اسمك الاسطورة

@abdullah-kh غير اللي تحت اسمه الى الاسطورة ، اقل من ذلك بيكون قللنا من احترام هالكائن العظيم

الاداء تمام مثل ما هو مخطط له

اشكرك جزيل الشكر ما تعرف قد ايش الموضوع يعني لي

شكرا الى الابد
 

Arashi

Dragon of Heaven
اراتشان! كل هالشرح والتبسيط عشان تقولين لي صعب افهمه :rage:

اذا عندج استفسار عن جزئية انا حاضر

طال عمرج الفخر لي هو مرورج لا عدمتي
افا عليك عيون-ساما، برجع اقرا من اول واي شي ما فهماه بسألك ^^
لازم الواحد يتعلم عالاقل الاساسيات من كل شي 😁
وتسلم ^^

لازلت أوزع رابط الموضوع عالمطورين وان شاء الله يكون في تجاوب 3:
 
  • Love
Reactions: Eye
أعلى