# مباحث متفرقه برنامه نویسی > طراحی و ساخت بازی‌های کامپیوتری >  تیم ساخت بازی با ++C

## kochol

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

در تهران زندگی می کنم.
در حال حاظر هم دارم روی یک انجین سورس باز کار می کنم که هم با استفاده از Direct3D و هم OpenGL توانایی رندر را دارد که کدهای ان با ++C هست و در بعضی از موارد برای بالا بردن سرعت از اسمبلی هم استفاده شده هست.

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

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

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

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

در این راه برای افراد گروه هر کمکی که از دستم بر بیاد انجام میدم مثل در اختیار گذاشتن ایبوک های مربوط به ساخت به بازی.

البته ما حتی به هم فکری ها هم نیاز داریم.

حالا افرادی که سی ++ بلد هستند برای کد نویسی اعلام همکاری کنند.

البته اگر کسی هم ایده ای برای ساخت بازی و یا داستان خوبی داره می تونه با ما همکاری کنه.

اگر کسی هم هست که کار با نرم افزارهای 3D مخصوصا MilkShape 3D برای کاراکتر ها و انیمیشن اسکلتی اونها که در حال حاضر انجین توانایی رندر اونها را کاملا داره یا Blender که می تونه به فرمت های زیادی اکسپورت داشته باشه که x. یکی از اونها هست که می شه بعدا خوندن و انیمیشن اونها رو به انجین اظافه کرد اگر هم کسی پیدا نشد ما دنبال راهی برای لود کردن فایل های 3 بعدی از داخل 3DS Max و Maya خواهیم کرد.

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

----------


## evilived

من تمام وقت هستم ؛ فقط بگو چیکار کنیم ؟؟؟؟؟؟؟؟

----------


## pooyanm

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

اما در مورد طراحی بازی یک سوالی برای من پیش اومد آیا امکاناتی از زبان سی++ را به کار گرفته ای که در زبانهای دیگه فراهم نیست به عبارت دیگه کدهایی که فعلا نوشتی و کدهایی که بعدا قصد داری اضافه کنی قابل پیاده سازی در زبانهای دیگر هستند؟

----------


## kochol

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

بطور مثال شما روی انیمیشن های بسیار پیشرفته کار می کنید و من روی رندر فضاهای باز مثل دشت ها و غیره یا هر چیزی که نیازمون شد.
حالا باید دید که تیممون چقدر بزرگ می شه.
راستی شما در تهران هستید.
پس به سوالات من جواب دهید تا به صورت تمام وقت و با روحیه تمام شروع به کار کنیم.
1. سی ++ بلد هستید.
2. زبان انگلیسی چقدر بلد هستید اگر هم کم بلد باشید کافیه چون با خوندن تنها 10 صفحه اول و یاد گرفتن لغاتش یهو همچین راه می افتید که باور هم نکنید.
3. دوست دارید DirectX رو یاد بگیرید یا OpenGL رو یا شاید هم اصلا بخواهید روی قسمت های دیگه کار کنید.

در مورد sf.net هم من هم با وصل شدن به پورت ssl یعنی https مشکل دارم ولی تو بقیه قسمت ها مشکلی ندارم وقتی هم که می خواهم از ssl برای ورود به سایت استفاده کنم از sepanta استفاده می کنم با اون دیگه کار می کنه.

اما سوال دومتون:
بله من چند مورد برتری تو سی++ دیدم که تو زبانهای دیگه ندیدم.
1. بودن منابع فراوان به این زبان برای ساخت بازی.
2. سرعت بالا.
3. کراس پلت فرم بودن.
4. می شه مستقیما از کدهای اسمبلی در اون استفاده کرد.

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

----------


## pooyanm

سلام و درود
خیلی ممنون دلیل اینکه کارتهای sepanta این مشکل را ندارن رو نمی دونید؟ یعنی ممکنه که با تنظیمات ISP حل بشه؟
راستش من شنیدم که مشکل ف*ی*ل*ت*رینگ این وضع رو بوجود آورده!
http://wiki.hezardastan.org/FilteredSites
من در مورد طراحی بازی و open GL و این زمینه ها چیز زیادی نمی دونم و تا الان هم فقط از امکانات عمومی vC++‎ یک مقدار استفاده کردم اگه با جاوا کار می کردید افتخار شاگردی نزد شما را پیدا می کردم که ظاهرا قسمت نبود.
براتون موفقیت روزافزون آرزو می کنم.

