الف تا ی بازی سازی

نظر شما در مورد این پست چه می باشد ؟

  • عالیه ادامه بدین

    رای‌ها: 14 73.7%
  • بد نیست ولی می تونه بهتر بشه

    رای‌ها: 2 10.5%
  • خیلی بده

    رای‌ها: 3 15.8%

  • مجموع رای دهنده‌ها
    19

Burning Hawk

کاربر سایت



درود

همونطور که می دونید خیلی از افرادی که بازیکن هستن دوست دارند با بازی سازی آشنا شوند و حد الامکان بخشی از آن را یاد بگیرند در این پست مطالبی از مبتدی تاحرفه ای قرار داده خواهد شد که کاربران می توانند با خواندن آنها اطلاعات مورد نظر خود را بدست بیاورند.

*مطالب این بخش مربوط به سایت پرشیان دساینرز می باشد*


لطفا بعد از هر تاپیک خواننده گان نظر خود را اعلام کرده یا هر سوالی داشتند بپرسند تا در فصل های آینده دچار مشکل نشوند.
 
آخرین ویرایش:
پیش گفتار

فهرست تا این لحظه:​

مقدمه(بازی سازی چیه)
راه موفقیت(اصولی که باید رعایت بشن.)
+++ تلاش کنید
+++ گروهی کار کنید و سعی کنید در یک زمینه متخصص بشید.
-----------تخصصهای مختلف.
-----------تکنیکها و ابزارهای مورد نیاز برای هر تخصص.
+++این شرایط پروژه است که ابزارهای مناسب رو معین می کنه.
-----------سطح مهارت اعضا هم یکی از شرایطه اما تنها شرط نیست.
-----------سبک بازی
-----------سطح بازی
-----------تکنیکهای مورد نیاز
+++توی ایران کیا طالب بازی اند.​

=====================================================​

مقدمه :

در ساخت بازی اصولی وجود داره که عمل کردن به آنهاراه رو برای شما هموارتر خواهد کرد. ما با توجه به تجربه ای که توی این مدت کسب کردیم، مواردی رو به عنوان اصل، یعنی نکته ای که رعایت اون ضروری به نظر میرسه، براتون ذکر می کنیم. با رعایت این اصول شما در حقیقت از تجربیاتی که بقیه در طول دو سه سال کسب کردن استفاده خواهید کرد و در نتیجه در بسیاری از موارد به اندازه دو سه سال پیش خواهید افتاد چرا که محبور نیستید به راه هایی برید که تضمینی برای اونها وجود نداره و احیانا به شکست و شروع دوباره منجر می شه. البته برخی از این اصول ممکنه ابتدایی و ساده به نظر برسن.​

به عنوان بخشی از مقدمه بد نیست به خلاصه بخشی از مقدمه >>اسم نویسنده اش چیه؟؟<< در کناب Teach Yourself Game Programming in 24 Hours توجه کنید:
چرا بسیاری از مردم علاقه مند به یادگیری و ساخت بازی های خودشان هستند ؟ من فکر می کنم دلیل آن علاقه به ساخت تمام یک محیط کوچک توسط خودتان است ، در حالی که تنها محدودیت مهارت های تکنیکی و تصور شما می باشد .
برای فهمیدن بهتر اینکه چرا اکثر مردم به سمت بازی های ویدئویی جذب می شوند ، دلیل محبوبیت فیلم ها در جوامع مدرن را بررسی می کنیم . بازی های ویدئویی ما را یک قدم فراتر از تماشاچی یک نقش خواهند برد و در یک داستان تاثیرپذیر شرکت می کنیم . در اصل ، تمام بازی های ویدئویی ما را قادر به رفتن به دنیای دیگر و تاثیرگذاری در آن می کنند ، حتی اگه دنیایی بسیار کوچک شامل یک بکگراند و چند موجود بیگانه باشد . وقتی شما در حال قدم زدن در یک بازی هستید و هر صحنه ای پنجره ای برای ورود به صحنه جدید است که از شما می خواهد وارد آن شوید و ببینید چه اتفاقی در آنجا در حال وقوع است .​

اصول كلي :

