PDA

نسخه کامل مشاهده نسخه کامل : آموزش بازی سازی 2 بعدی به طور اصولی



brain
27-03-2011, 12:08
سلام.

این تاپیک رو ایجاد کردم ، چون سوالاتی در این زمینه دارم ، ممنون میشم راهنماییم کنید.
(تاپیک مشابه رو دیدم ولی مخصوص بازی های 3بعدی بود)

میخوام دقیقا مراحل ساخت بازی 2بعدی رو بدونم. خودم تحقیق کردم ، و مراحل رو به صورت کلی تونستم در بیارم :

مرحله 1 :
تصمیم گیری اینکه بازی در چه سبکی هست
مرحله ای--مولتی پلیر-ماجراجویی و غیره
(که گاهی اوقات با توجه به ایده ی خود بازی ممکنه این سبک ها مشخص بشه)

مرحله 2 :
ایده پردازی-نوشتن داستان - شخصیت ها - تفکیک شخصیت ها- کارهایی که قرار هست انجام بشه - تعداد مراحل - کلا نوع گیم پلی و نظیر اینها

مرحله 3:
استارت برای شروع قسمت گرافیکی و ظاهری بازی (کاراکتر ها-بک گراند-آبجکتها-انیمیت های مورد نیاز وغیره-صداگذاری)ینی طرحی هر آنچه که قرار هست دیده و شنیده بشه
(من بهش میگم ظاهر بازی ، به برنامه نویسی هم میگم باطن بازی)

به طور دقیق: (با توجه به ویژگی هایی که در مرحله قبل برای 4 گروه پایین مشخص کردیم این مرحله رو شروع میکنیم)

انواع مدل هایی که داریم : شخصیت ها - آبجکت ها-بک گراند ها
-نوشتن و لیست کردن تک تک 3 مورد بالا
-مشخص کردن اینکه کدام یک دارای حرکت و کدام فاقد حرکت هستند
-مشخص کردن اینکه کدام یک (چه دارای حرکت چه فاقد حرکت) قراره روش برنامه نویسی صورت بگیره کدام نه (منظورم اینه که دارای interaction هستن و نیستن)

بعد از مشخص کردن :

-گروه1: طراحی اولیه کاراکترها و انتخاب نهایی پیش طرحها
-گروه 2:راحی اولیه آبجکت ها و انتخاب نهایی پیش طرحها
-گروه3: طراحی اولیه بک گراندها و انتخاب نهایی پیش طرحها

-گروه 4: انواع حرکات :
1-حرکاتی که توسط طراح انجام میشود
2-حرکاتی که توسط برنامه نویسی انجام میشود
*معیار انتخاب اینکه چه حرکتی با طراح و چه حرکتی با برنامه نویسی صورت بگیرد باید مشخص شود
-نوشتن تمامی حرکات ها و دسته بندی آنها در 2 گروه بالا
*انتخاب تکنیک های حرکتی هم به طراح بر میگرده
*استاندارد تعداد فریم ها : FPS 40 FPS 30 FPS 24
-شروع به طراحی اولیه حرکات طبق نکات بالا
*طراحی کلید ها - میان کلید ها و غیره با توجه به تکنیک های حرکتی

- انتخاب تکنیک اجرایی 4 گروه بالا (دستی یا دیجینتالی)
اجرای آنها با تکنیک انتخاب شده > فعلا با کیفیتی خوب
*بعدا برای وارد کردن در موتور برنامه نویسی ، در مورد قطع و کیفیت دقیقش تصمیم گیری میشه

انتخاب قطع و کیفیت و پسوند خروجی کلیه تصاویر برای وارد کردن در موتور برنامه نویسی
*معمولا پسوند png استفاده میشود- معیار تعیین اندازه رزولوشن رو نمیدونم

فعلا پایان مرحله 3

مرحله 4:
تصمیم گیری اینکه با چه برنامه ای ، برنامه نویسی صورت بگیره

