NVIDIA-PhysX-11

عالم المؤثرات البصرية التي يتم اعتمادها مع الالعاب الحديثة على منصة PC وباقي المنصات تعتبر أمر مهم جدا في زيادة المتعة في تجربتك للألعاب. فلا يكفي أن نشاهد تصميم رسوميات عالية الجودة, طبعا هي لها دور مهم في تجربة اللعبه, ولكن المؤثرات البصرية التي تضاف على اللعبه سواء مؤثرات الضباب, المياه,حركة الأشجار,انسابية الملابس, والإنفجارات,الرياح...وغيرها تجعل من تجربة اللعبه تنتقل الى مرحلة اخرى من المتعة البصرية.

في حديثنا لهذا المقال الجديد الذي نقدمه لكم نبين لكم تقنية انفيديا الرائدة وهي PhysX التي أثبتت أنها تقنية لا تموت وتستمر بالتطور, حيث أول ما بدأت انفيديا بتطور محرك PhysX كانت الالعاب التي تطلق فقط لعبة أو لعبتين...أما اليوم هناك الكثير من الألعاب التي تطلق كل سنة, بالإضافة الى استخدام تلك المؤثرات حتى في الأفلام التي نشاهدها في هوليوود وغيرها من المجالات السينمائية, مما يؤكد أنها تقنية مؤثرات بصرية رائدة ولها شعبية بين مطوري الألعاب ومخرجي الأفلام.

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

كيف نشأ محرك المؤثرات البصرية PhysX؟

NVIDIA-PhysX-01

أتى هذا المحرك أولا من شركة تعرف بإسم Ageia والتي تأسست في عام 2002، والتي كانت عبارة عن شركة أشباه موصلات. ابتكرت Ageia بعد ذلك PhysX وهي رقاقة وحدة معالجة فيزيائية قادرة على القيام بحسابات فيزياء الألعاب بشكل أسرع بكثير من المعالجات المركزية ذات الأغراض العامة: رخصت أيضا ما يعرف بـ PhysX SDK, والمعروفة سابقا باسم NovodeX SDK وهي مكتبة وسيطة فيزيائية ضخمة من أجل إنتاج الألعاب.

شركة Ageia تعتبر الشركة الأولى التي تطور هاردوير مصمم لتفريغ حسابات فيزيائية لعبة الفيديو من المعالج المركزي إلى رقاقة منفصلة (وهي المناسبة كانت على شكل بطاقات رسومية وتعرف بـ PPU المصممة من قبل Ageia لتسريع الألعاب مهيأة لـ PhysX). في معلومات أكثر تفصيلا تم تصميم PhysX لدى NovodeX، وهي فرع لشركة ETH Zurich .

ماذا حدث بعد ذلك؟

في عام 2004 تم الاستحواذ على NovodeX من قبل Ageia والتي أستفادة لاحقا من تقديم حلولها الفيزيائية للألعاب، وفي شهر فبراير من عام 2008 تم الاستحواذ على Ageia من قبل انفيديا. وبالضبط  في 13 فبراير من عام 2008 تمت عملية الاندماج بشكل كام مع انفيديا. هذه التطورات من كلتا الشركتين سابقا ساعدت بشكل ما على وضع كما يقال حجر الأساس لتقديم تقنية PhysX, لكن مرة أخرى لا يمكن أن نبخص ما قامت به انفيديا لتطوير هذا المحرك, فلو لم تطوره وتدفع عليه أموال لما وصل لما هو عليه اليوم.

كيف كان يتم معالجة المشاهد الفيزيائية؟ وما هي أنواع البطاقات التي كانت متوفرة؟


مايعرف اليوم كـ PhysX نشأ كمحرك محاكاة فيزيائي يُسمى NovodeX. محرك متعدد التشعب تم تطويره بواسطة شركة سويسرية اسمها NovodeX AG. وفي تلك الفترة كما ذكرنا استحوذت Ageia على NovodeX AG وبدأت تطوير تقنية هاردوير الذي يمكن تسريع حسابات فيزيائية، مساعدة للمعالج المركزي. وسمت Ageia التقنية بـ PhysX PPU (وحدة معالجة فيزيائية)، بينما SDK أعيدت تسميته من NovodeX إلى PhysX. وبعد أن تم الاستحواذ على Ageia بواسطة انفيديا الشركة المصنعة للبطاقات الرسومية، بدأت انفيديا بمخططها الخاص وذلك بتمكين تسريع هاردوير PhysX على بطاقاتها الرسومية GeForce وفي النهاية تخلت عن دعم بطاقات Ageia PPU المنفصلة.