1 . بازي سازي يك كار گروهي هستش .
2 . در يك زمينه خاص فعاليت كنيد ولي اگر مجبور بوديد در چند زمينه فعاليت كنيد ( مثلا گرافيك و برنامه نويسي ) سعي كنيد در يكي از زمينه ها بيشتر فعاليت كنيد تا در آن تخصص پيدا كنيد .
3 . اول نوع بازي و هدف خود را مشخص كنيد بعد ابزار متناسب با آن را انتخاب كنيد .
4 . ابزار انتخابي بايد با اطلاعات و مهارت شما تناسب داشته باشد ( البته امكان دارد بخواهيد اول سطح خود را بالا ببريد بعد به بازي سازي بپردازيد ! )
5 . هرگز فكر نكنيد بازي سازي كار ساده اي است شايد 1 يا 2 سال اول صرف تحقيق و مطالعه شود .​

تخصصهای مختلف :

در يك گروه بازي ساز افراد با تخصص هاي مختلف با هم كار مي كنند كه بعضي از اين تخصص ها به قرار زير است :​

برنامه نویس
طراح
گرافيست
صدا گذار
تهیه کننده
آزمایش کننده
و ...​

البته در ايران زياد طبق اين دسته بندي كار انجام نمي شه و اكثرا بازي سازي رو به دو تخصص گرافيك و برنامه نويسي تقسيم مي كنند . پيشنهاد ما اين است كه حداقل يك گروه 2 نفري تشكيل دهيد و يك نفر كار گرافيك و يك نفر كار برنامه نويسي را انجام دهد . توجه كنيد كه حداقل را گفتيم ...​

تکنیکها و ابزارهای مورد نیاز برای هر تخصص :

در اين سايت بيشتر به ابزار برنامه نويسي پرداخته شده و فعلا به ابزار برنامه نويسي مي پردازيم .​

ابزار ها و تكنيك هاي برنامه نويسي :​

استفاده از api ها و ساخت انجين با استفاده از آنها :​

استفاده از كتابخانه هاي گرافيكي كه بر پايه api ها هستند :​

كار با انجين آماده :​

استفاده از نرم افزار هاي تخصصي ساخت بازي : ( با اسكريپت مثل torque و بدون اسكريپت quest3d )​

mod سازي :​

انتخاب مسير مناسب با توجه به مهارت و سليقه ! شما :

شايد اين مهمترين قسمت مقاله باشد كه با توجه به سطح مهارت و علاقه شما مسير مناسب را به شما نشان مي دهد . ما اين قسمت را به صورت پرسش و پاسخ مطرح مي كنيم .​

-من می خوام یه موتور بازی بسازم . چه بايد بكنم ؟​

-من دوست دارم بتونم سریع بازی بسازم . چه بايد بكنم ؟​

اگر قبلا برنامه نويس بوده ايد و نسبتا حرفه اي هستيد ! مي توانيد از انجين ها استفاده كنيد اگر قبلا برنامه نويس بوده ايد ولي زياد حرفه اي نيستيد مي توانيد از نرم افزارهاي ساخت بازي و اسكريپت آنها استفاده كنيد و اگر اصلا برنامه نويسي نكرده ايد پيشنهاد مي كنيم اول برويد كمي برنامه نويسي كنيد !!​

-من میخوام برنامه نویسی بازی رو یاد بگیرم ولی تا این لحظه کد نویسی نکردم . چه بايد بكنم ؟​

-من کمی با زبانهای برنامه نویسی آشنایی دارم و دلم می خواد برنامه نویس بازی باشم . چه بايد بكنم ؟​


-من دوست دارم تو ساخت یک بازی شریک باشم. زمینه فعالیت چندان برام مهم نیست . چه بايد بكنم ؟​

-من به کار در زمینه گرافیک بازی علاقه دارم . چه بايد بكنم ؟​

معمولا كساني كه گرافيست هستند از نرم افزارهاي آماده ساخت بازي استفاده مي كنند ولي بازي از حد خاصي ( از نظر برنامه نويسي ) بالا نيست و در انتخاب بازي بايد دقت كرد . پيشنهاد ما اين است كه كار بازي سازي را گروهي انجام دهيد و برنامه نويسي را به برنامه نويس بسپاريد .​