مرحله 5:
شروع به برنامه نویسی (باطن بازی)

مرجله 6:
تست کردن بازی - رفع باگ و نظیر اینها

مرحله 7:
اقدامات لازم برای فروش بازی

حالا سوالات من ایناس :
فرض کنید ، ایده ، داستان ،گیم پلی ودر واقع مر حله 1 و 2 به صورت کامل انجام شده و میخوایم وارد مراحل بعدی بشیم:
ویژگی استاندارد بازی 2 بعدی ای که میخوام داشته باشم :
مورد 1 :
کاهش زمان لودینگ بازی
سوال :-برای سریع تر لود شدن بازی و کاهش زمان آن باید چه کار کرد ؟
- resolution یا dpi تصاویر خیلی بالا نباشه ؟ مثلا حجم و پسوند موزیک ها طوری نباشه که بازی سنگین بشه؟
(اصول دقیق اینجور چیزا میخوام)


مورد 2 :
-داشتن تنظیمات گرافیکی(option)برای بالا و پایین آوردن گرافیک بازی (مثلا تکسچر ها کیفیتش کمتر بشه-یا سایه حذف بشه و.....)
سوال : کلا این گزینه نیازه ؟ بازی 2 بعدی میتونه سنگین باشه که باعث افت فریم بشه ؟
اگر بله : پس برای شروع به کشیدن کاراکتر ها و بک گراند و ... در فتوشاپ من باید با بهترین کیفیت کار کنم ، بعدش مثلا 3 مدل خروجی از فریم ها یا بک ها بگیرم (مثلا با سایه - بی سایه - تکسچر ضعیف - تکسچر قوی و غیره)

مورد 3: (اصول دقیق اینجور چیزا میخوام)
فرض کنید بازیه ما پر از حرکت و انیمیشن های مختلف هستش. برای اینکه ما اینارو بدیم دست برنامه نویس ، باید قبلش چه جوری اونارو کار کرده باشیم و با چه پسوندی بدیم بهتره :
مثلا یک نارنجک قراره پرتاب بشه ( وقتی تو هوا هستش داره میچرخه - میخوره زمین تکه تکه میشه و - دارای انفجاره ولی به محیط بازی ضربه نمیزنه ینی محیط فیزیک نداره )
سوال :یه همچین چیزی رو ما باید چی شو بدیم به برنامه نویس ؟ فریم به فریم کل حرکت رو به صورت عکس بهش بدیم ؟ و اینکه تعداد فریم ها چقدر باشه چی ؟ (فرض کنید میخوام حرکات خیلی نرم باشه ، مسلما باید 24 فریم در ثانیه باشه)

سوالام تموم شد.
هدفم اینه که میخوام به صورت اصولی بازی رو بسازم ، برای همین مراحل دقیق رو میخوام تا بعدا بازی در مرحله برنامه نویسی به مشکل بر نخوره - بازی سنگین نشه - لودینگ هاش سریع باشه (واقعا سریع)- باگ تصویری پیش نیاد مثلا

بازی استالکر انقدر تکسچر هاش با کیفیت هستش که الکی لودینگ بازی خیلی طول میکشه - ولی بازی ابلیویون لودینگ هاش خیلی سریعه ! میخوام اینجور ترفند ها رو کشف کنم و برای بازی 2 بعدیم استفاده کنم

ببخشید سرتون رو درد آوردم ، اینجور مسائل معمولا به درد همه میخوره اگه پاسخ داده بشه
(خودمم در حال جستجو هستم)

Reza Azimy_RW
27-03-2011, 13:34
سلام رفیق . در چه حالی !؟:31:

سوال : کلا این گزینه نیازه ؟ بازی 2 بعدی میتونه سنگین باشه که باعث افت فریم بشه ؟کلا این گذینه تو بازیهایه دو بعدی نیاز نیست ! چون دیگه ماشاالله سیستمها خیلی پیشرفته شده .



