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

## Mohammad_Mnt

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

----------


## sayana

یه کتابی هست که اسمش دقیقا یادم نیست  :wink:  ولی فکر می کنم راهنمای نوشتن برنامه بازی ها ( یا یه همچین چیزی ...) پیش نیاز کتاب هم دونستن پاسکال و c بود

----------


## nastooh_t

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

البته اون کتاب تاکید زیادی بر سی پلاس پلاس داره و تقریبا تمام مثالهاش با سی پلاس پلاسه.

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

----------


## Mohammad_Mnt

من هم کتابش رو دارم ! چیز مزخرفیه !
راستی آقای وحید نصیری ( عضو همین سایت ) یه سی دی دارند که مخصوص OpenGL  هست . من گرفتم و چیز خیلی خوبیه !  8)

----------


## Inprise

دوستان عزیز . برای طراحی بازی روشهای متعددی وجود داره

الف) استفاده از توابع کتابخانه ای همراه زبانهای برنامه نویسی جهت ایجاد کاراکترهای گرافیکی و منطق بازی . ( به عنوام مثال استفاده از زبان سی و یکی از کامپایلرهای مناسب مثل کامپایلر رایگان بورلند )

ب) استفاده از کتابخانه های سرعتبخش موجود برای استفاده در زبانهای برنامه نویسی . مثل  openGl  یا  directX و کاربرد اون در دلفی یا ویژوال سی .

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

----------

با سلام

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

برای کارهای گرافیکی می تونی از Open gl و همچنین Direct3D که یکی از مولفه های DirectX است استفاده کنی. در قسمت مقاله های سایت آقای حامد بنایی که لینکش در صفحه اول سایت برنامه نویس هست راجع به DirectX مقالاتی قرار داده شده است. بهتر است DirectX SDK را از سایت مایکروسافت بلند کنی.
برای کارهای صوتی مولفه های DirectSound و DirectMusic از DirectX می تونند کارتو راه بندازند.

برای کارهای مدل سازی 3D studio max و همچنین ابزارهای ساده تری که می تونی تو اینترنت پیدا کنی استفاده کنی.

برای طرح ریزی بازی هم باید از نبوغ و استعداد خودت استفاده کنی. البته تجربه هم مهم است ولی کتاب Art Of Computer Game Design هم می تونه در این زمینه کمکت کنه. نسخه الکترونیکیش رو رو کامپیوترم دارم خواستی برات میفرستم.

سایت www.gamedev.net اطلاعات فوق العاده ای در تمام زمینه های فوق در اختیارتون می ذاره. حتما به این سایت سر بزنید.
کتاب Programming Windows نوشته Charles Petzold رو حتما بخون. این کتاب مباحث فصل اول کتاب داریوش فرسایی رو به طور کامل و با بیان شیوا یاد می دهد.[/quote]

----------


## Farhad.B.S

سلام.
اگه میشه یه کم در مورد طراحی بازی ها با DirectX بیشتر توضیح بدید ...
مثلا چطور آیا این امکان وجود داره که یه شخصیتی رو که تو یه محیط مثل 3dMax ساخته شده رو به بازی import کرد و بعد با دستورات DirectX مثلا اون رو حرکت داد ؟
ممنون.

----------


## Vahid_Nasiri

من با direct-x کار نکردم ولی در OpenGL شما با استفاده از کتابخانه های کمکی که برای ایمپورت کردن انواع واقسام فایلها وجود دارد می توانید فایل را خوانده و سپس با آن مانند سایر اشیای موجود در OpenGL برخورد کنید. یعنی خیلی ساده شکلی را که از هزاران راس تشکیل شده را در کسری از ثانیه می توانید حرکت و یا دوران دهید . ساده تر از آن چیزی که فکر می کنید. بسیار جذاب است البته برای اهلش !!  :wink:

----------

مسلما با DirectX هم میشود فایلهای ماکس رو باز کرد.(البته فکر کنم اول باید با یه برنامه ای فرمت اون رو به فرمت مناسب تغییر داد.)
و یه مطلب دیگر اینکه OpenGL بچه بازیه و بدرد نوشتن بازی کامپیوتری سه بعدی درست و حسابی نمی خورد. فقط برای شروع خوب است(چون ساده تره)
در ضمن DirectX درسته نه direct-x.

----------


## Anti_Evil

منابع فارسی رو ول کن اصلا به درد نمیخوره  :twisted: 
دیدم یکی از بروبچ سایت www.gamedev.net رو معرفی کرده. آره اون چیزه خوبیه البته بگزریم که الان اکثر member هاشون مسخره بازی شدن ولی حتما یه سر به articles بزن.