گرافيك در بازي سازي خود چند قسمت است . حال اگر بازي شما كوچك است بايد تمامي قسمت ها را پوشش دهيد و اگر بازي بزرگ است ( كه بايد عضو گروهي چند نفره و با سرمايه گذاري باشيد ) بايد حداقل در يكي از زمينه ها تخصص پيدا كنيد .​

گرافيك در بازي سازي شامل گزينه هاي زير است :
1 . طراحي 2 بعدي
2 . كار با نرم افزارهاي گرافيكي مثل قتوشاپ
3 . مدل سازي 3 بعدي ( مهمترين و سخت ترين قسمت طراحي كاراكتر مي باشد )
4 . مدل سازي خميري ( در پروژه هاي خاص ! )​

( ما در حال پيدا كردن منابع مناسب براي گرافيست ها هستيم ! )​

و ...​

معرفي منابع براي شروع يادگيري :

directX :​

بهترين منبعي كه براي آموزش directX وجود دارد كتاب Introduction to 3D Game Programming with DirectX 9.0 مي باشد . با گوگل كردن اسم كتاب به همراه كلمه rapidshare به راحتي مي تونيد كتاب رو پيدا كنيد ...​

ogl :​

Tutorial هاي سايت http://nehe.gamedev.net/ رو مي تونيد در قسمت چپ صفحه پيدا كنيد .​

sdl :​


اين سري آموزش كه در لينك هاي سايت پايين هم موجوده مي تونه از ابتدا شما رو با sdl آشنا كنه بعد از اون مي تونيد آموزش هاي بعدي سايت پايين رو انجام بديد ...​


++C :​

كتاب C++ How to Program Deitel براي شروع از ابتدا بسيار عالي هست . در فصول آخر اين كتاب مي تونيد شي گرايي رو هم ياد بگيريد ...
ترجمه اين كتاب از دكتر مرتضي صاحب الزماني در بازار پيدا مي شود ...​
 
خوندمش. بیبن من حدود 14 سالی هست که 3d حرفه ای کار می کنم. تاپیک خوبه اگه خود بچه ها نظر بدن چیزهای بیشتری از بازی سازی روشن میشه.

درباره گرافیک سه بعدی بازی ها(pc):

texture:
1. به عکس هایی روی حجم ها قرار گرفته texture میگیم.

2.همون طور که می دونین عکس ها فرمت های مختلفی مثل tga , jpg, bmp دارند.

3. قبلا tga , bmp در بازی ها مورد استفاده بود

4. اما امروزه texture بازی ها بر اساس فرمت dds هست.

5. تمام موتور های قوی بازی سازی امروزه از همین فرمت dds برای texturing استفاده می کنند.

6. فرمت عکس dds توی 3dmax قابل استفاده است.

7. ابعاد مناسب و معمول 512*512 پیکسله .

8. وقتی توی یک بازی می بینید مثلا عکس روی دیوار ها محوه و خوب کار نشده. نقص از اینجا ناشی می شه یعنی پیکسل پایین تر از این حده.

9. البته همیشه در بازی های جدید تر این کیفیت عکس ها بالا میره.

10. دلیل اینکه بعضی بازی ها جذاب نیستند. یکش استفاده از texture های بی کیفیته و آشنا نبودنه افراده. که واقعا می بینیم تو ذوق می زنه.
و جای تعجبه که اکثر حرفه ای ها ی ایرانی آشنایی لازم رو با نوع فرمت های تصویری ندارن. (مثلا png با jpg در عالم تصاویر کلی فرقشه)

11. آیا با امکانات کم ما پس میشه از texture سایر بازی ها استفاده کرد؟

جوابش کاملا مثبته. یعنی شما می تونید توی بازی سازیتون با دانش بسیار کمی از استخراج textureهای بازی معروف بهره ببرید مثل cod4 یا و... re4 و ... چون همون طور که گفتم تمام بازی های جدید از این فرمت dds استفاده می کنند.
 
خوندمش. بیبن من حدود 14 سالی هست که 3d حرفه ای کار می کنم. تاپیک خوبه اگه خود بچه ها نظر بدن چیزهای بیشتری از بازی سازی روشن میشه.

درباره گرافیک سه بعدی بازی ها(pc):

texture:
1. به عکس هایی روی حجم ها قرار گرفته texture میگیم.