وحدة معالجة الفيزياء (PPU) هي وحدة مصممة خصيصا لتخفيف عبء عملية الحساب على المعالج المركزي، وبالذات تلك الحسابات التي تتضمن المحاكاة الفيزيائية لإظهار المؤثرات البصرية. بطاقات PPU مع دعمها للـ PhysX كانت متوفرة في الأسواق من الشركات المصنعة مثل ASUS, BFG Technologies و ELSA Technology. بدءا مع إصدار 2.8.3 من PhysX SDK، فإن الدعم لبطاقات PPU تم التخلي عنه، ولم يعد يتم تصنيع بطاقات PPU بعد ذلك.

وبعد استحواذ انفيديا على Ageia، تم تطوير PhysX بعيدا عن بطاقات PPU حيث تم التركيز بدلا من ذلك على قدرات الـ GPGPU للبطاقات الرسومية من انفيديا. وحدة معالجة رسومية أو GPU هي جهاز تصيير رسومات مخصص من أجل الحاسوب الشخصي، محطة العمل أو جهاز كونسول. البطاقات الرسومية الحديثة فعالة جدا في قدرتها علىعرض رسوميات الحاسوب، وبنيتها الموازية للغاية تجعلها أكثر كفاءة من المعالجات المركزية الموجه للأغراض العامة لمجموعة من الخوارزميات المعقدة، مثل تسريع محاكات فيزيائية باستخدام PhysX. يمكن للبطاقات الرسومية أن تنتج إما بشكل منفصل كبطاقة رسومية منفصلة، أو يمكن أن تدمج مباشرة باللوحة الأم. أكثر من 90% من حواسب الأجهزة المحمولة والمكتبية الجديدة تمتلك معالجات رسومية مدمجة.

بماذا استفاد مطوري الألعاب من محرك المؤثرات الفيزيائية PhysX؟

ألعاب الفيديو التي تدعم تسريع الهاردوير بواسطة PhysX كانت تعمل إما عن طريق بطاقات PhysX PPU (سابقا) او بطاقات GeForce بفضل تقنية CUDA (حاليا). محركات الفيزياء الوسيطة تحرر مطوري الألعاب من كتابة رمزهم الخاص الذي ينفذ أجهزة كلاسيكية (فيزياء نيوتن) للقيام بمؤثرات بصرية مختلفة في الألعاب, لكن ما يعيب بعضها هو ضعف الدعم لها وعدم تطويرها بشكل مستمر مما يجعلها غير مرغوبة للكثير من مطوري الألعاب, لذلك تجد ان هناك توجه عنه محرك PhysX وهو المحرك الفيزيائي المستخدم مع مجموعة كبرى من ألعاب اليوم.

محرك PhysX و SDK الخاص به متوفر لإستخدامه مع منصة الحاسوب ومنصة الكونسول. الـ PhysX SDK مزود للمطورين مجانا لكل من الاستخدام التجاري والغير التجاري على نظام Windows. ومن أجل منصات For Linux, OS X و Android فإن PhysX SDK مجانية من أجل الاستخدام الغير تجاري والتعليمي أ]ضا. لكن الخطوة الاكبر كانت في فعاليات مؤتمر GDC 2015 حيث جعلت انفيديا PhysX مجانية مع توفر source code على GitHub.

PhysX هو محاكاة فيزيائية متعددة التسلسل والمتوفر من أجل Microsoft Windows, Mac OS X, Linux, PlayStation 3, Xbox 360 و Wii. إنه يدعم ديناميكية وحدات تحكم الشخصية، ديناميكية المركبة، الجزيئات، محاكاة سائل ومحاكاة الإكساء بما فيها التمزق والإكساء المضغوط.

https://www.youtube.com/watch?v=n5qhaEghJ74 https://www.youtube.com/watch?v=VafzR7JqO2I https://www.youtube.com/watch?v=AT6CHan8UlQ https://www.youtube.com/watch?v=3eYYZFyjOhw https://www.youtube.com/watch?v=hhbhC_wfrEM https://www.youtube.com/watch?v=-x9B_4qBAkk https://www.youtube.com/watch?v=6vipmar3wS4

