Header Image 09

طريقة إنشاء درج (سلالم) مثل ألعاب Castlevania

من الأشياء التي اعتبرها من سخرية القدر كيف أن نظام الدرج (السلالم) في ألعاب الـ2D السحيقة صعبة عملها في محركات الألعاب الحديثة التي بين يدينا. أفضل مثال لذلك ألعاب Castlevania القديمة (وهي أفضلها غصبا عنك!). قوانين السلالم لديها كانت:

  • السلالم لا تفعّل إلا عند الضغط للأعلى أو الأسفل.
  • وحتى عند التفعيل يمكنك المرور من تحتها دون اعتراض.
  • إذا فعّلتها واقتربت منها فإنها “تلصقك” على محور الحركة لديها. سواء كنت تمشي أو تقفز أو تسقط.
  • عند الالتصاق, قوانين الحركة تختلف تماما. وقوانين الفيزياء تتوقف.
  • اللاعب الواقف على السلم لايتزحلق للأسفل.

باختصار شديد كابوس لتقليدها في محرك أساسه 3D. بعد تجارب كثيرة وصلت إلى حل معقول يشبه إلى حد كبير طريقة Castlevania للسلالم.

[​IMG]

وإليك منطق الخوارزميات:

  • السلم يتكون من جسمين خط صادم Edge Collider. والدنيا منها تكون مجسة trigger.
  • أنشئ برنامجين Script. واحدة للصادم والأخرى للمجسة.
  • الصادم حالته الطبيعة غير مفعلة. أي إنك تطفئ الـcollider.
  • برنامج المجسة يعمل شيئين: إذا اللاعب يلامس المجسة أطفئ الصادم. وإذا خرج اللاعب عن المجسة شغّل الصادم.
  • برنامج الصادم أعقد قليلا: إذا اللاعب ضغط فوق أو تحت شغّل الصادم.
  • إذا اللاعب يلامس الصادم شغّل الصادم (بغض النظر أكان ضاغطا فوق أو تحت أو لا).
  • إذا اللاعب يلامس الصادم ولا يوجد إدخال حركة من اللاعب فجعل شخصية اللاعب تنام فيزيائيا (Sleep). وهذه تمنع إنزلاق اللاعب بفعل الجاذبية.
  • إذا اللاعب يلامس الصادم ويوجد إدخال حركة من اللاعب فجعل شخصية اللاعب تستيقظ فيزيائيا (WakeUp).
  • إذا اللاعب خرج عن ملامسة الصادم أطفئها.

بالطريقة هذه ستكون لديك سلالم تعمل كأنها سلالم Castlevania 2D. لا زال هنالك متسع للتحسين. ولكن هذا آخر ما توصلت إليه. عساها تنفعكم.

Leave a Reply

Your email address will not be published. Required fields are marked *