2.همون طور که می دونین عکس ها فرمت های مختلفی مثل tga , jpg, bmp دارند.

3. قبلا tga , bmp در بازی ها مورد استفاده بود

4. اما امروزه texture بازی ها بر اساس فرمت dds هست.

5. تمام موتور های قوی بازی سازی امروزه از همین فرمت dds برای texturing استفاده می کنند.

6. فرمت عکس dds توی 3dmax قابل استفاده است.

7. ابعاد مناسب و معمول 512*512 پیکسله .

8. وقتی توی یک بازی می بینید مثلا عکس روی دیوار ها محوه و خوب کار نشده. نقص از اینجا ناشی می شه یعنی پیکسل پایین تر از این حده.

9. البته همیشه در بازی های جدید تر این کیفیت عکس ها بالا میره.

10. دلیل اینکه بعضی بازی ها جذاب نیستند. یکش استفاده از texture های بی کیفیته و آشنا نبودنه افراده. که واقعا می بینیم تو ذوق می زنه.
و جای تعجبه که اکثر حرفه ای ها ی ایرانی آشنایی لازم رو با نوع فرمت های تصویری ندارن. (مثلا png با jpg در عالم تصاویر کلی فرقشه)

11. آیا با امکانات کم ما پس میشه از texture سایر بازی ها استفاده کرد؟

جوابش کاملا مثبته. یعنی شما می تونید توی بازی سازیتون با دانش بسیار کمی از استخراج textureهای بازی معروف بهره ببرید مثل cod4 یا و... re4 و ... چون همون طور که گفتم تمام بازی های جدید از این فرمت dds استفاده می کنند.
ممنون از مطالب مفیدتون ولی باید یه سه چهار نفر بیاد نظر بده تا من بتونم بقیش رو بنویسم !!!:love:
 
کدام ابزار رو انتخاب کنم؟

ممکنه ابتدا اين مقاله کمي براي شما عجيب و بي ربط به نظر برسه ولي خواهشي که دارم اينه که به خوندنش ادامه بديد. چرا که موضوعي که تو اين مقاله بهش پرداخته شده همونيه که تو اسم مقاله اومده.
البته يک نکته اي که بايد همين اول بهش اشاره کنم اينه که اين مقاله فقط به برنامه نويسي بازي مربوط ميشه.

به عنوان مقدمه بايد به خدمتتون عرض کنم. که افراد مختلف با عقايد و اهداف متفاوتي اقدام به ساخت بازي مي کنند. اين عقايد رو مي شه به سه دسته کلي تقسيمشون کرد:

1. افرادي که به خاطر علاقه شون بازي ميسازن.
2. افرادي که تصميم دارن يک بازي موفق بسازن.
3. افرادي که با انگيزه هاي مالي اقدام به ساخت بازي ميکنند.

يه نظر من کساني که از طرف ديگران بيشتر قابل احترام هستن و ارزشمندترند، همون دسته دوم هستند.به همين دليل نوي اين مقاله طرف صحبت ما بيشتر افرادي هستند که قصد دارندبازي موفق بسازند.

در رابطه با اين مطلب بايد به چند مساله توجه کنيم.

الف: کي بازي رو ميسازه؟؟