----------


## GrayFox.G

سلام من به شدت میخوام باهاتون همکاری کنم و اینها رو بلدم...
(OOP & Generic Programming)سی++، Assembly، OpenGL، Managed Direct3D

----------


## GrayFox.G

kochol، برای ساخت گیم انجین، من مدتهاست که دنبال کتاب Real Time Rendering هستم، این کتاب در این زمینه خیلی معروفه... ولی نتونستم گیرش بیارم، چی کار کنم؟

----------


## Mohammad_Mnt

اگر منظورتان این کتاب است من می توانم آن را تهیه کنم. البته حدود 50 مگابایت است :)
Real Time Rendering Tricks and Techniques in DirectX

----------


## kochol

سلام



> خیلی ممنون دلیل اینکه کارتهای sepanta این مشکل را ندارن رو نمی دونید؟ یعنی ممکنه که با تنظیمات ISP حل بشه؟


نه راستش نمی دونم و هیچ اطلاعی ندارم.




> سلام من فهام نگینی هستم و به شدت میخوام باهاتون همکاری کنم و اینها رو بلدم...
> (OOP & Generic Programming)سی++، Assembly، OpenGL، Managed Direct3D
> لطفا از طریق E-mail زیر بگین دقیقا باید چیکار بکنم.


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

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

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

اون کتاب رو هم من ندارم ولی احتمالا دلیل اینکه نمی تونید پیداش کنید اینه که هنوز به صورت ایبوک در نیومده مگر نه 3 سوت تو اینترنت پیدا می شد.

شاید بعدا که کار ساخت موتور را کمی پیشرفت دادیم و دیدم که این کتاب یا هر کتاب دیگری به دردمان می خورد با همدیگه پول جمع می کنیم و می خریمش من هم خیلی دوست دارم کتاب more opengl game programming رو داشته باشم و شاید هم بعدا خریدمش.

----------


## GrayFox.G

mohammad_mnt، منظورم اون کتاب نیست، منظورم دقیقا کتاب Real Time Rendering 2nd Edition - By Tomas Moller
kochol، البته، به نظر من دومی بهتره، شما بگید من از کجا شروع کنم و چطوری وارد دنیای انجین شما بشم. ظرف چند روز خودم رو آماده میکنم، البته من دانشجو ی رشته ی کامپیوتر نرم افزار هستم، و به همین دلیل در مورد زمان کمی محدودیت دارم، ولی نهایت سعیم رو میکنم.

----------


## kochol

GrayFox.G, سلام
باشه هر جور که شما راحت هستید ولی بگم که نمی شه با ایمیل کار کرد چون که تبادل نظر در اکثر موارد بین بیش از 2 نفر هست و جواب ها رو همه باید ببینند.

پس با ایمیل کار نمی کنیم.

اگر خواستید می تونم براتون مثال هم بزنم که چرا با ایمیل نمی شه؟

خوب من می تونم لیستی از کارهایی که قرار هست انجام بدیم رو بنویسم و شما یکی از اون ها رو انجام بدید البته این کارها در سایت http://www.irangamedev.com نوشته خواهد شد پس به عنوان اولین کار در این سایت عضو شوید.
به تاپیک آخرین اخبار KGE 0.0.4 رفته و اخرین کارهایی که انجام داده می شه رو ببینید و کارهایی هم که قرار هست انجام بدهیم رو تو یه تاپیک یا چندتا تاپیک می نویسیم.

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

خوب یکمی بیشتر راجع به خود موتور توضیح بدهم.

من از کامپایلر visual studio .net 2003 برای کامپایل اظافه می کنم ولی شما ها می تونید از ورژن های دیگری هم استفاده کنید.

خود انجین بصورت static library .lib کامپایل می شه که تست موتور در مراحل اولیه اسون باشه ولی به زودی به صورت dynamic library .dll در خواهد امد.

از API های زیر در آن استفاده می شه.
ِDirect3D برای گرافیک سه بعدی.
OpenGL برای گرافیک سه بعدی.
DevIL برای لود کردن انواع فرمت های عکس.