كما أن أي بطاقة رسوميات من فئة GeForce مهيأة لـ CUDA (من سلسلة 8 أو أحدث، مع حد أدنى من الذاكرة بحجم 256MB) يمكن أن تستفيد من PhysX دون الحاجة إلى تركيب بطاقة PhysX مخصصة. تقنية APEX هي إطار عمل ديناميكي متعدد المنصات مبني حول PhysX SDK. وتم تقديمه للمرة الأولى في لعبة مافيا 2 في أغسطس من عام 2010. يتألف انفيديا APEX من الطرازات التالية: APEX Destruction, APEX Clothing, APEX Particles, APEX Turbulence, APEX ForceField و formerly APEX Vegetation الذي تم إلغائه في 2011.

كيف أثر ذلك على عالم الألعاب؟


في شهر يوليو من عام 2010، نشرت Real World Technologies تحليلا لمعمارية تصميم PhysX. ووفقا لهذا التحليل، فإن معظم الرموز المستخدمة في تطبيقات PhysX في ذلك الوقت كانت مستندة على تعليمات x87 دون أي تحسين في جزئية متعدد التشعب. هذا قد يسبب انخفاضا كبير في الأداء أثناء تشغيل رمز PhysX على المعالج المركزي. كما أشار المقال أن إعادة كتابة رمز PhysX باستخدام تعليمات SSE قد يخفض بشكل كبير من تفاوت الأداء بين CPU PhysX و GPU PhysX.

ردا على تحليل Real World Technologies، قال مايك سكولونيز، مدير المنتجات لـ PhysX، أن دعم الـ SSE تم تركه وعدم التوجه له لأن معظم الألعاب مطورة من أجل أجهزة الكونسول أولا ومن ثم يتم ترحيلها إلى الحاسوب. نتيجة لذلك، الحواسب العصرية تشغل تلك الألعاب على نحو أسرع وأفضل من أجهزة الكونسول حتى مع تحسين قليل أو بدونه. شرح برايان ديل ريزو مدير PR في انفيديا أن تعدد التشعب متوفر مع PhysX 2.x للمعالج المركزي وأن الأمر كان عائدا للمطور ليستفيد منه. وصرح أيضا أن تعدد التشعب التلقائي و الـ SSE سيتم تقديمهما مع إصدار 3 لـ PhysX SDK. وبعد ذلك تم إطلاق PhysX SDK 3.0 في مايو 2011 ومثل ذلك إعادة كتابة هامة للـ SDK، مما يقدم تحسينات مثل المزيد من التشعب المتعدد الفعال وأساس موحد للرموز ليدعم جميع المنصات.

تُستخدم تقنية PhysX من قبل محركات اللعب مثل Unreal Engine (version 3), Unity, Gamebryo, Vision (version 6), Instinct Engine, Panda3D, Diesel,Torque, HeroEngine و BigWorld...وغيرها أيضا. تقنية PhysX متبناة بشكل واسع عبر أكثر من 150 لعبة وتُستخدم من قبل أكثر من 10 ألاف مطور...فبضلها كما ذكرت يمكن للجدران تحطيمها بالكامل، أن تلتوي الأشجار وتنكسر في العاصفة، ويمكن الماء والدخان أن يتدفق ويتفاعل بشكل واقعي، بدلا من اقتطاعه بواسطة أغراض مجاورة.  كما تم استخدام تقنية PhysX في العديد من الألعاب مثل:

  • The Witcher 3: Wild Hunt
  • Warhammer 40,000: Eternal Crusade
  • Strife
  • Lords of the Fallen
  • Borderlands: The Pre-Sequel
  • Landmark
  • Daylight
  • Warface
  • Call of Duty: Ghosts 
  • Assassin's Creed IV Black Flag
  • The Bureau: XCOM Declassified
  • Batman: Arkham Origins
  • Warframe
  • Hawken
  • Hawken
  • Depth Hunter
  • Planetside 2
  • The Secret World
  • Metro: Last Light
  • Borderlands 2
  • Batman: Arkham City
  • Alice: Madness Returns
  • Deep Black: Reloaded
  • Metro 2033
  • Mafia II
  • Star Trek DAC
  • Shattered Horizon
  • Darkest of Days
  • Dark Void
  • Sacred 2: Fallen Angel
  • Nurien
  • MKZ (Metal Knight Zero)
  • Crazy Machines 2
  • Cryostasis: Sleep of Reason
  • Unreal Tournament 3