در دنياي امروز امکانات بسيار زياد و متفاوتي براي ساخت بازي وجود داره. هر کسي بازيش رو با استفاده از يکي از اين امکانات و ابزارها ميسازه. من دوست دارم از زبانهاي برنامه نويسي و کتابخانه هاي ساخت بازي استفاده کنم. يکي از game maker استفاده ميکنه. يکي براي بازي خودش موتور مي نويسه. يکي از موتورهاي سورس باز استفاده ميکنه و اونا رو براي بازي خودش کامل ميکنه. حتي يه چيز جالب که من توي همين سايت(persian-designers.com) ديدم اين بود که يکي از اعضا معتقد بود که من ساخت بازي با چيزي به غير از زبان اسمبلي رو اصلا قبول ندارم!! و البته من به اون تا حدودي(که البته حدود زياد وسيعي نيست) حق مي دم و احتمالا بعضي از شما ها هم حرف اون رو بعد از خوندن اين مقاله بهتر مي فهميد.
بگذريم هر کدوم از ما بعد از اين که بازيمون تموم شد مي گيم ما يه بازي ساختيم. در حالي که واقعيت اينه که ما با دلفي بازي ساختيم. ما با ++C و کتابخانه SDL بازي ساختيم. ما با game maker بازي ساختيم ما با Quest 3D بازي ساختيم. ما با اسمبلي بازي ساختيم!!!
منظور من از اين حرفها اينه که هيچ کدوم ما(حتي اوني که با زبان اسمبلي بازي ميسازه!!) همه بازيمون رو خودمون نمي سازيم. هر کدوممون از يه سري از امکانات آماده استفاده مي کنيم يک سري چيزهاي معمولا اندکي به اونا اضافه مي کنيم و يه بازي ميسازيم و در نهايت با افتخار ميگيم که بازي ساختيم. پس مي بينيد که همه ما داريم يه کار مشابه رو انجام ميديم. و مني که دارم با ++C بازيم رو ميسازم برتري خاصي نسيت به کسي که با game maker ميسازه ندارم و برعکس.
حالا سوالي که از شما دارم اينه که:
پس ملاک انتخاب ابزار مناسب براي ساخت يه بازي چيه؟
آيا ميشه با اين حرف که من با دلفي بازي ميسازم و کارم از اوني که با game maker ميسازه اصولي تره به استدلال مناسبي براي انتخاب ابزار رسيد؟ اگه جوابتون مثبته چرا با زبان اسمبلي برنامه نمي نويسيد؟! چرا اصلا با يه مشت IC و گيت سخت افزاري يه بازي طراحي نميکنيد؟!! اصلا چرا مي خوايد از IC استفاده کنيد؟!!! خودتون اون رو هم بسازيد!!!!
خوب مي بينيد که هر چي بيشتر پيش ميريم سوالات خنده دار مي شن.
البته منکر اين قضيه هم نميشه شد که کسي که با ابزارهاي ابتدايي تر کار ميکنه:
-از توانايي بالاتري برخورداره.
-توان ايجاد امکانات بيشتري رو داره.
-و کار قوي تري رو مي تونه عرضه کنه.
بنا براين اميدوارم قانع شده باشيد که اين که يک ابزار از ابزار ديگه قوي تره يا برعکس يک ابزار از ديگري راحت تره به تنهايي نمي تونه ملاک اين باشه که کدوم ابزار براي ما مناسب تره.
خوب حالا به مساله «ب» مي رسيم و اون اينه که

ب: ابزار مناسب براي من چيه؟؟

خيلي خوب بياين هدفمون رو به خاطر بياريم.
هدف ما اینه که بک بازي موفق بسازيم.
براي اين کار تا حالا قسمتي از اطلاعات مورد نيازمون يعني اين که ابزارها هر کدوم توان خاصي دارند رو داريم.
در قسمت قبل هم عيناً و به طور شهودي ديديم که توان يک ابزار نمي تونه تنها ملاک براي انتخاب يک وسيله باشه. دليل اين مساله همون جنگ تاريخي بين منفعت و هزينه است. يعني اگر يه ابزاري از توان بسيار بالايي برخورداره، در مقابل کار با اون ابزار به توانايي بالايي نيز نياز داره و احتمالا انجام کار با اون وقت گير تر هم خواهد بود. در مجموع بايد بگم که هر چي توان يک ابزار بالا ميره، به همون ميزان کار کردن با اون هم سخت تر ميشه.
خوب پس به نکته دومي که پي مي بريم اينه که در انتخاب يک ابزار بايد به سطح توانايي خودمون هم دقت کنيم.
بريم سراغ مساله آخر

پ: کي بازي رو ميسازه؟؟!!

معني اين سوال با سوال اول متفاوته. معناي اين يکي اينه که چه کسي موفق ميشه تا بازيش رو بسازه؟
جوابي که براي شما دارم اينه که کسي ميتونه بازيش رو به طور کامل و موفق بسازه که به کليه عوامل دقت کنه و انتخاب درست رو انجام بده.
علاوه بر دو عامل عمده اي که بالا بهشون اشاره کردم.ميشه به عوامل ديگري هم اشاره کرد که به ترتيب اهميت به شرح زير هستند:

-بازي يا بازيهايي که قصد داريم بسازيم چيه؟ تاثير اين که چه جور بازي قراره ساخته بشه تو انتخاب ابزار مناسب بسيار مهمه. چرا که نيازهاي شما رو مشخص ميکنه.
-ابزارهاي مختلف رو فقط نميشه با جملاتي مثل قويتر و ضعيفتر با هم مقايسه کرد. ارزش يک ابزار ميتونه به خاطر هماهنگي امکاناتي که در اختيار يازيساز ميذاره باشه. بنابراين در هنگام انتخاب ابزار حتما به خصوصيات فني ابزار هم توجه کنيد.
-عناصري مثل محدوديت زمان، سرمايه و بسياري مسائل مشابه ديگر هم ميتونن در اين راستا تاثير گذار باشند.

سخن آخر:
اين مقاله بيشتر براي دوستان تازه وارد و در پاسخگويي به اين سوال که «کدام ابزار رو انتخاب کنم؟» نوشته شده. و البته مي تونه تاثير گذراندن درسهاي مثل «مهندسي نرم افزار 1و2» توسط نويسنده نيز ياشه.
به هر حال اميدوار که بدين وسيله تونسته باشم نگرش شما دوستانی رو که یکی از اشتباهات بالا رو مرتکب میشید، نسبت به انتخاب ابزار مناسب کمي تغيير داده باشم.

منابع :
تجربیات شخصی

نوع استفاده از منابع :
عبرت گرفتن از شکست!

سطح مقاله : مبتدی

نویسنده : احسان طاهری
 
:laughing::laughing::laughing::laughing::laughing::laughing::laughing::laughing:اها ....حالا فهمیدم چی می گی !!!:laughing::laughing::laughing::laughing::laughing::laughing::laughing:



:-" از سوتی های هفت گانه

با تشکر ازکورش (مسئول کشف و ضبط سوتی ها ) شوخی :laughing:
 
جشن 100 پسته شدن من تو سایت !!! هورااااااااااااااااااااااااااااااااا !!!!!!!!!
شما الان داری بازی سازی یاد میدی ؟؟؟؟
این که همش داستانه نوشتی.
چه زبانی رو داری یاد میدی ؟ اصلاً زبان برنامه نویسی هم تو چشم انداز 5 سالت هست که یاد بدی:laughing:
بازی سازی فایده نداره . من خودم با ویژوال و سی شارپ خواستم بازی بسازم ولی کسی منو کمک نکرد فوقش تونستم یه بازی 2 بعدی اون هم تماماً برنامه هاشو خودم نوشتم که اصلاً هم قشنگ نشده بود
بازیش هم خیلی کوتاه بود.
به نظر من واسه ماها فایده نداره که یاد بدی خودمون چطور موتور پایه بسازیم ( اگه میخوای یاد بدی )
توی کشور ما اصلاً منبع علمی دیگه ای وجود نداره ( الان رو نمیدونم قبلاً که نداشت ) ، شما یاد میدی مثلاً منو مشتاق میکنی به این کار حالا میخوام برم خودم دنبالش یه چیزای بیشتری یاد بگیرم به مشکل می خورم با کتاب و ترجمه نمیشه باید یکی باشه که یاد بده باید کلاس باشه که واقعاً بشه چیزی توش یاد گرفت. ما هنوز تو زمینه علوم فضا اون طوری که باید و شاید منبع علمی نداریم چه برسه به بازی که تازه میخاد شروع کنه
به نظر من اگه میخوای بازی سازی یاد بدین یه موتور خاصی رو معرفی کنید و طرز کار با اون رو به صورت حرفه ای یاد بدید که حالا به چه زبانی باید واسش برنامه بنویسی با چه 3d نرم افزاری واسش کار کنی و این چیزا

ببخشید که فضولی کردم ولی این نظر من بود
 