regards,

----------


## Anti_Evil

آقا شرمنده من دوباره اومدم.
الان داشتم جوابهای بعضیارو میخوندم که آدم واقعا تو فکر فرو میره  :shock: 
در جواب مهمان عزیز باید بگم sorry
 :oops: 
ولی همونطور که مستحزر هستین بسیاری از game های جدید و قدیم با opengl نوشته شدن.
اصلا حال و حوصله ی توضیح دادن ندارم چون فکر میکنم به اندازه کافی تو internet مطلب باشه.
(اینم خودش جزوه مجهولاته که من الان دارم reply میزنم اصلا سابقه نداشته)
خلاصه یه search کوچیک بفرمایید  :wink: 
منم که الان با directx مینیویسم اغفال شده بیدم  :wink: 
(پیغامم تو forum هستش)

در رابطه با سوال آقای قرهادخان (به این میگن سوال  :D )
خدمتتون ارض کنم سعی میشه در بازی های 3d از این فرمت استفاده نشه.
قضیه کاملا روشن هستش چون این فرمت بیش از حد خوبه  :) 
منظورم اینه که feature هایی که این فرمت در اختیار programmer میزاره بیش از حد مورد نیاز هستش.
اجازه بدید من کلام رو کوتاه کنم. فقط میخوام برای راهانمایی بیشتر در مورد فرمت های فایل های 3d models یه فرمت رو معرفی کنم.
فرمت MD3 or MD2
این فرمت چند سال پیش توسط شرکت Id software طراحی شد و بعدا open source  شد.
این فرمت ها از اون جهت خوبن چون optimized شده برای game هستش.
سورس کامل این فرمت به منظور loading and rendering به دو شیوه ی opengl and direct نوشته شده.
فرهادجان باور مطالب خیلی زیاد هست  :( 
ولی یه search کوچیک روی فرمت های پایین بکن  :wink: 
X-File, MD2, MD3, BSP and many other

یه نگاه هم به gamedev.net بنداز.

آقا در ضمن شرمنده از اشتباهات املایی.

----------


## Vahid_Nasiri

> مسلما با DirectX هم میشود فایلهای ماکس رو باز کرد.(البته فکر کنم اول باید با یه برنامه ای فرمت اون رو به فرمت مناسب تغییر داد.)
> و یه مطلب دیگر اینکه OpenGL بچه بازیه و بدرد نوشتن بازی کامپیوتری سه بعدی درست و حسابی نمی خورد. فقط برای شروع خوب است(چون ساده تره)
> در ضمن DirectX درسته نه direct-x.


برادر!
اول اسمتان را بفرمایید تا بیشتر آشنا شویم
ثانیا آیا اسم بازی quake به گوش جنابعالی خورده است ؟ می دانید با استفاده از چه 3d api ایی آنرا نوشته اند و .....

در ضمن در مورد مقایسه OpenGL و Direct-x  اگر لازم شد و خواستید می توانم مفصل توضیح دهم . 
برای مثال  ( توانایی های OpenGL )
1- تحت تمام سیستم عامل های گرافیکی یک نسخه از آن وجود دارد
2- سادگی یادگیری
3- کدهایی به مراتب ساده تر و کوتاه تر و موثر تر از دایرکت ایکس
4- فقط یک کار را انجام می دهد و آنرا هم به نحو احسن ....
5- در مورد شرکت silicon graphics خالق آن می توانید بیشتر تحقیق کنید
6- توسعه استانداردهای تری دی سخت افزاری آن توسط شرکت خالق صورت نمی گیرد و تمام شرکتهای توسعه دهنده در این راه فعالیت دارند ( برخلاف دایرکت ایکس )
7- مراجع مطالعاتی بسیار زیاد و غیر قابل تصوری از آن وجود دارند
8- آنقدر سورس حاضر و آماده از آن وجود دارد که حتی فکرش را هم نمی توانید بکنید و در ضمن بسیار ساده و سر راست و همه فهم و از همه مهمتر بسیار 
حرفه ای
9- حجم آن در مقایسه با دایرکت ایکس اصلا قابل مقایسه نیست ( حدود یک و نیم مگ و این همه توانایی )
10- برخلاف دایرکت ایکس که روی ویندوزهای ان تی لنگ می زند OpenGL بهترین کارآیی خودش را روی ان تی اراپه می دهد .....

بسه فعلا!
شب بخیر!  :twisted:

----------


## Voldemort

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

----------


## Vahid_Nasiri

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

----------


## Anti_Evil

به نظرم این سوال جواب ها لازمه.
امکان داره بعضی ها به قول آقا وحید اصلا یه خط سورس هم ننوشته باشند و بعضی ها هم اشتباه برداشت کرده باشند.
من خودم یادمه یه سال پیش همچین سوالی رو تو یکی از سایت ها پرسیده بودم  :roll: 
طبیعی بود چون تا اون موقع تجربه ای تو این زمینه نداشتم.
ولی خلاصه all questions are welcome
در مورد منابع. من هنوز روی منابع خارجی تاکید دارم   :wink: 

راستی یه خبر خوب برای علاقه مندان به game  
 انشاالله تا چند وقت دیگه میخوایم یه گروه برای درست کردن game راه بندازیم
 :wink: 

بعدا خودم خبرتون میکنم.

----------


## کپک

با سلام

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

راستی اگه یه زمانی کسی بطور جدی خواست بازی بنوسه. حتما ما رو هم در جریان بگذاره(kapakak@yahoo.com). من مفته براش کار می کنم.

ما رفتیم و حالا حالا دیگه مزاحم نوشیم
[/code]

----------


## Vahid_Nasiri

نظرات احساسی شما و ما را به جایی نمی رساند.
در ضمن سورس این بازی معروف را من دارم و دقیقا از opengl استفاده کرده.

----------


## Anti_Evil

سلام  :) 