از API ها زیر هم استفاده خواهد شد.
OpenAL برای صداهای سه بعدی و کلا همه چی که به موزیک ربط داره.
+GTK برای ساختن editor برای ساخت بازی ها.

تمام کلاس ها و توابع انجین در فضای نامی به نام kge قرار دارند که کارهای مربوط به هر بخش در آنها اظافه می شود.
مثل kge::gfx برای گرافیک.

یک سیستم cvs هم موجود هست که بسیار می تونه کمکمون کنه اون هم به این صورت که تمام تغییرات همه فایلها و کدها رو نگه می داره و بسیار مفید هست مخصوصا وقتی که باگی بوجود بیاد و برای کار گروهی هم که معرکه هست.

خوب در آخر هم چند کاری که می خواهم انجام دهم رو می نویسم اگر شماها خواستید بسازید حتما هر سوالی بود از من راحت بپرسید.
1. اظافه کردن نور جهت دار Directional Light تو OpenGL
2. یک کلاس برای کار با String که Uni-Code هم اگه ساپورت کنه خوبه.

منتظر همکاریتون هستم.

----------


## Masoudxb

سلام خدمت دوستان عزیز...
منم تجربیاتی در رابطه با برنامه نویسی VC++‎ و DirectX  دارم... میتونین رو من هم حساب کنین.
فقط یه نظر:
من نظرم این هست که اگه از .NET استفاده نشه خیلی بهتره چون کلا .NET Frame Work مزیت که نداره هیچ کلی هم باعث کند شدن اجرای برنامه میشه ، این بخاطر کامپایل شدن برنامه نهایی به زبان میانی هست و کلی معایب دیگه...
البته این فقط نظر شخصی من بود. خلاصه من با تمام قوا در خدمتم.  :چشمک:

----------


## zanameriwani

> سلام
> من علی اکبر محمدی هستم.
> 21 سالم هست به ساخت بازی و بدست آوردن تکنولوژی ساخت بازی بسیار علاقه دارم از این رو اصلا قصد کار با موتور های اماده را ندارم حداقل تا وقتی که خودم اطلاعات کافی برای ساخت یک موتور معمولی را نداشته باشم.
> 
> در تهران زندگی می کنم.
> در حال حاظر هم دارم روی یک انجین سورس باز کار می کنم که هم با استفاده از Direct3D و هم OpenGL توانایی رندر را دارد که کدهای ان با ++C هست و در بعضی از موارد برای بالا بردن سرعت از اسمبلی هم استفاده شده هست.
> 
> دیزاین انجین طوری هست که اگر بخواهیم می تونیم اون رو کراس پلت فرم بسازیم ولی در حال حاضر بر روی ویندوز فقط کار می کند البته اگر هم نخواهیم هیچ وقت لازم نیست که یه پورت برای لینوکس هم بسازیم.
> 
> ...


من هم در خدمتم.سی پلاس پلاس رو خوب بلدم و در ضمن علاقه ی زیادی به برنامه نویسی دارم.در ضمن واسه موضوع بازی یه چند ایده ای دارم .نمی دونم الان بگم یا میل کنم واستون.
با من تماس بگیرید.

----------


## kochol

سلام



> منم تجربیاتی در رابطه با برنامه نویسی VC++‎ و DirectX دارم... میتونین رو من هم حساب کنین.


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

لطفا اگر واقعا قصد همکاری دارید اعلام هم کاری کنید نه برای بالا بردن تعداد پست هاتون.




> من نظرم این هست که اگه از .NET استفاده نشه خیلی بهتره چون کلا .NET Frame Work مزیت که نداره هیچ کلی هم باعث کند شدن اجرای برنامه میشه ، این بخاطر کامپایل شدن برنامه نهایی به زبان میانی هست و کلی معایب دیگه...


نه ما اصلا قصد استفاده از دات نت را نداریم مگر اینکه بخواهم با C++‎.Net یه پورت به دات نت برای انجین بسازیم.




> من هم در خدمتم.سی پلاس پلاس رو خوب بلدم و در ضمن علاقه ی زیادی به برنامه نویسی دارم.در ضمن واسه موضوع بازی یه چند ایده ای دارم .نمی دونم الان بگم یا میل کنم واستون.
> با من تماس بگیرید.


خوب هست ایده ات رو هم می تونی به صورت پیام شخصی برای من بفرستی. اگه الان بگی خیلی بهتره.

خلاصه اگر واقعا قصد هم کاری دارید بگید تا من بگم چی می خواهم.

----------


## pooyanm

> 2. یک کلاس برای کار با String که Uni-Code هم اگه ساپورت کنه خوبه.


سلام من توی سی++ تازه کارم شاید بد نباشه از این شروع کنم پس یک کلاس شبیه CString به علاوه تبدیلات به همه انواع رشته ای. دیگه چه امکاناتی باید اضافه بشه اگه یک نمونه ساده هم سراغ دارید که بشه کاملش کرد چه بهتر.

----------


## kochol

سلام
آها من دقیقا یکی رو می خواهم مثل شما باشه.
به نظر من بهترین روش همکاری با من همینی هست که نوشته اید.
من یه کلاس استرینگ کامل سراغ دارم حدود 30 کیلو بایت کد داره ولی نمی خوام از اون استفاده کنم.
چون حتی نوشتن یک کلاس ساده ی استرینگ می تونه آدمه کلی تو سی++ جلو بندازه و کلی چیزها آدم یاد می گیره.

من قبلا خودم سعی کردم یه دونه بنویسم که نشد این هم هدرش.
http://kge.cvs.sourceforge.net/kge/K....4&view=markup

1. برای این کار اول به نظر من از template کلاس ها استفاده کنیم.
2. از std::vector برای نگه داشتن کاراکتر ها استفاده کنیم.

خوب هم فکری خیلی چیز خوبی هست اگه هم دو مورد بالا رو بلد نیستی بهم بگو تا یادت بدم.

اگر کسی دوست داره با من همکاری کنه بدونه که خیلی به نفع خودش هست اول چون چیزهای خیلی زیادی از برنامه نویسی می تونه یاد بگیره.

----------


## pooyanm

سلام
اگه ممکنه اون 30 کیلوبایتی رو هم برام بفرستید تا بدونم در نهایت باید کار را به کجا برسونم خوشبختانه من الگوریتم تمام ساختارهای String جاوا را به علاوه OO و Syntax های پیشرفته می دونم ولی در این دو سه هفته آشنایی با vc تا الان وقت نکردم همه اینها را با vc تجربه کنم. این دو مورد را هم دقیقا نمی دونم چی هستن اگه وقت دارید یک توضیحی بدید و یا چند تا لینک بدید خودم می خونم انگلیسی هم باشه طوری نیست. دو مورد فوق را هم اینطور حدس می زنم:

1. اگه منظورتون الگوی متدها با پارامترها و مقدار بازگشتی باشه به عبارتی یک لیست از امکانات مورد نیاز. خوب می تونیم امکانات کلاسهای زیر را در چند سلسله مراتب قرار بدیم مثلا در بالای ساختار String در پایینتر StringBuilder و در آخر StringBuffer من با سورس همه اینها کار کردم و چون همه اینها روی یک آرایه کار می کنن در نهایت می شه در امتداد یک سلسله مراتب اونا را مرتب کرد. این هم توضیحات کامل امکانات این سه کلاس:
http://java.sun.com/j2se/1.5.0/docs/...ng/String.html
http://java.sun.com/j2se/1.5.0/docs/...ingBuffer.html
http://java.sun.com/j2se/1.5.0/docs/...ngBuilder.html

2. vector ی که من باهاش آشنا هستم یک کلاس برای افزودن امکانات بیشتر به آرایه هاست ولی یک آرایه کاراکتری سرعت بالاتری داره. شبیه همین تکه کد خودتون.

----------


## powerboy2988

https://barnamenevis.org/showthread.php?t=56189

----------


## kochol

سلام
1. با template ها می شه یه نوع داده ای را تعریف کرد که همه نوع داده را بگیرد و منظور من از استفاده از این تمپلیت ها برای این بود که یه وقت ما می خواهم از نوع داده ای char استفاده کنیم و یه بار دیگه از نوع داده ای tchar که فکر کنم برای استفاده از یونی کد ها باید از این نوع داده ای استفاده کنیم.

