هل يمكن لجافا صنع العاب 3d للويندوز وباي لغه تصنع الالعاب الضخمه علي الاندرويد؟
- MohammedAlashry
- 2015-11-13T23:18:10+00:00
من العنوان هل تستطيع جافا صنع لعبه 3d ضخمه وبها امكانيات عاليه وتعمل علي ويندوز وتكون سريعه جدا ؟
ثانيا: هل الالعاب التي توجد علي الاندرويد الضخمه مثل الموجوده علي الويندوز ولكن لها نسخه للاندرويد تم صنعها ايضا بلغه جافا ام بلغه اقوي مثل C او C++ ؟
ارجو الرد علي وافيدوني لاني اريد ان ادخل عالم البرمجه ولكن اريد لغه برمجه تشمل كل الاشياء يعني يكون باستطاعتي انا اقوم بتطوير مواقع الويب وصنع تطبيقات الويب والعاب وتطبيقات الاندرويد والعاب الويندوز 3D و 2d
وبها امكانيات ضخمه اي استطيع ان اقوم بها اي شئ اتخيله تكون مفتوحه فباي شئ تنصحوني بلغه Java ام لغه اخري ؟؟؟
يعتمد اختيار اللغة المستخدمة في برمجة الألعاب على عدة أمور:
1- إذا كنت تنوي احتراف برمجة الألعاب أم لا
2- متطلبات اللعبة من الأداء و التكنولوجيا
3- لغات البرمجة التي توفرها المنصة التي ستعمل عليها اللعبة
4- منصات التشغيل المطلوب تشغيل اللعبة عليها
في الحالات التالية استخدم أي لغة برمجة "اللغات الأخرى":
1- اذا كنت لا تسعى إلى الاحتراف
2- اذا كنت تبرمج العابا صغيرة لا تحتاج إلى أداء عال
3- اذا كانت منصة التشغيل تفرض عليك لغة محددة
4- اذا كنت تريد أن تصنع لعبة تعمل على العديد من منصات التشغيل التي لا يتوفر لديك محرك العاب يدعم C++/C على كل تلك المنصات.
في الحالات التالية استخدم C++/C:
1- اذا كنت تسعى إلى الاحتراف و المقدرة على المنافسة عالميا
2- اذا كنت تريد أن تبرمج العابا ضخمة تحتاج إلى اعتصار كل نقطة أداء يوفرها العتاد
3- إذا كنت تسعى إلى التحرر من أي قيود تضعها العديد من الشركات المنتجة لمحركات الالعاب على محركاتها.
4- اذا كنت تريد أن تكون قادرا على مجارات التكنولوجيا الحديثة في مجال صناعة الألعاب فور صدورها. عندما تختار C++/C فإنك ستكون دائما قادرا على اضافة ميزات جديدة تستفيد من آخر تكنولوجيا CPU و GPU و البرمجة المتوازية و أحدث الخوارزميات المستخدمة في برمجة الألعاب و غيرها دون الحاجة لانتظار الرحمة من غيرك ليضيف تلك الميزات إلى محرك الألعاب.
بهذا يكون لدينا منهج لاختيار لغة البرمجة التي تناسب الطريق الذي تريد أن تسلكه في عالم برمجة الألعاب. لكن يبقى التساؤل أي "اللغات الأخرى" أختار؟ إليك الإجابة:
الخيار بين "اللغات الأخرى":
1- اذا كانت لغة Python (بايثن أو بايثان (الألف الثانية مفخمة)) إحدى الخيارات فعليك بها فهي لغة راسخة و متعددة منصات التشغيل.
2- اذا كان محرك الألعاب يدعم أكثر من لغة حوار احدها خاص بالشركة مالكة المحرك، و الأخرى لغة عامة معروفة فعليك باللغة العامة لأن هذا يعني أنك ستتمكن من الاستفادة مما ستتعلمه في مجالات أخرى. مثلا اذا كان الخيار بين اللغة الخاصة Unity3D Script و اللغات العامة التي يدعمها هذا المحرك مثلا لغة جافا سكريبت او سي شارب فعليك بإحدى اللغات العامة. لكن من الضروري الانتباه إلى أنه اذا كان الدعم المقدم للغة الخاصة أفضل من الدعم المقدم للغة العامة فإنه يجب تفضيل اللغة الخاصة.
3- اذا كان الخيار بين لغتين عامتين فاختر اللغة التي تعمل على عدد أكبر من منصات التشغيل. مثلا اذا كان الخيار بين اللغتين العامتين: بايثان و سي شارب فإن الخيار بالتأكيد سيكون بايثان لأنها متوفرة على عدد اكبر من منصات التشغيل.
لغات البرمجة بين السهولة و الصعوبة:
كثيرا ما اقرأ او اسمع أن البرمجة باستخدام سي شارب و غيرها اسهل من C++/C و بالطبع يتم دائما تقديم مثال عن عمل شيئ معقد باستخدام سطرين في لغة سي شارب و عمله بمئة سطر في C++ إن مثل هذا الفعل خديعة و استخفاف بالعقول. الخديعة هي أن السطرين سابقي الذكر ما هما الا استدعاء لوظائف من مكتبات ملحقة باللغة و ليست جزءا من اللغة!!. لقد أرهق صانعوا سي شارب انفسهم بصناعة تلك المكتبات ليسهل عليهم تسويق اللغة على انها لغة سهلة الاستخدام. يتوفر للغة C++/C عشرات الآلاف من المكتبات لكن بالطبع لا يقول أحد أن تلك المكتبات هي جزء من اللغة و إنما هي ملحقات. لتكون المقارنة السابقة عادلة كان يجب استخدام إحدى مكتبات C++ و عندها سيتم انجاز المطلوب في سطرين كما هو الحال في C#. في بدايات انتشار لغة C# كان البعض يروّج إلى أنه انتهى عهد C++/Cلكن الكثير من المبرمجين تركوا لغة سي شارب بعد ان وجدوا أنهم اصبحوا مجرد تابعين غير قادرين على التقدم بأكثر من ما تسمح به مايكروسوفت. تذكر أن هناك الاف المكتبات الجاهزة التي تجعل استخدام لغة C++/C سهلا جدا في الكثير من المجالات. و تذكر أنك في بداية استخدامك للغات مثل C# يكون الأمر اسهل من C++/C ، لكنك ما أن تتعمق في استخدام اللغة حتى تجد أنك محصور في قفص في حالة سي شارب بينما تجد نفسك حرا طليقا في حالة C++/C. لقد أشار مبرمج أحد الإضافات المشهورة لمحرك الألعاب Unity3D إلى أنه كان من الصعب جدا اعادة كتابة الكثير من الوظائف الرياضية باستخدام لغة سي شارب نظرا لعدم توفرها بينما هي متوفرة من مصادر كثيرة جدا باستخدام لغة C++/C !!!
في أحد الأيام اتصل بي صديق ليطلب مني القيام بعمل لإحدى الشركات بالرغم من أن هناك قسما للبرمجة في تلك الشركة و لديهم كبير مبرمجين يتقاضى أجرا مرتفعا. المهم أنني قبلت بالمهمة لأنها كانت ليوم واحد و كان الأجر عن شهر بأكمله! اثناء تأديتي للمهمة دار نقاش بيني و بين مبرمجي تلك الشركة و لم اكن اعرف انهم كلهم مبرمجوا فيجوال بيسك فسألني أحدهم عن رأي بهذه اللغة فتفوهت بكلام عن أن لغة فيجوال بيسك هي للمبتدئين و أنها لغة للتسلية و بالطبع ثارت حفيظة كبير المبرمجين فاعتذرت لهم. لكن أحد الاشخاص المراقبين للموقف قال: لو كان كبيرهم يستطيع تأدية المطلوب باستخدام فيجوال بيسك لما استأجرتك الشركة للقيام بهذا العمل. لقد اصاب ذلك الشخص بقوله كبد الحقيقة و كفاني الحاجة للمضي في أي جدال اضافي. في الوقت الذي سيبقى فيه أولئك المبرمجون في قفص فيجوال بيسك يعجزون عن الحرية و عظيم الأمور في عالم البرمجة فإنني سأكون دائما مبرمج C و Assembly فاردا جناحيه يحلق إلى أي مكان يريد في عالم البرمجة.
لماذا تحاول الشركات المنتجة لمحركات الالعاب دفع المبرمجين إلى استخدام لغات برمجة خاصة؟؟؟
السبب هو أن هذه الشركات تسعى إلى إيجاد مجتمع من المبرمجين تابع لهم و غير قادر على التطور إلا باستخدام الأدوات التي يقدمونها لهم و بالتالي يصبحون غير قادرين على المنافسة و يصبح المبرمج معتمدا بالكامل على طريقة البرمجة المقدمة من قبل تلك الشركة و يصبح من الصعب جدا بالنسبة للمبرمج الانتقال إلى تعلم طريقة جديدة. إلى ماذا يرشدك أنك يجب أن تشتري ترخيصا من Unity3D و UDK لتتمكن من استخدام C/C++ معهما بينما يمكنك استخدام لغة الحوار الخاصة بهما مجانا دون ترخيص؟؟؟
لقد رأيت الكثير من المقارنات بين سرعة لغات البرمجة و قد سمعت للعديد من المبرمجين الذي يجزمون بأن اللغة الفلانية أسرع من غيرها. المأخذ الأعظم على كل تلك المقارنات أنها تقارن سرعة التنفيذ بين وظيفة مثلا بلغة C مع وظيفة بلغة C# و يتجاهلون تماما النقطة الأهم ذات الأثر الأعظم و هي "أسلوب البرمجة" الذي صمم ليُستخدم مع تلك اللغة. فمثلا اسلوب البرمجة بلغة C يختلف كثيرا عن اسلوب البرمجة بلغة C++ و هذا الاختلاف في الاسلوب هو السبب الأهم في كون لغة C++ أقل سرعة من C. لقد دار عدد كبير من الجدالات عن أن C++ تعمل بنفس سرعة C و هي جدالات لأن صانع C++ بنفسه يقول بأن C هي الأسرع.
ما أوردته ما هو الا القليل القليل عن هذا الموضوع و الأمر برمته مطروح هنا للنقاش البنّاء المفيد.
المصدر :
قرات هكذا من قبل ولكن قرات بعده ما يلالاني ولكن سؤال واضح اخي الله يجزيك خير وتفيدني :D
يوجد العاب مثل لعبه gta وغيرها اعلم انا جاتا صنعت علي محرك rage ولكن يوجد نسخه للعبه للاندرويد فهل صنعت النسخه بنفس اللغه ام بلغه اخري وماهي هذه اللغه التي استخدمت في الاساس في صنعها اقصد ان
هل الالعاب الضخمه ال3d و2d الموجوده علي الاندرويد تصنع بجافا ام ماذا؟
وهل تستطيع لغه C++ ان تصنع بنفس القوه ام ستكون اضعف في الاندرويد؟؟
وهل لغه C# افضل من C++ بكونها احدث منها ام C# اقوي ؟
انظر لهذه ستجد معظم اجاباتك ان شاء الله
هذا المجتمع هو المكان لسؤال أسئلة عن تطوير الألعاب للمبتدئين بشكل خاص. و هو المكان الذي يسأل فيه أعضاء مجتمع تاكو لمطوري الألعاب عن أسئلة مثل "ما هو أفضل محرك ألعاب"
التعليقات