تلك الألعاب معظمها تستخدم أيضا المعالج المركزي لمعالجة المحاكاة الفيزيائية لكن حجم تلك المؤثرات تعتبر بسيطة مقارنة بما تستطيع ان تقوم به البطاقة الرسومية نظرا لفارق القوة الكبير لصالح المعالج الرسومي. الألعاب التي تأتي مع دعم اختياري لتفعيل تقنية PhysX كمسرع الهاردوير غالبا ما تتضمن مؤثرات إضافية، مثل كساء قابل للتمزق، ديناميكية الدخان، أو محاكاة جسيمات الحطام...وغيرها.

https://www.youtube.com/watch?v=E0GnVSyYDjQ https://www.youtube.com/watch?v=9k1idbbr2pw https://www.youtube.com/watch?v=fdJ_-56svL0

انفيديا كانت قد تحدثت بشكل مطول عن تقنية PhysX وكيف لها دور في تغير تجربتك للألعاب "دون محاكاة فيزيائية دقيقة فإن حتى أكثر الألعاب جمالا تشعر بأنها ساكنة وعديمة الحياة. تكمن قوة PhysX في إنشاء مؤثرات فعالة ومشاهد مليئة بالدمار الحركي، السوائل المستندة على الجزيئات، والحركة الواقعية. وقد قال المقيمون أن ألعاب مثل Assassin’s Creed IV: Black Flag, Batman: Arkham Origins, Borderlands 2, و Metro: Last Light تعمل بشكل أفضل مع تمكين مؤثرات PhysX مسرعة على البطاقة الرسومية".

بالتالي كيف تعمل تقنية PhysX مع الألعاب؟ وكيف يمكن ان نحظى بتجربة تلك التقنية؟

PhysX SDK هو محرك فيزياء عادي مثل محركات: Havok, ODE أو Bullet، المستخدم بشكل شائع مع الألعاب على منصة الحاسوب وأجهزة كونسول، لكن ما يختلف هو أن PhysX يأتي مع ميزة خاصة, وهي تسريع الهاردوير. بعض الألعاب المستندة على PhysX SDK تستفيد من تلك الميزة باحتواء مؤثرات PhysX إضافية مثل: محاكاة الدخان والسوائل، الملابس على الشخصيات، وانفجارات أكثر واقعية مع الغبار والحطام. في معظم الحالات، يتم إضافة مؤثرات GPU PhysX عبر المستوى الرئيسي للتفاعلات الفيزيائية في اللعبة، والمحددة من قبل المطورين.

الأن كيف يمكن أن تستفيد من تلك التقنية؟ كل ما عليك أن تملكه هو بطاقة من سلسلة NVIDIA GeForce 8 وما هو أعلى من ذلك لتحصل على أداء أفضل مع مؤثرات PhysX ومع معدلات إطار مقبولة, كما أن حصولك على معالج مركزي جيد سوف يساعد على تقديم تجربة مؤثرات لا بأس بها ولكن الأساس هو الحصول على بطاقة انفيديا GeForce. تقنية NVIDIA PhysX تساعد الألعاب على تقديم أداء أفضل وذلك بجعل التفاعل مع البيئات والشخصيات أكثر واقعية من أي وقت مضى.

تضيف انفيديا أيضا في شرحها لهذه التقنية قائلة وانا أقتبس منها في ختام هذا المقال "في بداية عالم العاب 3D، كانت الشخصيات والعوالم مبنية بشكل رئيسي من مربعات. وبتقدم التقنية، فإن تلك المربعات أصبحت مضلعات مفصلة هندسيا على نحو أكبر، والشارات أصبحت تقوم بإضاءة وتظليل أكثر دقة. مع هذا، معظم الناس ماتزال تلاحظ فجوة غريبة بين بيئة اللعب والواقع مما يجنبهم الإثارة والتشوق الملائم للانغمار داخل عالم الألعاب".

"قبل PhysX كان على مصممي الألعاب أن "يحسبوا مسبقا" كيفية تصرف الغرض بالتفاعل مع حدث ما. على سبيل المثال، يرسمون تسلسل للإطارات الظاهرة حول كيفية سقوط لاعب كرة القدم على الأرض بعد الإعاقة. سلبيات هذا النهج كان أن اللاعب يرى نفس الحركة الغريبة. مع PhysX، تستطيع الألعاب أن تحسب بدقة التصرف الفيزيائي للأجساد في الوقت الفعلي! هذا يعني أن لاعب كرة القدم سينحني ويلتوي بكل الأساليب المختلفة وفقا للظروف المعينة, بالتالي تكوين تجربة بصرية فريدة في كل مرة".