20 سال عقب ماندگی در صنعت ساخت بازی
من در این تاپیک قصد دارم تا حدودی موتور جدیدی رو که دارم طراحی میکنم بهتون معرفی کنم ولی فکر
کنم تا حدودی مطالب براتون مفید واقع بشه . شاید از خودتون بپرسید که چرا میگیم 20 سال عقب
هستیم . این عدد 20 از کجا اومده . برای اینکه به این موضوع پی ببرید برمیگردیم به سال 1985 میلادی .
زمانی که یکی از معروفترین بازیهای کامپیوتری ساخته شد . نام این بازی Super Mario Bros. بود . این
بازی توسط Shigeru Miyamoto نوشته و بر روی کنسول Nintendo عرضه شد.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این بازی جزء بازیهای Horizontal Platform Scroller قرار میگره . در این سبک از بازی یک اسپرایت
(Sprite ) که همان شخصیت اصلی بازی است بر روی لایه های مختلف تصویری حرکت می کند و حلقه
اصلی بازی وظیفه کنترل لایه ها و اسپرایت ها و نحوه حرکت آنها و تصادم آنها را بر عهده دارد . در واقع
بعد از بازیهای Arcade (مثل Snake و مارپله و ... ) این نوع بازیها از لحاظ پیچیدگی های برنامه نویسی
ساده ترین نوع بازیها از لحاظ تولید می باشند . ولی کمی صبر کنید . وقتی گفته میشه بازیهای سبک
Platform Scroller تقریبا ساده است نباید به این فکر بیفتید که میشه به راحتی این نوع از بازیها رو تولید
کرد . شما برای ساخت یک بازی کامل که تقریبا بر روی هر سیستمی قابل اجرا باشه و از لحاظ
مهندسی نرم افزار هم استانداردهای بازی نویسی رو رعایت کرده باشه نیاز به 2 سال پشتوانه علمی در
زمینه های مختلف از قبیل ریاضیات ، برنامه نویسی ، نرم افزار و سخت افزار دارید.
به هر حال اگه تمام ابزار لازم برای ساخت بازی رو در اختیار داشته باشین اینجاست که میتونین
ایده های توی ذهنتون رو پیاده کنین . ژاپنی ها از حدود 20 سال قبل به علم و ابزار لازم برای ساخت بازی
دست پیدا کردند . در واقع از تقریبا 20 سال پیش به تکنولوژی ساخت بازی رسیدند و بطور صنعتی آن را به
طبع رساندند . حال تکلیف ما چیه...؟ حداقل 20 سال از لحاظ علمی در این زمینه عقب هستیم و هنوز که
هنوزه هیچ کار مفیدی هم انجام ندادیم .
من حدود 7 ساله که بطور جدی برنامه نویسی میکنم و بطور تخصصی مشغول به برنامه نویسی بازیهای
کامپیوتری هستم . تقریبا 2 ساله که ابزار و علم لازم رو برای طراحی بازیهای دو بعدی بدست آوردم و در
حال حاضر هم مشغول تحقیق و برنامه نویسی بازیهای دوبعدی هستم . بعد از یک سال تحقیق در زمینه
بازیهای سبک Platform Scroller تازه متوجه شدم که کسی مثل Miyamoto که بازی Super Mario
Bros. رو ساخته دارای چه نبوغ و هوش و علم بالایی بوده که با امکانات 20 سال پیش تونسته چنین
شاهکاری رو خلق کنه . من تقریبا یک سال دیگه می تونم یک بازی شبیه Super Mario Bros. تولید کنم
که کاملا فارسی باشه . ولی امکانات الان کجا و امکانات 20 سال پیش کجا . برای همین می تونیم بگیم
که ما تقریبا 20 سال در زمینه ساخت بازیهای کامپیوتری عقب هستیم .
هدف من از زدن این تاپیک این بوده که بگم به نظر من باید شروع به تولید علم در این زمینه کنیم .
استفاده از موتورهای آماده ، هک کردن بازیها ، فارسی کردن بازیها و خیلی از میانبرهای دیگه برای
تولید بازی راه حل رفع این مشکل عقب ماندگی ما نیست . باید بطور جدی مباحث تئوریک بازی رو بررسی کرده
و آن رو بصورت یک رشته تحصیلی به علاقه مندان آموزش دهیم . همانطور که ممکن است خیلی از شما
مطلع باشید تکنیک های ساخت بازی تقریبا غیرقابل دستیابی است مگر اینکه خودتون اونها رو تولید
کنین . مثلا شما در هیچ کتاب و یا منبع دیگری نمی توانید ترفندهای لازم برای حرکت سریع لایه ها در
بازیهای سبک Platform Scroller پیدا کنید . یکی از دلایل موفقیت مجموعه بازیهای Sonic که بر روی
کنسول SEGA Genesis ساخته شد همین حرکت سریع لایه ها بود . در واقع ما باید خود دوباره دست به
تولید علم بزنیم و از طریق مهندسی معکوس فن آوری های تولید شده توسط سازندگان بازیهای خارجی
را از نو و بصورت بومی تولید کنیم .
من در حال حاضر مشغول به طراحی یک موتور دوبعدی برای ساخت بازیهای
Horizontal Platform Scroller هستم که کاملا فارسی بوده و در نهایت می توان به کمک این موتور ده ها
بازی کاملا فارسی رو تولید کرد . این موتور رو توسط زبان C/C++ می نویسم و
با Microsoft Visual C++ 6 کامپایل می کنم .این موتور با کیفیت تصویری 640x480 و حالت 256 رنگ
تحت ویندوز کار میکنه . این موتور بصورت نرم افزاری مانند Game Maker محدود و آماده نیست . این موتور
بصورت مجموعه ای از کتابخانه ها و سورس کدها است که می توان با کمی تغییر با آن بازی جدیدی تولید
نمود . برای طراحی این موتور کارهای زیر باید صورت گیرد :
1 – طراحی ماژولی برای بارگذاری لایه ها توسط کاشی ها (Tiles )
2 – طراحی موتور فارسی سازی
3 – انجام محاسبات و طراحی الگوریتم برای هوش مصنوعی (AI ) و برخوردها (Collision Detection )
4 – محاسبات فیزیکی برای قانون جاذبه و پرتابه
5 – طراحی گرافیک (Tile ها و پس زمینه ها و اسپرایت ها و فونت ) و ماژول پالت
6 – موسیقی و صدا
7 – رفع اشکال و Debug نهایی و تولید بسته نرم افزاری
تقریبا موارد 1 و 2 به اتمام رسیده و موارد 3 و 4 در حال بررسی هستند . برای انجام موارد 5 و 6 احتمالا از بچه های فوروم کمک می گیرم .
منتظر اخبار تولید این موتور باشید .:46:
کمک: اطلاعات در مورد رشته بازیسازی کامپیوتر
سلام، من میخوام در مورد بهترین دانشگاه هایی که تو رشته بازی سازی کامپیوتر( خصوصا کارگردانی) کار میکنن اطلاعاتی داشته باشم، قبلا از جواب هاتون ممنونم.:20: ( اصا من نمیدونم دقیقا به انگلیسی چی میشه)