سوال :یه همچین چیزی رو ما باید چی شو بدیم به برنامه نویس ؟ فریم به فریم کل حرکت رو به صورت عکس بهش بدیم ؟ و اینکه تعداد فریم ها چقدر باشه چی ؟ (فرض کنید میخوام حرکات خیلی نرم باشه ، مسلما باید 24 فریم در ثانیه باشه)خوب اگه منظورت از برنامه نویس کسیه که بازی رو میسازه و با انجین کار میکنه میتونی انیمیشن رو به صورت Gif در بیاری . یا مثلا 30 تا عکس پشته سره هم درست کنی برایه انفجار ( پسوند بهتره BMP باشه تا برایه Alpha دادن به مشکل بر نخوری یا png که خودش الفا داره ) . و حرکته نارنجک به سمته جلو هم نیازی نداره حتما انیمیشن درست کنی میتونی با Path این کارو بکنی .


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

brain
27-03-2011, 13:46
سلام رضا جان:31: خوبی ؟


کلا این گذینه تو بازیهایه دو بعدی نیاز نیست ! چون دیگه ماشاالله سیستمها خیلی پیشرفته شده .
شما فرض کیفیت تصاویر خیلی بالا باشه. تکسچر ها رو میگم. بازی رو سنگین نمیکنه ؟
اگه نه پس به جای آپشن گرافیکی فقط میشه تنظیماتی برای تغییر دادن Resoloution گذاشت که اگه احیانا برای سیستمی افت فریم داشتیم (دارم میگه اگه) با کم کردنش فریم بهتری بگیره.
برای گذاشتن همچین حالتی ، باید از همه ی تصاویر با تمام رزولوشن ها خروجی گرفت ؟ مثلا یه بار همگی 800 در 600 - یه بار 1280 در 800 مثلا و غیره ؟!