جشن 100 پسته شدن من تو سایت !!! هورااااااااااااااااااااااااااااااااا !!!!!!!!!
شما الان داری بازی سازی یاد میدی ؟؟؟؟
این که همش داستانه نوشتی.
چه زبانی رو داری یاد میدی ؟ اصلاً زبان برنامه نویسی هم تو چشم انداز 5 سالت هست که یاد بدی:laughing:
بازی سازی فایده نداره . من خودم با ویژوال و سی شارپ خواستم بازی بسازم ولی کسی منو کمک نکرد فوقش تونستم یه بازی 2 بعدی اون هم تماماً برنامه هاشو خودم نوشتم که اصلاً هم قشنگ نشده بود
بازیش هم خیلی کوتاه بود.
به نظر من واسه ماها فایده نداره که یاد بدی خودمون چطور موتور پایه بسازیم ( اگه میخوای یاد بدی )
توی کشور ما اصلاً منبع علمی دیگه ای وجود نداره ( الان رو نمیدونم قبلاً که نداشت ) ، شما یاد میدی مثلاً منو مشتاق میکنی به این کار حالا میخوام برم خودم دنبالش یه چیزای بیشتری یاد بگیرم به مشکل می خورم با کتاب و ترجمه نمیشه باید یکی باشه که یاد بده باید کلاس باشه که واقعاً بشه چیزی توش یاد گرفت. ما هنوز تو زمینه علوم فضا اون طوری که باید و شاید منبع علمی نداریم چه برسه به بازی که تازه میخاد شروع کنه
به نظر من اگه میخوای بازی سازی یاد بدین یه موتور خاصی رو معرفی کنید و طرز کار با اون رو به صورت حرفه ای یاد بدید که حالا به چه زبانی باید واسش برنامه بنویسی با چه 3d نرم افزاری واسش کار کنی و این چیزا

ببخشید که فضولی کردم ولی این نظر من بود


از نظرات لطیفتون کمال بهره را بردیم ولی یه سوال کجای این تاپیک نوشته آموزش بازی سازی؟ :confused:


حدف از تشکیل تاپیک بحث و تبادل نظر عمومی در مورد بازی سازی است !

و آشناییی بیشتر بازی کن ها به حرفه بازی سازی .
 
حلقه اصلی بازی

نرم افزار ها اعم از بازی و سایر نرم افزارها با بسیاری از رویدادها روبرو می شوند. این رویدادها ممکن است از طرف ابزارهای ورودی یا از درون خود برنامه پدید آمده باشند. عموما دو راه عمده برای برخورد با این رویدادها وجود دارد.

اول : برنامه منتظر رخ دادن رویداد بماند و به محض رخ دادن رویداد آن را دریافت نموده و به آن ترتیب اثر بدهد. در زمانی که رویدادی وجود ندارد برنامه کاملا متوقف می ماند و هیچ دستوری را اجرا نمی نماید و در واقع این سخت افزار است که به نرم افزار اعلام می کند که رویداد رسیده را پردازش نماید. این نوع پاسخگویی به رویداد عموما برای برنامه هایی مناسب است که تنوع رویدادها در آنها کمتر باشد و همچنین رویدادهای آنها با فواصل زمانی نسبتا طولانی رخ دهند.
مزیت این نوع برخورد با رویدادها این است که زمان و هزینه های سخت افزاری کمتری به خصوص از cpu تلف می شود.
از این نوع برنامه ها می توان برنامه های پردازش متن(word processor) را نام برد.

دوم : برنامه در یک حلقه معین و بدون توقف، سخت افزار های جانبی و سایر منابع رویدادهای داخلی را چک میکند تا به محض رسیدن رویداد جدید آن را پردازش نماید. این گونه برنامه ها معمولا میزان خاصی و نسبتا ثابتی را از عملیات cpu به خود اختصاص می دهند. و در صورتی که از هیچگونه دستور sleep یا توقف موقت در حلقه اصلی استفاده نشود، این میزان ثابت به 100 درصد خواهد رسید. بنابراین همواره استفاده از چنین دستوراتی در حلقه اصلی برنامه توصیه می گردد. اینگونه دستورات علاوه بر پایین آوردن استفاده از cpu نقش موثری در تنظیم زمانبندی و یکسان سازی سرعت اجرای حلقه بازی دارند.

همانطور که احتمالا متوجه شده اید، در بازی ها از روش دوم استفاده می گردد. event هایی که شما درون یک نرم افزار ساخت بازی همچون game maker تعریف و لیست می نمایید، همان بدنه حلقه هستند که در طول بازی به طور مداوم تکرار می گردند. و گزینه هایی مانند room_speed در این نرم افزارها بیان گر همان میزان توقف در هر حلقه هستند.

