التخطي إلى المحتوى الرئيسي

Why is C++ so popular in game programming And why not other languages such as Python or C# or Java etc

The assumption here is that games are written in one and only one language, and that's very often not that case.  Many games today have multiple 'layers of systems communicating with one another, typically in different languages that are better suited to different tasks.
For example, we might have layers such as renderingphysicsAIgameplayhigh level scripting, and the backend (which itself could be composed of one or several languages).
When people say "C++ is the best language for games", they're almost always either one of two things:
  1. Speaking specifically about low-level engine code like the renderingand physics subsystems.
  2. Naive and parroting what someone else has told them.
Low level systems are usually written in C++ because there simply aren't a lot of alternatives, and of the few that exist C++ strikes a good balance between high performance and ease of use (when compared to, say, assembly language).  The languages mentioned in the question details -- Python, Java, and C# -- are all high level languages that attempt to abstract away concepts like graphics hardware and memory management.  But these ideas are critical in systems like physics simulation that need to be called constantly with a lot of complex calculations and calls to specialized hardware.
But in other layers, C++ is not so critical.  You may know that C# is the most commonly used language for gameplay programming in Unity.  You may also know that Unity's rendering and physics simulation is written in C++.  So Unity is a perfect example of a modern engine that uses a multi-layer approach to separate the performance critical code (C++) from the less resource constrained gameplay logic (C#).
Lodex Solutions  uses Java as its gameplay programming language, but all the rendering is handled by JOGL (a C++ library that Java can make calls to).  PyGame is written in Python.  I've never used it, but I'm guessing it uses C++ libraries for performance critical tasks as well (a common design pattern with Python).
So to answer your question directly: languages other than C++ are used in games all the time, but C++ is also the obvious choice for certain tasks in the game development pipeline.  The important takeaway here is that games can be written in many languages working together.


تعليقات

المشاركات الشائعة من هذه المدونة

تصميم الالعاب الالكترونية

100 مليار دولار هو حجم وناتج تجارة وصناعة سوق الألعاب الالكترونية دوليا، ليصبح هذا السوق في أهمية أسواق أي سلع استراتيجية أخرى .. مع انتشار الهواتف الذكية بصورة كبيرة و انتشار العاب و تطبيقات الهواتف الذكية اصبح هناك العديد من   الاشخاص يهتمون بتصميم العاب الاندرويد و الايفون  لذلك تقوم شركة لودكس بتصميم العاب اندرويد وايفون والالعاب الاونلاين والعاب الديسك توب بكل احترافية وبتصميمات رائعة وجودة عالية .    Game Developing           

أفضل برامج لصناعة الرسوم المتحركة

تعد صناعة أفلام الكارتون والأنيميشن من الصناعات الضخمة والمكلفة، إلا أن ظهور التكنولوجيا وكثير من التطبيقات تسهل من صناعتها كثيرا، مع توفير الكثير من الأموال التي يتم إنفاقها لعمل أفلام مميزة. وترصد فيتو 3 برامج لعمل أفلام أنيميشن 3D 1- برنامج Autodesk 3DS Max يتميز البرنامج بأنه سهل الاستخدام، وسريع، ويمكن من خلاله ابتكار شخصيات مختلفة ثلاثية الأبعاد، البرنامج غير مجانى إلا أنه يمكن تحميله للتجربة، أو الحصول عليه مجانا لمدة 3 سنوات في حالة كنت طالب، ويمكن تحميله من  هنا  2-برنامج Cinema 4D. ويتميز البرنامج بتوفير مجموعة واسعة من الإصدارات المختلفة، والتي تناسب كافة الاحتياجات وميزانية المستخدم، البرنامج سهل الاستخدام، ويوفر الكثير من الخيارات التي تمكن من عمل فيلم احترافى، ويمكن التحميل من  هنا  بعد اختيار الإصدار المناسب. 3- برنامج FlipaClip  وهو تطبيق خاص بالهواتف الذكية العاملة بنظام أندرويد، البرنامج سهل الاستخدام، التطبيق يقدم العديد من المزايا من طبقات الرسم، وجدول زمنى وأدوات مختلفة للرسم، ويمكن تحميله من  هنا  4- تطبيق Animation ...

Difference between virtual reality, augmented reality and mixed reality

Augmented reality and mixed reality are often used to refer to the same idea, however there are a few potential differences between the two depending on who you speak to. To some, it is semantics, while to companies like Microsoft, there is an important distinction between the two terms. The majority of mentions of augmented reality and mixed reality in the press right now refer to “mixed reality” as a synonym of “augmented reality”. Even experiences which could be under the umbrella of “mixed reality” are called “augmented reality” by the companies creating them. This is where things get confusing. “Mixed reality” is most commonly used by Microsoft to describe their HoloLens. The media often call it “augmented reality” to begin with, adding on in a rather forced sounding way — “or as Microsoft calls it, ‘mixed reality’”, followed by using the terms interchangeably throughout their articles. It is best explained by starting with the much easier definition of “virtual reality”: ...