شبیه‌سازی قوانین فیزیک در بازیهای کامپیوتری

احتمالا تا کنون با مطالب زیادی در مورد موتور بازی‌های کامپیوتری مواجه شده‌اید. بخشی از عملیات مهمی که در موتور بازی‌ها مورد پردازش قرار می‌گیرد، محاسبات فیزیک بازی است.فیزیک بازی، عبارت است از هر حرکت، توقف، انرژی و یا هر عملیات دیگری که می‌بایست با استفاده از قوانین فیزیک و با توجه به موجودیتهای بازی مورد محاسبه و اعمال قرار بگیرد. به عنوان مثال ممکن است که شما در یک بازی اول شخص (FPS) گلوله‌ای را به سمت هدفی شلیک کنید.
کل این عملیات (از شلیک گلوله تا زمان برخورد آن) احتمالا در کسری از ثانیه انجام میشود، اما در پشت صحنه این فرآیند، پردازش‌های بسیاری برای محاسبه فیزیک آن صورت می‌گیرد که به عنوان مثال به موارد زیر اشاره می‌کنم:
– سرعت اولیه تیرانداز
– سرعت اولیه گلوله
– حرکت شخص و اسلحه در اثر ضربه شلیک
– حرکت و سرعت گلوله در مسیر
– زاویه و سرعت برخورد با هدف
– انرژی وارد شده به هدف در اثر برخورد
– …

تا کنون موتورهای زیادی برای پردازش فیزیک بازی‌های سه بعدی و دو بعدی کامپیوتری تولید شده است که به عنوان مثال می‌توان به موتورهای Half Life، Unreal و Box2d اشاره نمود. (برخی از آنها هم Open source هستند)
همچنین تا کنون موتورهایی نیز برای بازیهای کامپیوتری فلش طراحی شده است که نمود آنها به وفور در اکثر بازیهای معروف فلش دیده می‌شود.

در این مطلب قصد دارم که به دو بازی کوچک، کم حجم و معروف اشاره کنم که در زمینه شبیه‌سازی فیزیک بازی، بسیار عالی هستند. در واقع محتوای این دو بازی، چیزی به جز فیزیک نیست.

اولین بازی، Line Rider است که در نرم‌افزار فلش ساخته شده است. در این بازی با ترسیم خطوط مختلف سطوحی را با ویژگیهای متفاوت شبیه‌سازی می‌کنید که دارا قابلیتهایی مثل افزایش سرعت، شتاب و … هستند. سپس یک آدمک سورتمه سوار، بر روی خطوط ترسیم شده شما به حرکت در آمده تا نتیجه خطوط خود را بر روی آن آزمایش کنید.

linerider

بازی دوم Numpty Physics است که یک بازی Open source بوده و برای سیستم عامل لینوکس توسعه داده شده است. البته نسخه‌ای از این بازی برای سیستم عامل ویندوز نیز طراحی شده است. کل عملیات این بازی در یک صفحه نقاشی اتفاق می‌افتد.
در این صفحه می‌توان هر شکلی را به صورت دلخواه طراحی نموده و سپس، حرکت یا سقوط آزاد آن را در صفحه تماشا نمود. هدف از اجرای این بازی در هر مرحله، رساندن توپ قرمز رنگ به یک ستاره زرد رنگ است، که برای انجام این کار با مشکلات و موانع طبیعی بسیار زیادی مواجه بوده و برای عبور از آنها باید تمام وسایل مورد نیاز خود را ترسیم نمایید.
به عنوان مثال برای پرتاب کردن توپ قرمز به آسمان، می‌توان یک الاکلنگ در زیر توپ قرمز ترسیم کرده و سپس، با رها کردن یک جسم سنگین بر روی سمت دیگر آن، توپ را به هوا پرتاب کرد. فیزیک موجود در این بازی آنقدر خوب شبیه‌سازی شده که با وجود سادگی آن، مدتها شما سرگرم خواهد کرد.
مراحل مختلفی برای این بازی طراحی شده است که برای دریافت آنها به این آدرس می‌توان مراجعه نمود.

NumptyPhysics

About محمد شمس

برنامه‌نویس، طراح انیمیشن و علاقمند به هوش مصنوعی

2 Comments

  1. سلام
    بازی numpty واقعا فوق العاده است. ممنون

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


× 9 = 18