mehdi_bjt
22-05-2007, 19:17
من در این تاپیک قصد دارم تا حدودی موتور جدیدی رو که دارم طراحی میکنم بهتون معرفی کنم ولی فکر
کنم تا حدودی مطالب براتون مفید واقع بشه . شاید از خودتون بپرسید که چرا میگیم 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 سال عقب
هستیم . این عدد 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: