مي خواستم بدونم بازي ساختن با C++ چه جوريه خيلي سخته؟
يه توضيح كوچولو بدين لطفا!!
![]()
مي خواستم بدونم بازي ساختن با C++ چه جوريه خيلي سخته؟
يه توضيح كوچولو بدين لطفا!!
![]()
سلام
برای ساختن بازی باید یه انجین بنویسی که تقریبا میشه گفت وظیفش رندر کردن کاراکترها و کنترل سرعت رندر شدن وخیلی چیزهای دیگس اما نکته مهمتر اینکه شما برای ساخت یه بازی 3d خوب نمیتونی مستقیما با سخت افزار ارتباط برقرار کنی چون اصلا به نتیجه مطلوب نمیرسی چون سخت افزار و مخصوصا کارت گرافیک خیلی به درخواست شما محل نمیزاره. آخه سرش شلوغه بابا باید یه پارتی داشته باشی. این پارتی که ما بهش میگیم جهاز گردان میتونه Direct3dx یا OpenGL باشه. حتما اسماشونو شنیدی.
بزار توضیح بدم :
برای برنامه نویسی بازی با هر زبانی برای این که کارت ساده تر شه و نتیجه ی مطلوب تری داشته باشی می بایست از کتابخانه های OpenGL و Directx استفاده کنی که دومی برای ویندوز هستش ولی اولی روی اکثر پلتفورم ها کار می کنه. برای یادگیری به منابع جامع تری مراجعه کنید. من برای مثال یک کد OpenGL رو که در سی پلاس پلاس ساخته شده رو بری قرار می دم :
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ممنون از كمكتون دوستان
اين يعني اين كه بايد داخل C++ از OpenGl يا Directx استفاده كنم!![]()
بله دقیقا اما مسله مهم تر .....
شاید شما بخوای با اصول برنامه نویسیش آشنا بشی ولی مهمترین اصل یک بازی داستانش هست و طراحی گرافیکش البته سرعت و هوش مصنوعی را نباید فراموش کرد .....
اصول ریاضی هم خیلی مهمه !
در کل باید بگم در دانشگاه های خارج کشور رشته ای به عنوان بازی های کامپیوتری درست کردن !
پس میشه نتیجه گرفت فرایند تولید بازی خیلی پیچیده است و از دست یک نفر بر نمیاد !!!
این سوال شما مثل اینه که من بپرسم چطوری مهندس نرم افزار بشم !!!
خوب برای اطلاعات بیشتر :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
و .....
Last edited by mic_makarti; 25-08-2008 at 13:54.
با تشكر فراوان![]()
مسئله ی اصلی همینه که تو شرکت بزرگی مثل ubi soft و capcom یک تیم چندین نفره دور هم جمع میشن تا یک بازی با کیفیت بالا رو به بازار ارائه کنن و پولی خوبی هم از این راه به جیب می زنن
سلام!
فرموده همه دوستان تایید میشه -- اما...
حرفاتون کمی نا امید کننده بود برای ایشون!!
تا حالا از خودتون پرسیدین که چرا اغلب بازیسازان سراغ ابزارهای بازی سازی ضعیف میرن -- مثل Game Maker و 3d game studio و FPS Creator و DarkBasic و ...
البته ضعیف از این لحاظ که ساختار کلی بازی توی دست برنامه هست نه توی دست شما (اگه توضیح بدم طوماری میشه)
خوب جواب اینه که -> بخاطر حرفا و جوابهای نا امید کننده ای که بازی سازها بعد از این سوالات میشنون!!...
چرا !! واقعا چرا!! -- چرا خارجی ها میرن با ++C بازی های سه بعدی و دو بعدی شون رو میسازن ولی ایرانی ها میرن دنبال این ابزارهای بازی سازی ضعیف؟؟! -- جوابشو که گفتم...
نمونه بارز بازی مستقلی به نام Crayon Physics که با زبان ++C نوشته شده بود و اتفاقا جایزه اول مسابقه ی Independent Games Festival در فوریه 2008 رو هم برد!
حتما میگید چجوری؟ -- منم میگم به سادگی!-- سازنده بازی به خودش سختی نداد همین! -- برای بازیش نیومد یه Graphic Engine و یه Physic Engine و یه Audio Engine و ... بسازه!! حتی موزیکش هم کار خودش نبود!
پس چطور موفق شد -- معلومه همه چی رو از نوع آماده ش استفاده کرد -- به این صورت:
- برای Interface و موتور گرافیکی از (SDL (Simple DirectMedia Layer استفاده کرد.
- برای موتور فیزیک (Physic Engine) از Box2D استفاده کرد.
- و...
خلاصه کار خودشو راحت کرد بهترین روش رو انتخاب کرد...
جالبه بدونید که توی GDC (Game Developers Conference) 2008 درباره Crayon Physics Deluxe بیشتر از Gears of War 2 صحبت شد!!!
فکرشو بکنید...
باور کنید کسی که کتابخانه ی اوپن سورس SDL رو نوشته قصدش فقط راحتی شما بوده -- برای اینکه براحتی بتونید کلیدهای کیبورد رو تشخیص بدید - کلیدهای جوی استیک - پخش فایهای صوتی - استفاده از توابع گرافیکی bitblit - پخش فایلهای ویدئویی - و ... به راحتی نوشیدن یک فنجان چای
و کسی هم که Physic Engine ی اوپن سورس به نام Box2D و با رابط دوبعدی رو طراحی کرده - اون هم فقط قصدش راحتی شما بوده -- فکرشو بکنید اگر بخواید یه همچین موتوری طراحی کنید چندتا کتاب درباره فیزیک باید مطالعه کنید و مفاهیمش رو درک کنید؟ -- حال آنکه به سادگی میتونید به جای این از موتور آماده و قدرتمند Box2D برای بازیهای دو بعدی تون استفاده کنید!
و...
برای بازیهای سه بعدی هم همین موضوع هست. مثلا برای موتور گرافیکی میتونید از موتور قدرتمند و حرفه ای و اوپن سورس OGRE 3D استفاده کنید!!
و برای موتور فیزیک هم از موتور قدرتمند و اوپن سورس (ODE (Open Dynamics Engine استفاده کنید!!
برای Audio Engine هم از OpenAL و ...
به امید روزی که همه ما از این لجبازیِ از نو ساختن دست برداریم و از منابع آماده استفاده کنیم -- نترسید اگر از منابع آماده استفاده کنید چیزی ازتون کم نیشه -- بهتر از اینه که وقتتون رو پای ابزارهای ضعیف بیهوده تلف کنید...
البته شاید بگید ابزارهای آماده هم همین هست -- نه این نیست -- شما تو ابزارهای آماده دسترسی تون به هیچ وجه به گستردگی ++C نیست -- ولی منابع آماده ای که توسط ++C استفاده میکنید هیچ وقت محدودتون نمیکنه -- فرقش این بود!
ببخشید که سرتون رو درد آوردم!
با آرزوی موفقیت برای همتونموفق موید باشین!
تایید می شود.
مخالفم :
اگر روشی که شما گفتید بهترین روش بود استدیو های بزرگ زودتر از شما از این روش استفاده می کردند. در ضمن ماشالله تو ایران که کپی رایت رعایت نمیشه دیگه هر موتور گیمی که دلشون بخواد رو می تونن نهایتا با 10 هزار تومن تهیه کنن. همین ubi soft الان در بیشتر بازیهاش داره از unreal engine استفاده می کنه و نتیجه هم میشه غول بازیهای کامپیوتری یعنی بازی اساسین کرید.
تازه ما که نگفتیم ایرانیا بیان با unreal engine کار کنن همین quest 3d یک موتور فوق العادست. از اون استفاده کنن.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)