به طور کلی سوال و جواب های مربوط به مقوله game به جر و بحث کشیده میشه ... حتی در forum های سایت های خارجی هم اینگونه هستش.
ولی در مورد سوال ایجاد شده باید بگویم که واقعا دلیلی نداره که اینجوری بشه  :wink: 

به هر حال ...
Quake به وسیله nvidia opengl نوشته شده.
که در حقیقت همون opengl پدر هستش به عبارتی custumize opengl هستش  :) 

علاقه مندان میتونن سورس رو از اینجا download کنن:
http://www.idsoftware.com/business/home/techdownloads

از این آدرس میتونین سورس مربوط به doom, quake 3 و ... رو download کنین.
در مورد ایجاد game بعدا توضیح میدم  :D

----------


## مهدی کرامتی

در مورد عنوان مطلب باید بگم بهتره دنبال منبع فارسی نگردید. چون یا نیست، یا اگه باشه آنقدر بد ترجمه شده که بدرد نخوره.
اما طی تحقیقات سالهای گذشته من، 2 جور بیشتر نمی‌توانید بازی بنویسید.

1- نوشتن همه چیز از ابتدا (البته استفاده از کامپایلرهای خانواده C توسط اینکاره‌ها بشدت توصیه می‌شود).
2- استفاده از ابزارهای آماده بازی سازی مانند 3d Game Studio

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

----------


## Gladiator

سلام

میشه در مورد 3D Game Studio توضیح بدی ؟

ممنون میشم .

----------


## Anti_Evil

سلام خدمت آقایون علما (و خانومای عزیز  :oops:)