حلقه اصلی یک بازی دو بعدی عموما و به ترتیب شامل این بخش ها خواهد بود :

تست منابع رویداد برای رویدادهای جدید
اجرای روالهای هوش مصنوعی
حرکت دادن اشیا
بررسی برخوردها
کشیدن صحنه بازی
پخش صداها

بخشهای اصلی حلقه بازی در یک بازی سه بعدی را نیز می توان به شکل زیر فرض کرد :

دریافت رویدادها
به روز رسانی آبجکتها
به روز رسانی دوربین
به روز رسانی پایگاه داده(اطلاعاتی از قبیل تعداد دشمن های کشته شده، تعداد سکه و ...)
به روز رسانی آسمان
به روز رسانی particle system ها
به روز رسانی گرافیک(عملیات پیش نیاز جهت گرافیک و رندر کردن نمای دوربین)
کشیدن صفحه

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

منابع :

http://www.sjbaker.org/wiki/index.php/LoL_Main_Loop
http://en.wikipedia.org/wiki/Game_programming#The_game_loop

نوع استفاده از منابع :
برداشت و تکمیل

سطح مقاله : مبتدی
 
battle field 2 singleplayer

Hi every body !
I think if you can add more maps to single player of bf2 ,you' would be able to be called geniouses !
هاي.من bf2 اي كه خريدم 10 تا map تو حالت singleplayer ش داره.ازاونجاكه با سرعت افتضاحي كه اينترنت تو ايران داره مولتي پلير غيرممكنه پيشنهادميدم چندتانقشه به سينگل پليرش اگه بشه اضافه كرد شاهكار كرديم.خواهش ميكنم رو اين نظرمن فكر كنين ببينين ميشه يه كاري در موردش كرد يانه؟
مثلا نقشه kubra dam ويا mashtuur city كه اتفاقا تو ايران فرض شده رو به سينگل پلير بياريم.كه بشه لا اقل يه نفره بازيش كرد.
راستي تو ايران ميشه يه راهي براي بازي بتل فيلد2 بصورت آن لاين پيداكرد؟
Please send your responds to :rjafarpour@yahoo.com

thanks !
djrj:biggrin1::confused::biggrin1:
 
آخرین ویرایش:
Hi every body !
I think if you can add more maps to single player of bf2 ,you' would be able to be called geniouses !
هاي.من bf2 اي كه خريدم 10 تا map تو حالت singleplayer ش داره.ازاونجاكه با سرعت افتضاحي كه اينترنت تو ايران داره مولتي پلير غيرممكنه پيشنهادميدم چندتانقشه به سينگل پليرش اگه بشه اضافه كرد شاهكار كرديم.خواهش ميكنم رو اين نظرمن فكر كنين ببينين ميشه يه كاري در موردش كرد يانه؟
مثلا نقشه kubra dam ويا mashtuur city كه اتفاقا تو ايران فرض شده رو به سينگل پلير بياريم.كه بشه لا اقل يه نفره بازيش كرد.
راستي تو ايران ميشه يه راهي براي بازي بتل فيلد2 بصورت آن لاين پيداكرد؟
Please send your responds to :rjafarpour@yahoo.com

thanks !
djrj:biggrin1::confused::biggrin1:
سرعت اینترنت ایران که 100 البته افتضاحه.
در این مورد صحبت نکنیم بهتره ولی فناوری ADSL رو شما انگار فراموش کردی.
خوب با ADSL میشه بازی کرد به صورت آنلاین هر بازی که باشه فقط باید یه سرعت خوب رو داشته باشی:biggrin1: یعنی بگیری.
در مورد battlefield هم نمی دونم اگه از نظر سرعت اینترنت میگی که میشه با همین راه بالاولی اگه واسه چیزای دیگه میگی من اصلاً خبر ندارم :p
 

کاربرانی که این گفتگو را مشاهده می‌کنند

تبلیغات متنی

Top
رمز عبور خود را فراموش کرده اید؟
اگر میخواهی عضوی از بازی سنتر باشی همین حالا ثبت نام کن
or