میتونی انیمیشن رو به صورت Gif در بیاری . یا مثلا 30 تا عکس پشته سره هم درست کنی برایه انفجار ( پسوند بهتره BMP باشه تا برایه Alpha دادن به مشکل بر نخوری یا png که خودش الفا داره
تصمیم اینکه کدوم بهتر جواب میده و حجم کمتری میده با خودمونه دیگه ؟ یا روش های دیگه ای هم هست ؟



حرکته نارنجک به سمته جلو هم نیازی نداره حتما انیمیشن درست کنی میتونی با Path این کارو بکنی
منظورم مسیرش نبود - منظورم حرکتی در هنگام مسیر داره- نارنجک رو هوا میچرخه و میره جلو دیگه ، صاف که جلو نمیره.
(کل موضوع نارنجک مثال بود ، بیشتر میخواستم بدونم چیزی که حرکت داره رو چه جوری میدیم به برنامه نویس)


کلا انجینی که میخوای باهاش بازی رو بسازی میگفتی خیلی بهتر میشد راهنمایی کرد
با توجه به انجین ، مگه داده های تصویری ما میتونه فرقی هم داشته باشه ؟

parvizamd
27-03-2011, 13:59
براین جان شخصا دوتا انجین بهت پیشنهاد میکنم یعنی گیم میکر 8 و Torgue Game Builder

brain
27-03-2011, 14:05
براین جان شخصا دوتا انجین بهت پیشنهاد میکنم یعنی گیم میکر 8 و Torgue Game Builder
ممنون ولی مشکل من سر انتخاب انجین نیست فعلا . میخوام با اصول اولیه به طور دقیق آشنا بشم کلیتش رو میدونم!

Reza Azimy_RW
27-03-2011, 14:24
برای گذاشتن همچین حالتی ، باید از همه ی تصاویر با تمام رزولوشن ها خروجی گرفت ؟ مثلا یه بار همگی 800 در 600 - یه بار 1280 در 800 مثلا و غیره ؟!
نه دیگه . یه خروجی کافیه . فقط باید به اندازه بیشترین حده رزولیشن خروجیتو بگیری و مرحله رو طراحی کنی . ( یعنی بهتره )


تصمیم اینکه کدوم بهتر جواب میده و حجم کمتری میده با خودمونه دیگه ؟ یا روش های دیگه ای هم هست ؟

اره دیگه ولی png از نظر حجم و ... خوبه .


(کل موضوع نارنجک مثال بود ، بیشتر میخواستم بدونم چیزی که حرکت داره رو چه جوری میدیم به برنامه نویس)

خوب انیمیشنشو میسازی و میدی به طرف



با توجه به انجین ، مگه داده های تصویری ما میتونه فرقی هم داشته باشه ؟

نه ! مگه در موارده خاص ! مثلا JPG رو همه انجینها ساپورت میکنن یا PNG ولی مثلا اگه با TGA بسازی شاید بعضی انجینا ساپورت نکنن .

god of war 2
27-03-2011, 15:27
سلام.


سوال :-برای سریع تر لود شدن بازی و کاهش زمان آن باید چه کار کرد ؟

سوالی که شما پرسیدید خیلی کلی هست و میتونه به خیلی از موارد هم در بخش گرافیکی و هم در بخش برنامه نویسی مربوط بشه. معمولا در ساخت یک برنامه کامپیوتریی (بازی یا نرم افزار) همواره دو اصل اساسی پیش رو هست یکی {استفاده زیاد از منابع سیستم => سرعت بالا} دیگری {استفاده کم از منابع سیستم => سرعت پایین} که برای بدست آوردن بهترین نتیجه باید همیشه تعادل بین این دو رعایت بشه در غیر اینصورت ممکنه نتیجه نهایی کار در یک سیستم ضعیف اصلا اجرا نشه و یا در یک سیستم قوی با سرعت کمی اجرا بشه.


- resolution یا dpi تصاویر خیلی بالا نباشه ؟
معمولا در ساخت یک بازی (2D\3D) شخص گرافیست با توجه به یک بازه معین اقدام به طراحی و تولید آبجکتهای گرافیکی میکنه. این بازه میتونه بر پایه Resolution باشه بطور مثال این بازه میتونه از Pixel 800x600 تا Pixel 1280x1024 باشه که بازی در زمان اجرا بهترین و مناسب ترین سایز را با توجه به منابع سیستمی که در آن اجرا شده انتخاب میکنه و یا از طریق Option موجود در بازی توسط کاربر تنظیم بشه.


مثلا حجم و پسوند موزیک ها طوری نباشه که بازی سنگین بشه؟
استفاده از فایلهای صوتی در بازی ها (البته با توجه به موتور بازی) به دو روش کلی انجام میشه که هرکدام مزایا و معایب خودشونو دارن روش اول یه گونه ای هست که ابتدا تمام فایل در حافظه اصلی بار گذاری نمیشود بلکه یک بافر معین مثلا به اندازه MB 3 در حافظه ایجاد شده و در هر لحظه این بافر از فایل صوتی روی Hard Disk پر شده ، پخش میشود و دوباره به همین صورت ..... مزیت این روش مصرف کمتر حافظه میباشد و همچنین حجم فایل صوتی زیاد اهمیت ندارد و عیب آن این است که پردازنده باید در هر لحظه (با توجه به سایز بافر) اطلاعاتی را از روی هارد دیسک به داخل حافظه اصلی بار گذاری کند که این عمل در سیستم های نسبتا ضعیف در حین پخش موسیک موجب کمی کندی میشود. این روش زمان Load کردن مراحل را کم میکند اما پردازنده را بطور مدام بکار میگیرد.

روش یا تکنیک دوم برعکس تکنیک اول هست یعنی ابتدا تمام فایل صوتی به داخل حافظه اصلی بارگذاری میشود (معمولا این عمل در زمان Loading بازی انجام میشود) و سپس از دستگاهای صوتی پخش میشود. عیب این روش این است که زمان Load کردن را افزایش میدهد(با توجه به حجم فایل صوتی) و مزیت آن استفاده کمتر از پردازنده در حین پخش شدن هست.
در رابطه با پسوند فایل هم دو مورد وجود دارد که باید به آن توجه کرد مورد اول مربوط میشه به لایسنز آن مثلا برای استفاده از فایل های Mp3 در پروژه خود باید لایسنز اونو خریداری کنید و مورد دوم کیفیت و فشردگی که در فرمتهای مختلف تفاوت هایی دارند.(سعی کنید از پسوند هایی که در بیشتر بازی ها از آن استفاده میکنند استفاده کنید)


سوال : کلا این گزینه نیازه ؟ بازی 2 بعدی میتونه سنگین باشه که باعث افت فریم بشه ؟
در سوال اولتون به جواب این سوال اشاره کردم شما باید سیستم های ضعیف هم در نظر بگیرید.


سوال :یه همچین چیزی رو ما باید چی شو بدیم به برنامه نویس ؟ فریم به فریم کل حرکت رو به صورت عکس بهش بدیم ؟ و اینکه تعداد فریم ها چقدر باشه چی ؟ (فرض کنید میخوام حرکات خیلی نرم باشه ، مسلما باید 24 فریم در ثانیه باشه)
این سوال هم باز برمیگرده به یک سری مسائل دیگر.معمولا در مسائل گرافیکی جزئیات کار که باید رعایت بشه زیاد هست و همچنین به سلیقه و مهارت گرافیست و برنامه نویس برمیگرده در مواردی میتوان با کد نویسی انیمیشنی را ایجاد کرد که حجم کد نویسی زیاد میشه و در مواردی حجم کدنویسی کم و تعداد و حجم تصاویر زیاد میشه. بطور مثال:


مثلا یک نارنجک قراره پرتاب بشه ( وقتی تو هوا هستش داره میچرخه )
این قسمت توسط برنامه نویس انجام میشه یعنی فقط یک تصویر از نارنجک لازم هست و چرخش و حرکت آن توسط برنامه نویس انجام میشه.اما در شرایطی که تصویر از اندازه بالایی برخوردار باشه چرخاندن (Rotate) آن موجب مصرف زیاد منابع میشه کار بهتر اینه که چرخش ازقبل توسط گرافیست طراحی و تبدیل به تصویر بشه و فقط عمل Render روی آن صورت بگیره.
در رابطه با فریم هم شما میتونید از حداکثر تعداد فریم که برای بازی تنظیم کرده اید استفاده کنید ولی این کار عاقلانه نیست.
هر چقدر تعداد تصاویر یک انیمیشن بیشتر باشه خوب بدیهی هست که انیمیشن زیباتر و روونتر بنظر میرسه اما این کار هزینه ساز و باعث استفاده زیاد از منابع برای بارگذاری و Render تصاویر میشه.سعی کنید از حداقل تعداد تصاویر برای انیمیشن ها استفاده کنید تا فقط انیمیشن طبیعی به نظر برسه و لازم نیست خیلی روون و چشم نواز باشه.
برای تنظیم تعداد فریم در ثانیه معمولا بهترین نرخ 60 فریم در ثانیه هست ولی این نرخ برای انیمیشن های فوق نرم استفاده میشه و در سیستم های معمولی برای رندر انیمیشن های پیچیده فشار زیادی به پردازنده میاره و در ساخت بازی
از این نرخ استفاده نمیشه و معمولا از نرخ های FPS 40 FPS 30 FPS 24 استفاده میشه.


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


هدفم اینه که میخوام به صورت اصولی بازی رو بسازم ، برای همین مراحل دقیق رو میخوام تا بعدا بازی در مرحله برنامه نویسی به مشکل بر نخوره - بازی سنگین نشه - لودینگ هاش سریع باشه (واقعا سریع)- باگ تصویری پیش نیاد مثلا

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

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

موفق باشید.

brain
28-03-2011, 13:34
ممنون اطلاعات خوبی دادید.


سعی کنید از حداقل تعداد تصاویر برای انیمیشن ها استفاده کنید تا فقط انیمیشن طبیعی به نظر برسه و لازم نیست خیلی روون و چشم نواز باشه.
چرا چشم نواز نباشه ؟
میشه با حداقل فریم ها و تکنیک های انیمیشن سازی بهترین نوع ممکن حرکات رو بدست آورد ، که قشنگ هم باشه . مثله بازی شانک !

راستی یک سوال دیگه :
میگم فرض کنید ما تو بازی 2 بعدی مون کاراکتر سازی داریم ، مثلا ریش و سبیل - کلاه و غیره طرف عوض میشه.
اینکار با برنامه نویسی امکان پذیره ؟
ینی من یک کاراکتر برهنه 2 بعدی می کشم ، بعدش چند تا لباس و کلاه و غیره براش می کشم ، که اول بازی باید توسط پلیر انتخاب بشه .
میشه همچین چیزی ؟


من باتوجه به صحبتهای دوستان ، پست اول رو آپدیت میکنم ، تا دقیق و دقیق تر بشه !

god of war 2
28-03-2011, 18:23
چرا چشم نواز نباشه ؟
میشه با حداقل فریم ها و تکنیک های انیمیشن سازی بهترین نوع ممکن حرکات رو بدست آورد ، که قشنگ هم باشه . مثله بازی شانک !
اصل بهینه سازی و حداقل بهره وری همیشه چه در پروژه های بزرگ و چه در پروژه های کوچک مهم هست و باید از آن پیروی بشه مگر اینکه شما از مشخصات سیستم نهایی که قرار است برنامه در آن اجرا بشه با خبر باشید و برنامتونو بر پایه آن پیاده سازی کنید که در رابطه با بازی ها هیچ وقت این اتفاق نمی افتد.
بازی Shank از تکنیک های مختلفی برای ساخت انیمیشن های خود استفاده کرده و میشه گفت در این بازی سعی شده برای انعطاف پذیری بیشتر و قابلیت مانور کاراکتر ها بیشتر انیمیشن ها بر پایه کد نویسی طراحی بشه و از حداقل تصاویر برای انیمیشن ها استفاده شده(منظورم از حداقل یعنی تا جایی که استفاده از تصاویر بیشتر کار اضافی محسوب میشه و میتوان با کد نویسی خیلی بهتر و انعطاف پذیر تر عمل کرد).
بطور مثال در بازی Shank زمانی که کاراکتر از خنجر استفاده میکنه برای هر نوع ضربه ممکنه که از 3 تصویر استفاده شده باشه که با نمایش تصاویر در زمان صحیح کاملا نرم و جالب به نظر میرسه ولی میشه این انیمیشنو با فرضا 6 تصویر هم نمایش دادو فقط کافی هست که تصاویر را با فاصله زمانی معین پشت سر هم نمایش داد که انمیشن نهایی خیلی نرم اما آهسته به نظر میاد و از واقعیت دور شده و اصلا جالب نیست.این یعنی استفاده از فریم های تصویر زیاد و نا کارآمد برای ایجاد یک انیمیشن.

یکی از تکنیک ها در ساخت انیمیشن های دو بعدی استفاده از خطای چشم هست بطور مثال میخواهیم انمیشنی درست کنیم که باز و بسته شدن یک در را نشان میدهد برای ساخت این انیمیشن توسط این تکنیک فقط دو تصویر لازم هست! یک تصویر زمانی که در بسته هست و یک تصویر زمانی که در باز شده فقط باید از خاصیت Opacity تصاویر استفاده کنیم یعنی در یک فاصله زمانی معین مثلا 3 ثانیه برای باز کردن در مقدار Opacity تصویر اول را کم کنیم و مقدار Opacity تصویر دوم را از صفر شروع کرده و همینطور افزایش دهیم تا زمانی که تصویر اول کاملا محو و تصویر دوم که همان تصویر باز بودن در هست کاملا ظاهر شده این انیمیشن در ذهن شخص بیننده به گونه ای نمودار میشود که انگار در بطور واقعی باز شده. برای واقعیتر جلوه دادن این انیمیشن میشه از تصاویر بیشتر استفاده کرد اما لازم نیست فریم به فریم باز شدن در را طراحی کرد.


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

MARTIN
28-03-2011, 23:10
ینی من یک کاراکتر برهنه 2 بعدی می کشم ، بعدش چند تا لباس و کلاه و غیره براش می کشم ، که اول بازی باید توسط پلیر انتخاب بشه .
به نظرم بهتره اول یه بررسی کنی ببینی چه موتور 2 بعدی این قابلیت و داره و کلا چجوریه و امکان دسترسی و اموزش و کار کردن باهاش هست بعد بری بازیت رو با این سبک طراحی کنی.
مثلا یه نرم افزار معمول ساخت این بازی ها همون طور که می دونید فلش هست اما برای بازی های بزرگ و پر محاسبه مناسب نیست چون به علت کاربردی که براش بوجود امده سریع performance بازی افت می کنه...

brain
31-03-2011, 16:37
سلام.

با توجه به اصل بهینه سازی و حداقل بهره وری ،یه سری سوال دیگه برام پیش اومده :

خون پاشیدن ( حتی المکان برای هر تفنگ متفاوته - برای انفجار متفاوته)

انفجار ( نارنجک - کوکتل مولوتف - نارنجک انداز - بازوکا که اگه انیمیت بشه ، شکلش احتمالا ثابته ولی برنامه نویسی شده اش رو نمیدونم ، فکر کنم random باشه )

دود ( برای هر تفنگ یا دود زا - یا دود بعد از انفجار و آتش متفاوته)

آتش (زمین یا آبجکتی در حال سوختنه - کاراکتری که در حال سوختنه)

جرقه تفنگ ( حتی المکان برای هر تفنگ متفاوته)

پرت شدن پوکه تفنگ ( حتی المکان برای هر تفنگ متفاوته)

شلیک شدن فشنگ ( نوع حرکت شلیک شدن فشنگ برای هر تفنگ متفاوته)

خورده ریز ( وقتی تیر میخوره به جایی غیر از کاراکتر ، یه سری خورده ریز بپاشه روی هوا که برای همه تفنگ ها شکلش ثابته )

گردو غبار ریز توی هوا

گردو خاک ( وقتی کاراکتر در حال دویدنه یا میوفته از جایی پایین یا مثلا بدنش کشیده میشه )

کدوماش رو میشه با سیستم ذره ای برنامه نویسی کار کرد ؟ و کدوماش نیاز به انیمیت کردن داره ؟
و اگه با برنامه نویسی میشه ، وظیفه طراح چیه ، باید چه شکلی رو بده به برنامه نویس ؟

*مثلا دود worms reloaded 2010 کلا دایره هستش ، فکر کنم طراح یک دایره خاکستری که دارای transparency هستش رو داده به برنامه نویس و الباقی با کدنویسی ردیف شده ، درسته ؟
البته چند نوع دود داره ، یکی دیگش که دایره ای هستش که سفیده و سایه کمی داره.

لینک نمونه های تصویری :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سوال بعدی :
پرت شدن کاراکتر بر اثر انفجار

سوختن کاراکتر بر اثر آتش

سوال : اینا رو ما انیمیت میکنیم ، بعدش با برنامه نویسی میگیم که وقتی مثلا کاراکتر رفت تو آتش ، انیمیشن مربوط به سوختن اجرا بشه ؟ یا اینکه با path میشه اینکارو کرد؟


ممنون از دوستان ، من هر از چندگاهی که اطلاعاتم تکمیل تر و منظم تر شد ، پست اول رو آپدیت میکنم ، در آخر یک pdf کامل میشه




به نظرم بهتره اول یه بررسی کنی ببینی چه موتور 2 بعدی این قابلیت و داره و کلا چجوریه و امکان دسترسی و اموزش و کار کردن باهاش هست بعد بری بازیت رو با این سبک طراحی کنی.
مثلا یه نرم افزار معمول ساخت این بازی ها همون طور که می دونید فلش هست اما برای بازی های بزرگ و پر محاسبه مناسب نیست چون به علت کاربردی که براش بوجود امده سریع performance بازی افت می کنه...
من اصلا با امکاناتی که برنامه های بازی سازی به برنامه نویس میدن ، خبر ندارم. باید اول مشخص کنم چیا میخوام بعدش ببینم کدوم این ویژگی رو میده ( با پرسیدن )


از 3 تصویر استفاده شده باشه که با نمایش تصاویر در زمان صحیح کاملا نرم و جالب به نظر میرس
این به هنر انیماتور برمیگرده ! زمان بندی فریم های انیمیشن - انتخاب کلید ها و ...

god of war 2
01-04-2011, 08:46
سلام.


با توجه به اصل بهینه سازی و حداقل بهره وری ،یه سری سوال دیگه برام پیش اومده :

.........
.........

کدوماش رو میشه با سیستم ذره ای برنامه نویسی کار کرد ؟ و کدوماش نیاز به انیمیت کردن داره ؟
و اگه با برنامه نویسی میشه ، وظیفه طراح چیه ، باید چه شکلی رو بده به برنامه نویس ؟


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


من اصلا با امکاناتی که برنامه های بازی سازی به برنامه نویس میدن ، خبر ندارم. باید اول مشخص کنم چیا میخوام بعدش ببینم کدوم این ویژگی رو میده ( با پرسیدن )

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


خون پاشیدن ( حتی المکان برای هر تفنگ متفاوته - برای انفجار متفاوته)
انفجار ( نارنجک - کوکتل مولوتف - نارنجک انداز - بازوکا که اگه انیمیت بشه ، شکلش احتمالا ثابته ولی برنامه نویسی شده اش رو نمیدونم ، فکر کنم random باشه )
دود ( برای هر تفنگ یا دود زا - یا دود بعد از انفجار و آتش متفاوته)
جرقه تفنگ ( حتی المکان برای هر تفنگ متفاوته)
شلیک شدن فشنگ ( نوع حرکت شلیک شدن فشنگ برای هر تفنگ متفاوته)
خورده ریز ( وقتی تیر میخوره به جایی غیر از کاراکتر ، یه سری خورده ریز بپاشه روی هوا که برای همه تفنگ ها شکلش ثابته )
گردو غبار ریز توی هوا
گردو خاک ( وقتی کاراکتر در حال دویدنه یا میوفته از جایی پایین یا مثلا بدنش کشیده میشه )
آتش (زمین یا آبجکتی در حال سوختنه - کاراکتری که در حال سوختنه)
پرت شدن پوکه تفنگ ( حتی المکان برای هر تفنگ متفاوته)

با هر دو روش قابل پیاده سازی هست.(پیشنهاد بنده استفاده از سیستم ذره ای)
برای طراحی تصویر لازم باید با برنامه نویس مشورت کنید.


*مثلا دود worms reloaded 2010 کلا دایره هستش ، فکر کنم طراح یک دایره خاکستری که دارای transparency هستش رو داده به برنامه نویس و الباقی با کدنویسی ردیف شده ، درسته ؟
بله.این یک نمونه استفاده از سیستم ذره ای هست.


سوال بعدی :
پرت شدن کاراکتر بر اثر انفجار

سوختن کاراکتر بر اثر آتش

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

موق باشید.