من چند شب نتونستم بیام  :( 
تو این شرکت مزخرف دهن آدمو سرویس میکنن.
قرار بود یه برنامه برای فرستادن fax بنویسم که الحمدالله تموم شد  :wink: 

خووووووب من دوباره خودمو انداختم وسط تا چرت و پرت بنویسم so sorry
 :roll: 




> نوشتن همه چیز از ابتدا (البته استفاده از کامپایلرهای خانواده C توسط اینکاره‌ها بشدت توصیه می‌شود):idea:


خدمت delphi عزیز عرض کنم که در حقیقت opengl , directx تمام موارد مورد نیاز را برای ایجاد game در نظر گرفته اند. از توابع 3d math گرفته تااااا rendering, ... بنا براین به نظر من ایجاد یک library برای تهیه game از ابتدا مقرون به صرفه نیست.




> میشه در مورد 3D Game Studio توضیح بدی ؟:idea:


ابزارهایی مثل 3d game studio, unwrap3d, power render , ... در حقیقت engine هایی هستن که توسط opengl یا directx نوشته شده اند و در بسیاری از موارد open source هم شده اند.
برای آگاهی عموم بگم که تمام شرکتهای بازی سازی ابزارهای خاص خود را ایجاد میکنن.
ولی به هر حال استفاده از engine های آماده نیز هم صفای خاص خود دارد 
 :twisted: 

البته ببخشید سوال شما بیشتر در مورد خود game studio بود.
این package اصولا برای ایجاد فضاهای 3d به کار میره. البته فضاهای ایجاد شده بوسیله خود engine میتونن render بشن.
هیچ خبری از AI در این package نیست  :evil: 

نظر AntiEvil چیه ؟؟؟؟
برنامه نویسای محترم تنبلی رو کنار گذاشته بشینین بین OpenGL, DirectX یکی رو انتخاب کرده و شروع کنین.  :D 

راستی delphi جان ممنون از اعلام حمایت شما  :wink:

----------


## Mohammad_Mnt

کسیدر این مورد E-Book نداره ؟ من از همون اولی که کامپیوتر را یاد می گرفتم در آرزوی تولید بازی بودم  :? 
راستی این بازی های فارسی را ( مثل علی بابا و 40 دزد بغداد یا رستم دستان ) را کیا نوشن ؟ چه طوری میشه سورس این بازی ها یا ابزارهاش رو به دست آورد ؟

----------

> نظرات احساسی شما و ما را به جایی نمی رساند.
> در ضمن سورس این بازی معروف را من دارم و دقیقا از opengl استفاده کرده.


من قرار نیست به جایی برسم. پس همون بهتر احساسی برخورد کنم.


من فکر می کنم که بهتره شروع کنیم.

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

با عرض معذرت از اینکه خوب نمی تونم توضیح بدهم می دونم که چون مشابه این بازی ها رو قبلا به احتمال زیاد دیده اید. میدونید این بازیها چطوری هستند.

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

همچنین فکر می کنم دایرکت ایکس و اپن جی ال هر دو جواب کار مارو می دهند واز اونجایی که فکر می کنم اوپن جی ال ساده تره من اوپن جی ال رو پیشنهاد می کنم.



[/code]

----------


## مهدی کرامتی

> کسی در این مورد E-Book نداره ؟


من دارم. البته بیشتر  برای <span dir=LTR>C++‎</span>  است اما یکی‌اش هم هست بنام Delphi Graphics & Game Programming. اگه میخواهید اینا رو داشته باشید‌ یک آدرس FTP درست و حسابی به من بدید تا براتون upload کنم.

----------


## Gladiator

سلام دلفی اسیستنت عزیز

نمیشه توی Yahoo Briefcase بفرستی ؟

----------


## مهدی کرامتی

آخه سایز فایل چند مگابایت میشه. Yahoo هم که مثل ftp امکان resume نداره.

----------


## Mohammad_Mnt

FTP Server آقای افشین پور که هست  8) چرا از اون استفاده نمی کنین  :shock:

----------


## Inprise

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

ب) برای استفاده از  OPENGL توصیه میکنم کتابی تحت عنوان RedBook رو تهیه کنید ، فکر میکنم وحید نصیری داره . در محیط ویندوز به نظر من تفاوت چندانی در کیفیت کار کامپایلرهای دلفی یا ویژوال سی نیست اما برای محیط لینوکس قویا" ، استفاده از یک محیط توسعه مبتنی بر QT رو توصیه میکنم .

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

د) تصور میکنم با وجود توانائی های بالای OG ، با توجه به اپیدمی دات نت و همچنین گسترش آینده آن روی محیطهای مختلف ، سرعت نسبتا بالای Managed Execution و ... آینده Game Prohramming هم به آینده دات نت پیوند خورده باشد ! به دوستان تازه کار OPENGL را توصیه نمیکنم .

ه) هر چند صرف وقت و هزینه برای لذت بردن از زندگی ، قابل تخطئه نیست اما عاقل آن است که بتواند ضمن اینکه از زندگیش لذت میبره ، چند دلاری هم به جیب بزنه ! تصور نمیکنم از رهگذر Game Programming ، برای شما ، همکنون ، در ایران ، این ایده تحقق پیدا کنه . خود دانید !!  :roll: 

موفق باشید

----------


## Anti_Evil

> د) تصور میکنم با وجود توانائی های بالای OG ، با توجه به اپیدمی دات نت و همچنین گسترش آینده آن روی محیطهای مختلف ، سرعت نسبتا بالای Managed Execution و ... آینده Game Prohramming هم به آینده دات نت پیوند خورده باشد ! به دوستان تازه کار OPENGL را توصیه نمیکنم .
> 
> ه) هر چند صرف وقت و هزینه برای لذت بردن از زندگی ، قابل تخطئه نیست اما عاقل آن است که بتواند ضمن اینکه از زندگیش لذت میبره ، چند دلاری هم به جیب بزنه ! تصور نمیکنم از رهگذر Game Programming ، برای شما ، همکنون ، در ایران ، این ایده تحقق پیدا کنه . خود دانید !!  :roll: 
> 
> موفق باشید