شاید بشه یه کلاس استرینگ برای char نوشت و یکی هم برای tchar که هر دو از یک کلاس استرینگ به ارث رفته باشند.

2. از وکتور هم برای استفاده از آرایه های داینامیک در سی++ استفاده می شه که خیلی به کارمون می یاد و فکر نکنم در بازی ها زیاد از استرینگ ها استفاده بشه به خاطر همین هم سرعتی که می گید زیاد نباید اذیتمون کنه.

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

----------


## kochol

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

----------


## pooyanm

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

----------


## kochol

من که موافقم.
این بچه های دیگه که اعلام همکاری کرده اند چی شدند پس.

----------


## prince-of-persia

سلام
من به تازگی کار با opengl رو شروع شروع کردم.
با C++‎ آشنایی خوبی دارم.و VC++‎ را هم شروع کردم.

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

کلا عشقم VR هست.و دوست دارم کارایی که چه الان و چه در آینده قراره انجام بدم تا اونجایی که ممکنه جزییات داشته باشند.

من آماده ام
Lets Go

----------


## kochol

خیلی خوبه.
باید یه تیم خوب تشکیل بدیم.
فعلا مشکلی که هست اینه که تو OpenGL نور ها با ماتریس GL_MODELVIEW مکانشون عوض می شه برای اینکه این اتفاق نیافته باید چی کار کرد.
آیا شما می تونید این باگ را رفع کنید.

البته اگر هم نمی توانید مشکلی نیست چون در نسخه های بعد کلا رندر ها با شیدرها می شود و از شر این DirectX و OpenGL کلی راحت می شیم.

----------


## prince-of-persia

بابا ما تازه کاریم.
تو رو خدا یکم وقت بده من کلا 6 روزم نیست دارم کار می کنم.
GL_MODELVIEW مثل همون gluLookAt هست ؟

----------


## ab_ba

سلام
یک پروژه ساده مثل حرکت یک توپ تعریف بشه و بعد اصول گفته بشه

----------


## shobair

سلام

نمیخوام ازتون ایراد بگیرم یا ناامیدتون کنم، ولی این راهش نیست.

اولاً تولید یک بازی فقط به برنامه نویسی وابسته نیست. شاید مهمترین چیزی که میشه بیان کرد یک سناریوی بازی هستش. گرافیست، متخصص صدا، متخصص ویندوز، متخصص texture و چندین تخصص دیگه...

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

شبیر

----------


## prince-of-persia

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

----------


## kochol

سلام



> GL_MODELVIEW مثل همون gluLookAt هست ؟


در این مقاله ای که نوشتم می تونی یه دید خوب نسبت به دوربین ها بدست بیاری و تا حدودی از ساختارشون سر در بیاری البته کامل ننوشتمش.
http://wiki.irangamedev.com/index.ph...A8%DB%8C%D9%86





> یک پروژه ساده مثل حرکت یک توپ تعریف بشه و بعد اصول گفته بشه


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

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

خیلی ممنون از پیشنهادتون واقعا کار آمد هست.





> اولاً تولید یک بازی فقط به برنامه نویسی وابسته نیست. شاید مهمترین چیزی که میشه بیان کرد یک سناریوی بازی هستش. گرافیست، متخصص صدا، متخصص ویندوز، متخصص texture و چندین تخصص دیگه...


من یه چیزی به شما می گم نمی دونم با حرف من چقدر موافق هستید افرادی با تخصص های بالا که شما نام بردید تا از ما برنامه نویسان چیز خاصی نبینند و نبییند که ما می تونیم یا نه حاضر به همکاری نمی شند که به نظر من هم حق دارند و اگر هم خیلی دیگه دلشون بخواد بازی بسازن می رن سراغ موتور های آماده.




> دوماً اگر فقط میخواین روی برنامه نویسی کار کنید، اینکه از اول برین سراغ توابع OpenGL و DirectX یک کمی عجله بحساب میاد! این کار نیاز به مهندسی نرم افزار داره. نمیشه بدون تحلیل و طراحی خیلی پیش رفت.


ببخشید پس ما باید اول چه چیزی رو قبل از DirectX یا OpenGL یاد بگیریم اگه توضح دهید ممنون می شم.

----------


## shobair

> سلام
> 
> من یه چیزی به شما می گم نمی دونم با حرف من چقدر موافق هستید افرادی با تخصص های بالا که شما نام بردید تا از ما برنامه نویسان چیز خاصی نبینند و نبییند که ما می تونیم یا نه حاضر به همکاری نمی شند که به نظر من هم حق دارند و اگر هم خیلی دیگه دلشون بخواد بازی بسازن می رن سراغ موتور های آماده.
> 
> 
> ببخشید پس ما باید اول چه چیزی رو قبل از DirectX یا OpenGL یاد بگیریم اگه توضح دهید ممنون می شم.


سلام

چرا فکر میکنید ساختن بازی با موتور آماده کار راحتی هستش؟؟؟ مگه موتور بازی کار خاصی برای ایجاد بازی انجام میده؟ بغیر از اینکه دستورات ریز و ساختاری DirectX یا OpenGL برای کار روی polygon رو برای برنامه نویس تبدیل به دستورات بزرگتر و کلی تر برای کار با اشیاء میکنه؟ شما که خودت انجین داری که میدونی. برای نوشتن بازی اولین قدمها استفاده از انجین آماده هستش. وقتی بتونی از انجین آماده استفاده کنی، میتونی بفهمی چه چیزهایی احتیاج داشتی و انجین اونها رو نداشته یا کامل نبوده. ما از Morfit و 3DState استفاده کردیم. اگر قرار بود از اول بریم سراغ DirectX به هیچ نتیجه ای نمی رسیدیم. الان هم خودمون رفتیم سراغ نوشتن یک انجین. به نظر من روی یک انجین آماده کار کنید. بازی نوشتن و بازی درست کردن رو یاد بگیرید، زمانی که کارتون خوب شد برین سراغ نوشتن انجین برای بازی خودتون.

شبیر

----------


## kochol

سلام

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

----------


## mehdi_RM

سلام
کار این گروه به کجا کشید؟!!!!!!!!!!! 
من C++‎ بلدم 
برنامه نویسی هم خوبه
ولی تو مبحث ساخت بازی وارد نشده بودم قبلاً
دوست دارم با هم کار کنیم

منتظر جواب شما هستم kochol آقا

----------


## kochol

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

----------


## mehdi_RM

یه ایمیلی یه چیزی به من می دید ؟؟؟؟؟؟؟؟؟؟؟؟؟

----------


## kochol

kocholsoft@yahoo.com

----------


## توسعه نویس

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

در ضمن این سایت IranGameDev.com به نظر میرسه با چیزایی که شما گفتید خیلی متفاوته. تعطیل شده ؟

----------


## kochol

سلام
اولا سایت که دومینش عوض شده http://gamedev.ir بعد هم ما یه مدت فعالیت می کنیم و بی پول می شیم مجبور می شیم یه 4 یا 5 ماه بریم دنبال کار.
ولی که الان دوباره موقع کار هست و من سعی می کنم حداقل روزی یک ساعت کار کنم و در روز هایی که سرم باز تر باشه تا 8 ساعت هم کار می کنم و گروه خودم هم دارم کم کم تشکیل می دم که همه برنامه نویس هستند که می خواهیم به عنوان کار این بار به پروژه انجینمون نگاه کنیم.

----------


## PiYaZe ShIrIn

همکاری من را بپذیرید .
یک پیشنهاد : فکر می کنم اگر در کنفرانس یاهو کار کنیم بهتر باشد
به من بگید چیکار کنم

----------


## lord_akinak

من با C++‎ آشنایی دارم، ولی همیشه با جاوا بازی نوشتم...
ممکنه نتونم تو Cpp زیاد کمک کنم ولی الگوریتم های خوبی رو می شناسم و ایده هام هم خوب هستم ( تعریف از خود بود!! )
ممکنه من هم تو گروهتون باشم؟. دوست دارم بیشتر با حرفه ای ها باشم تا بیشتر یاد بگیرم...
اگه قبولم می کنید بگید چی کار کنم؟

----------


## jafary2007

سلام من طاهره جعفری هستم  . علاقه مند برای انجام این کار لطفا از طریق میل زیر طریقه انجام کار را بگید.راستی من C++‎ کار کردم.با تشکر
tj_652000

----------

