یه کم وارد بحث گسترش بازیها یا game development بشیم

سلام
خوب, یه هو زد به سرم یه کم بپردازم به کاوش در نوشتن و گسترش بازیها
اینکه یه بازی خوب, چه جوری نوشته میشه و از چه چیزایی پیروی میکنه
پس استارتو میزنیم و ادامه میدیم.

input
مسلما, تو یه بازی باید از keyboard و یا mouse, یا joystic استفاده بشه, که این کارو input manager میکنه و کنترل این بخش از بازی رو به عهده داره

graphic
شاید, یکی از چیزایی که تو video game, یا بازیهای تصویری باشه, graphic و ویدیوی بازیه
اما این تو audio game صدق نمیکنه و وجود نداره
یا با یه صفحه سیاه کار داریم, یا یه صفحه آبی, یا با یه گرافیک گنگ

audio
شاید یکی از حیجان انگیز ترین چیزهایی که یه بازی هم موقع انجام دادن, هم موقع نوشتن داشته باشه, صداست
چیزی که اگه نباشه audio game نیست
و video game هم دیگه به درد مفت نمیخوره

AI یا artificial intelegence
سخت ترین بخش, و محبوب کننده ترین چیز تو بازی نویسی, همون هوش مصنوعیه
بستگی به بازی, سبک بازی, و هر چیز دیگه, کد نویسی این بخش برمیگرده به خود برنامه نویس بازی

physics
فرض کنید تو بازی هستید, و شما شخصیت اصلی اون بازی هستید
و مثلا پشت ماشین نشستید
هالا, با سرعت ۲۰۰ تا, میرید میزنید به یه ماشین دیگه
طبیعتا باید ماشین مبارک کله پا و داقون بشه
خوب هالا همون اتفاق رو با سرعت ۵۰ تا در نظر بگیرید
چه اتفاقی این وسط میفته؟
آیا به همون نسبت باید ماشین داقون بشه؟ یا نه!, اصلا هیچیش نشه!
طبیعتا باید چیزیش بشه, ولی نه به اون اندازه ی سرعت ۲۰۰ تا
این کنترلهارو physics انجام میده
یعنی قوانینی رو میتونید برا بازی وضع کنید که طبیعت بازی رو نشون بده
اینکه تیر شلیک میشه و مثلا به شخصیت بازی میخوره و جون شما کم میشه, اگر خیلی حرفه ای بخوایم بهش نگاه کنیم physics اون رو کنترل میکنه

network
اگه دارین بازی ای رو مینویسین که به صورت آنلاین, و یا حتی تحت یه شبکه ی کوچیکم کار کنه, باید به شبکه بپردازید
چون اتصال کامپیوترا از راه شبکه امکانپذیره

resource management
فکر کنید یه بازی دارید مینویسید, که نمیخواید که کسی به فایلای بازی مثل صداها, تصاویر و غیره دسترسی داشته باشه
در این صورت باید به resource management نگاهی بندازیم و یه دونه طراحی کنیم
resource manager کدنویسیش دست خود برنامه نویسه و خود برنامه نویس با استفاده از نیازش باید اون رو کد نویسی کنه
memory management
تمام بازی به این یکی وابستست, و بازی باید بتونه حافظه ای که در اختیارش قرار میگیره رو کنترل کنه
چون اگه نتونه کنترل کنه, مثلا یه صدا لود میشه, و وقتی هم که از بازی خارج میشیم, اون صدا همینجوری رو حافظه سیستم میمونه تا وقتی که سیستم ری استارت بشه

timer
شاید احتیاج داشته باشید که مثلا یه مرحله بازی تو یه زمان معینی تموم بشه
اگر در طی اون زمان بالفرض مرحله رد شد, بره مرحله بعد, وگرنه مرحله از اول شروع بشه
اینجاست که timer به کمک میادش و این مشکل رو برای ما حل میکنه

thread
شاید بخواید که CPU رو در حین بازی بین قسمتای مختلف به اشتراک بزارید تا بازی بهتر کارشو انجام بده
اینجاست که thread به کمک میاد و cpu رو تقسیم میکنه و تو اجرای بازی خیلی کمک میکنه

logger
بعضی از بازیهارو که انجام میدیم, یه فایل برای ما درست میکنن و اطلاعات بازی مثلا خونمون رو در طول بازی بهمون میگن
اینجا از logger استفاده شده و مخلفات بازی رو برا ما تو یه فایل گزاشته

خوب, به پایان اومد این پست, ولی کامنتدونی همچنان باقیست
با اجازه ی همگی

درباره امیر رضا رمضانی

من یه برنامه نویس کم بینام بیشتر تو بحث سیستم عامل و هوش مصنوعی و بازی و شبکه برنامه نویسی میکنم. همینطور تو موسیقی با کامپیوتر فعالیت میکنم. پیانو رو هم بلدم به لطف خدا به فیلمهای پلیسی و جنایی و بکش بکش علاقه زیادی دارم مخصوصا زمانی که خون ریخته بشه و کشتار شدید بشه. بیشتر سعی میکنم به بقیه خدمت کنم مخصوصا نابیناها از دست کسی ناراحت نمیشم ولی خیلی سریع از کوره در میرم C++ رو تو 12 سالگی و اسمبلی رو تو 16 سالگی یاد گرفتم رو سیستم عامل AmirOS که جنبه یه آموزشی برایه خودم داشت و گیم انجین advanced audio game engineکار کردم audio game kit نسخه اولش به صورت یه کتاب خونه C++ تحت لیسانس bsl-1.0 منتشر شده. و اگه زنده بودم و حوصله داشتم advanced audio game engine رو هم کامل میکنم و منتشرش میکنم از تحصیلاتم بگم که دورانه ابتدایی و راهنمایی و اول دبیرستان رو تو مدرسه یه خزائلی گزروندم و دوم دبیرستان تا پیشدانشگاهی رو هم رفتم تو عادی که اگه به تجربه یه من میخواید بدونید عادی خیلی بهتر از استثنایی برا من بود تو دبیرستان دیپلوممو علوم انسانی گرفتم و الآنم دارم تو دانشگاهه آزاده تهران جنوب مترجمی زبانو ادامه میدم در مورده علاقم به زبان تنها نکته ای که میتونم بگم اینه که خیلی زیاد از زبان خوشم میاد و همینجوری دوست دارم ادامه بدمش راستی: مدیر سایتم و میتونید با شماره 09194098098 و آیدی اسکایپ amir.ramezani1370 و ایمیله amir.ramezani1370@gmail.com با من در تماس باشید و نظرات, پیشنهادات, انتقادات و هر چی دل تنگتون میخوادش, در مورد هر چیز بگین.
این نوشته در آموزش, تلفن همراه, دسته‌بندی نشده, رایانه, معرفی, نرم افزار ارسال شده است. افزودن پیوند یکتا به علاقه‌مندی‌ها.

10 دیدگاه دربارهٔ «یه کم وارد بحث گسترش بازیها یا game development بشیم»

  1. سعید پناهی می‌گوید:

    سلام.
    برام جالب بود.
    فکر کنم این آقای گنجه زادگان این اصول را رعایت نکردن که کیفیت بازیشون اینقد افتضا بودش.
    خخخخ.
    مرسی دمت گرم.

  2. سعید پناهی می‌گوید:

    دقیقن.
    مرسی.
    راستی امیر میگم تو بازی چیزی نداری.
    و آیا برای ترجمه هم باید همه ی این کارارو انجام داد یا نه.

دیدگاهتان را بنویسید

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