سلام.
فقط میونه کلامتون  :wink: 
قابل ذکره که بگم اون موردی که شما اشاره کردی از همین الان شروع شده  :D 
منظورم game programming و managed code هستش.
خدمت DirectX کارهای محترم بگم که DirectX 9.0 قابلیت نوشته شدن با managed code رو هم داره.
در حقیقت game programmer های عزیز بجای استفاده از COM interfaces هایی که directx در نسخه های قدیمی خود عرضه میکرد ایندفعه میتونن از interface ها و namespace هایی که توسط managed code نوشته شدن استفاده کنن. یعنی به طور کلی برای net platform. میتونن عین هلو برنامه بنویسن   :) 
البته توجه داشته باشین که این به آن معنا نیست که COM منسوخ شده باشه 

در مورد game developing و تجارت !!!
عجب بحث جالبی شد خیلی حال کردم  :wink: 
منم با Inprise عزیز هم عقیده ام. منظورم اینه که آدم باید هم به فکر جیب باشه و هم ...
و این دقیقا کاریه که من میکنم ... فکر نمیکنم یه علاقه مند به game راه حل دیگری هم داشته باشه. من خودم تو یه شرکت نرم افزاری کار میکنم ... شاید تقریبا کاری که همه programmer ها تو شرکت میکنن  :wink: 
نوشتن enterprise applications ... نوشتن برنامه های database, network و ... دقیقا کاری که همه میکنن ولی همیشه وقت قابل توجهی رو برای game میزارم.
هم برای تنوع و برای تجارت !!!!!!  :D 
 :shock: 
اینجوری نگام نکنین  :roll: 
ولی راست میگم ... فکر نمیکنم هیچ کدوم از ما در حال حاضر تو سطحی باشیم که بخواهیم با اونا رقابت کنیم !
استغقرالله !!!  :oops: 

ولی یه نگاه به سازمان های دولتی خودمون بکنین !
یادمه یکی از دوستام یه demo از کارش برد دفتر کانون فکری نوجوانان !
برام تعریف کرد که اونا و 100 تا از سازمان های دیگه (‌ حتی حوزه علمیه قم ) دنبال نوشتن game هستن.
فقط دقت کنید !!!‌ خوبه خوب دقت کنید.
بهم گفت تنها مشکلی که بود اونا گفتن ما هزینه ای برای تهیه game در طول ساخت game به شما نمیدیم ولی پس از ساخت game حاضر به پرداخت تمامی مبالغ شدن.
در صورت تفاوق دوستم حتی اونا حاضر با بستن قرارداد هم بودن !
خلاصه اینجوریااااست ...

ولی دوباره تکرار میکنم ... یدفعه خدایی نکرده قات نزنید برید از شغلی اصلی خودتون بزنید.
اون واجب تر بید ...  :roll: 

در ضمن از mail هایی که فرستادین ممنونم  :) 
شرمنده کردین  :wink: 
بعضی از بچه ها در مورد nvidia cg language پرسیدن. البته من فکر کنم خود nvidia خیلی بهتر توضیح داده ... ولی چشم اگه مشکلی داشتین بعدا یه topic براش میزارم  :wink: 

regards,

----------


## masood2000

با سلام خدمت همه علما مخصوصا آقای نصیری
من دنبال یه برنامه ام کا برام فایلهای md2  یا  smd بسازه.
برنامه milk shape 3d رو امتحان کردم ولی کار باهاش خیلی سخته.
لطفا اگه کسی میدونه به من هم بگه

مخلص  همه OpenGL کار ها

----------


## Anti_Evil

سلام.
میخواستم ببینم وضعیت FTP چی شد ؟
upload کردین یا نه ؟

اگه خبری شد من رو هم در جریان بزارید.
( چه کنیم منم طلبه ogl شدم  :wink:  )

regards,

----------


## seyedof

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

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

بازی DOOM  نسخه جدیدش که هنوز وارد بازار نشده ولی یک نسخه دموی اوون به صورت غیر قانونی روی اینترنت وجود داره که شامل سه مرحله و بدون اینترفیس است. John Carmack
و شرکت Id Software هم برخلاف بازیهای قبلی که نوشته اند از این به بعد با DirectX کار میکنند.

برای اجرای Doom3 شما باید dx9 رو نصب کنید ولی کارت گرافیک شما هم باید از dx9 پشتیبانی کنه. در حال حاضر فقط کارت گرافیکی ATI Radeon 9700  به طور مناسب از dx9 پیروی میکنه و میشه بازی doom3 رو روی اوون اجرا کرد. GeForce FX هم گفته شده که از dx9  پشتیبانی میکنه اما من آزمایش نکردم که آیا دووم 3 روش اجرا میشه یا نه. 
راستی حجم این دمو چیزی حدود 300 مگابایت است.

در مورد خودم هم توضیحی میدهم. من از قدیمیترین برنامه نویسان بازی در ایران هستم و تقریبا میشه گفت بیشتر افراد و شرکتهایی رو که در این زمینه در ایران کار کرده اند رو میشناسم. در ضمن اگر حمل بر خودستایی نشه همیشه در زمینه گرافیک سه بعدی و برنامه نویسی بازیها در ایران پیشرو بوده ام و اولی engine های ایرانی رو تحت داس و زمانی که برنامه نویسی بازی تحت ویندوز و کتابخانه هایی مثل DirectX نبود نوشته ام. برنامه های سه بعدی هم تحت داس و ویندوز نوشته ام که بدون استفاده از dx کار میکنند. به اینکار اصطلاحا Software Rendering  گفته میشود.

در مورد دوستانی هم که درباره تولید بازی در ایران و سابقه اوون مطالبی رو عنوان کرده اند، من در یک سری مقاله در مجله دنیای کامپیوتر و ارتباطات بطور مفصل این موضوع رو بررسی کردم و در این مقالات تعداد زیادی عکس از بازیهای مختلف تولید شده در ایران رو هم قرار دادم. این مقالات رو به فرمت pdf  میتوانید از سایت مجله در این آدرس دریافت و مطالعه کنید :

http://www.ccwmagazine.com

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

راستی دوستی که در مورد شرایط تولید بازی و صحبتهایی که در مورد قرار داد بستن به صورت پرداخت پول در آخر پروژه و پس از اتمام کار کرده بودند، من حاضر هستم به دلیل دارا بودن شرایط مالی معقول این کار رو بکنم!‌ 

کتاب Teach Yourself DirectX Programming in 21Days  رو به فرمت الکترونیک دارم و اگر دوستان نیاز دارند براشون روی یک سایت میگذارم تادریافت کنند.

--علی سیداف

----------


## Anti_Evil

:D   :D   :D   :D

به به سلام آقای سیدف !!!!!!!  :D 
حال شما ؟!!!!
آقا عجب دنیای کوچیکیه  :wink: 
منو خاطرتون هست ؟ 
هادی هستم ... امیدوارم که یادتون باشه  :wink:  
راستی چند دفعه mail زدم خدمتتون ... mail address عوض شده ؟

خلاصه اینکه باعث افتخار سایت هستش وجود شما  :)  
من سعی میکنم تو این روزها حتما باهاتون تماس داشته باشم.

best regards for you !

----------


## Mohammad_Mnt

آقای سیدوف سلام ! خیلی خوشحال شدم به این سایت اومدین . من به تجربه افرادی مثل شما احتیاج داریم . من خیلی به بازی نویسی علاقه دارم ولی تا حالا بازی درست و حسابی ننوشتم و حالا هم دارم OPEN GL رو یاد می گیرم . به نظر شما ادامه بدم یا نه ؟

----------


## Anti_Evil

فکر کنم علی آقا بیشتر رو directx تاکید داشتند.

----------

سلام:)
خوبی آقا هادی؟‌ نه من نامه ای دریافت نکردم از شما! تماس بگیر آقا در خدمت هستم.
آدرس ایمیل من seyedof@yahoo.com است.

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

----------


## Anti_Evil

> من خیلی به بازی نویسی علاقه دارم ولی تا حالا بازی درست و حسابی ننوشتم و حالا هم دارم OPEN GL رو یاد می گیرم . به نظر شما ادامه بدم یا نه ؟


در این موقعیت زمانی فرصت دارم تا نکاتی درباره انتخاب graphic library های موجود صحبت کنم.

OpenGL جزو قدیمی ترین graphic library ها بوده. اصلا اون GL که میگیم منظور همون graphic library هستش.  :wink: 

قابلیت ها:
1 - نرم افزارهای ایجاد شده با ogl قابل اجرا بر بسیاری از سیستم عامل ها هستند.
X-Windows, MS Windows, FreeBSD, Linux, Unix, etc.
در حالی که Direct3d تنها قابل اجرا بر سیستم عامل های MS Windows هستند.

2- فرامین ogl به صورت functions and structures هستند. ogl به وسیله C نوشته شده.
نتیجه گیری مهم:
به خاطر همین یادگیری ogl بسیار بسیار بسیار ساده تر از d3d هستش.
یه تجربه شخصی هم برات تعریف کنم  :wink: 
اولین دفعه که میخواستم با ogl کار کنم. یه help باز کردم به خوندن ... فکر کنم 5 دقیقه طول نکشید که یه کار کوچک آماده شد.

3- engine های بسیار زیادی به صورت free برای ogl وجود دارد. به جرات میتونم بگم 100 برابر d3d.

4- اصطلاحا کدهای نوشته شده با اوپن جی ال Clean Code هستند. ( بخاطر functionality بودن ogl )

مشکلات:
1- updatable نبودن ogl ... با گذشت سالهای طولانی جالب است بدانید که آخرین version طراحی شده برای MS Windows اوپن جی ال 1.2 میباشد. و این ابدا تماما به خاطر قدرت ogl نیست.


و اما direct3d !!!
این graphic library توسط microsoft و در ابتدا برای win95 طراحی شد.
direct3d در یک کلام امروزه تمام قابلیت های ogl را پشتیبانی میکند.

مزیت ها:
1- سازگاری کامل در سیستم عامل های windows
2- updatable بودن directx ... به صورتی که تقریبا هر سال یکبار این عمل صورت میگیرد.
3- directx مجموعه ای از ابزارهای بسیار عالی برای game programmers هستش.
DirectSound, DirectMusic, Direct3d, etc
بنابراین directx تک منظوره نیست.
4- direct3d بر اساس interface ها و COM object ها کار میکند. direct3d به وسیله ++C نوشته شده.

مشکلات:
1- اغلب یادگیری COM و استفاده اون برای programmers مشکل هستش. 
2- فقط روی windows اجرا میشه  :oops: 

خوب این یه overview بود بر هر دوی engine ها.

نکته: تقریبا 90% game player ها علاقه به استفاده windows دارند.

تجربه AntiEvil:
من خودم engine که نوشتم به وسیله D3D 8.1 هستش.
و واقعا به direct3d's structure ایمان دارم.
اگه Game News Topic رو پی گیری کرده باشی میخواستم engine رو ببرم رو ogl ولی نشد.
حالا بگذریم ولی بیشتر قضیه مشکل زمانی بود.

نتیجه گیری AntiEvil:
هر دوی این graphic library ها قوی هستن. اینو مطمئن باش که اگر تو هر کدوم از این زمینه ها کار کنی برد کردی  :wink: 

راستی در آخر FAQ در این زمینه:

http://www.xmission.com/~legalize/d3d-vs-opengl.html
http://gamedev.net/community/forums/...sp?forum_id=10

----------


## Anti_Evil

> سلام:)
> خوبی آقا هادی؟‌ نه من نامه ای دریافت نکردم از شما! تماس بگیر آقا در خدمت هستم.
> آدرس ایمیل من seyedof@yahoo.com است.
> 
> آقای منتظرالظهور به نظر من بدون هر گونه تعصب اگر میخواهید تحت ویندوز بازی بنویسید DirectX بهترین انتخاب است. OpenGL برای یک سری کاربردهای خاص و مخصوصا برای برنامه هایی که قراره روی پلاتفورم هایی غیر از ویندوز اجرا بشن مناسبه.
> در ضمن معماری دایرکت ایکس COM است که برای ویندوز نویس های حرفه ای خیلی مناسبتر و ملموستر است.
> سیداف


خیلی مخلصیم :D 
حتما ! حتما تو این روزا باهاتون تماس میگیرم.

Best wishes for you,
Hadi

----------


## Vahid_Nasiri

> مشکلات:
> 1- updatable نبودن ogl ... با گذشت سالهای طولانی جالب است بدانید که آخرین version طراحی شده برای MS Windows اوپن جی ال 1.2 میباشد. و این ابدا تماما به خاطر قدرت ogl نیست.


قبول ندارم! 
برخلاف دایرکت ایکس که استانداردهای آن فقط توسط خود این شرکت توسعه پیدا می کند کتابخانه ی OpenGL از مفهومی به نام Extensions برای توسعه ی خودش استفاده می نماید. این اکستشن ها توسط شرکت های سازنده ی کارتهای گرافیکی به کتابخانه اضافه می شوند.......  :wink:

----------


## Anti_Evil

آقای نصیری بهتر بود به آدرس هایی که نوشته بودم سر میزدی:

OpenGL provides an extension mechanism for an implementation to expose additional features not yet adopted by the ARB. Direct3D7 has one implementation with no extension mechanism. Direct3D8 has one implementation and provides support for pluggable software devices.

.
.
.

OpenGL isn"t updated as often, in fact Windows only supports version 1.1 although there is a version 1.2. OpenGL does have an extension mechanism that allows hardware vendors to support their new features. However it does take some time before these extensions go through the ARB board and make it into the standard OpenGL extensions.

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

اوپن جی ال 1.2 core هستش و extention قابلیت ( feature ).
بین این دو فرق بسیاری وجود دارد.

ما در اینجا در مورد core بحث میکنیم ... 

regards,

----------


## میهمان

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

----------


## سیداف

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

در مورد زبان برنامه نویسی بازی هم فکر میکنم زیاد واضح باشه. بدلیل سیستمی بودن برنامه بازیها و نیاز به سرعت بالای کد خروجی و... اصولا بازیها رو به زبان سی یا سی پلاس پلاس مینویسند و گاهی هم با ترکیبی از اسمبلی و سی. البته دلایل زیادی داره که متاسفانه من از  بحث در مورد واضحات و اینکه چی از چی بهتره چندان خوشم نمیاید:)  چون احتیاجی به گفتن نیست و از شواهد و قراین هم میشه راحت به این نتیجه رسید. البته دلایل فنی متعددی هم داره همونطور که دایرکت ایکس رو نسبت به ogl  اشاره کردم.
د ر ضمن مشهورترین و تواناترین برنامه نویس بازیها و گرافیک آقای John Carmack در بازی جدیدشون یعنی Doom3 از دایرکت ایکس استفاده کرده اند و کد برنامه هاشون رو هم از سی استاندارد به سی پلاس پلاس تغییر دادند. ogl به دلیل ساده تر بودن و مالتی پلاتفرم بودن برای یک سری از کاربردهای خاص مناسبتر از دایرکت ایکس است اما روی پلاتفرم ویندوز و برای نوشتن نرم افزارهای بازی دایرکت ایکس در حال حاضر حرف اول را میزند. 
به عنوان توضیح : direct3d قبل از نسخه 8 واقعا ضعیف و غیر منطقی و پیچیده بود اما خوشبختانه از نسخه 8 به بعد با تغییر ساختار کلی بصورت DirectX Graphics عرضه شد و دیگر چیزی به نام Direct3D Immediate Mode و Direct3D Retained Mode وجود ندارد.

در مورد کتاب. من بعضی شبها توی اوون هاب ایرانی ها با همین آی دی وارد میشم. البته فکر کنم دیگه همه اوون کتاب رو دارند :) من هم از همین هاب ها گرفتمش.

ممنون

----------


## پیام شکرآبی

صحبت خاصی نداشتم فقط میخواستم بگم که این جناب مهمان(صفحه اول فورم) که فرمودند کتاب الکترونیک Art   Of Computer Game Design را دارند چرا از خودشان هیچ ادرسی نگذاشته اند جناب مهمان اگر این کتاب را دارید لطفا به ادرس زیر بفرستید.
www.payam_shekarabi@hotmail.com

----------


## پیام شکرآبی

راستی یه منبع فارسی جدید(البته شاید قبلا هم در بازار بوده ولی این یکی ویرایش جدید است) به بازار اومده که بدک نیست تحت عنوان "آموزش برنامه نویسی directx" نوشته ی اقای "علی رضا علی نژاد" البته زبان پیش فرض این کتاب سی هست. ولی به نظر من کتاب خوبی هست. در ضمن در اینجا جا داره که از زحمات اقای نصیری برای ارتقا سطح این سایت تشکر کنم و از سی دی اموزشی open gl  ی که برای من فرستادن ممنونم :oops:

----------


## Sirus-v

جناب آقای Delphi Assistant  

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

Yahoo ID: Alpha_C0der
Email: Alpha_Programmer@linuxmail.org

مرسی

----------


## m_shirwani

برای شروع سری به وبلاگ زیر بزنید:
www.3dstate.mihanblog.com

----------


## pswin.pooya

اینم لینک کتابهای الکترونیکی مربوط به OpenGL:

http://forums.ps-ware.net/index.php/topic,375.0.html

----------


## Larten

من پی دی اف آموزش open_GL توی دلفی رو دارم اگه خواهان داشت بگین آپلود کنم براتون.

----------

