game_prog

3DSTATE >>>> GAME ENGINE

32 ردود في هذا الموضوع

السلام عليكم ورحمة الله وبركاته ...

الموضوع جدا هاااااااااااااااام ....... وفيه فايدة ان شالله للجميع :)

وهو...

سبق ان نزلنا المحرك 3DSTATE

لكن اتضح لنا ان السبورت عندهم جدا ضعيف :(

لذلك انا طالبة النجدة منكم ........... الفزعة يامبرمجين

المحرك جدا رائع من خلال قراءتى للاشياء اللي معه

واستخدامه جدا سهل وواضح

واستخدم الويزرد 3DSTATE APP مع C++

السؤال :

هل يوجد احد سبق ان استخدم هذا المحرك؟؟

هل يوجد احد عنده استعداد يجربه ... ؟؟؟

لأن عندي اسئله في بعض الأشياء ............ :unsure:

انتظر رد

وشكرا .........

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

وعليكم السلام ورحمة الله وبركاته..

انا هالحين قاعد ابحث عن محرك...

انا عندي استعداد اني احمله... لكن

كم حجمه ..

وماهو موقعه...

وماذا تقصد ين بـ السبورت (( يعني الدعم))

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هذا الموقع

http://www.3dstate.com

راح تلقى فيه كل المعلومات عنه

انا نزلت

3DSTATE Developing Studios

3DSTATE World Editors

3DSTATE Converters & Tools

لكن المفيد هو اول اثنين ... والأخير ماله داعي او يمكن مافهمته !!!

حجم اول واحد اقل من 40 ميغا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

طيب...

حفظت الوصلة....

ارد عليك بعد يوم او اثنين ... آسف ....

سأحمله واجربه واضع النتيجة هنا....

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم .... :)

اللي خلاني اطرح الموضوع هو قدرت بعض الأشخاص على التعلم والفهم بشكل اسرع من غيرهم .......

يعني لو على الأقل يكونو عارفين الكونسبت للألعاب بشكل عام كيف يحصل ... وكذلك معرفتهم للالغورذم المستخدمه بها

لكن بالنسبه لى ..... مبتدأة .... وغير كذا كونه مشروع لابد من انجازه بشكل تام بعد شهرين تقريبا :(

على العموم ....... لو في احد يرغب في تعلم 3DSTATE

كاول تجربه في في استخدام محرك العاب >>>> يشارك ...............

وراح انزل بعض الديمو اللي جت معه بالسورس كود لها ....... ان شاء الله

وشكرا ........

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الكود + صوره من احد مراحل الديمو

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الآن بدأت بتحميل المحرك... احتاج يوم كامل... الانترنت عندي سلحفاة...

لكن بالنسبه لى ..... مبتدأة .... وغير كذا كونه مشروع لابد من انجازه بشكل تام بعد شهرين تقريبا

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

لكن لابد من اجل فهم المحرك من اتقان السي... ومعرفة بأساسيات الرياضيات وغيرها... على العموم لا استطيع

ان احكم حتى ارى المحرك واستخدمه...

اما الملف المرفق للأسف ما اشتغل ....لم تظهر الصور فقط ملف السي.. ...

تم تعديل بواسطه الشـمري
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الله يجزاك خير على ردودك وتفاعلك مع الموضوع

يوجد مع المحرك كتاب لكن حجمه كبير ولا قدرت انزله هنا

لكن الشرح فيه سهل وواضح ويتدرج في التعليم من الكونسول ... الى MFC

اهم التوبك اللي فيه مايلي :

INTRODUCTION

Why use a graphics engine?

Why Use the 3DSTATE Engine?

What does 3DSTATE provide?

Who is this book for?

What tools will you need?

Using the World Builder

Using the SDK

Help ! My world won’t load!

Hardware Acceleration

CHAPTER 2 – THE BASICS

2D Coordinates

3D Coordinates

HANDLES

An Overview of the 3DSTATE API

CHAPTER 3 - OBJECTS

Viewer Mode and Dynamic Objects

Accessing and Naming Objects

Moving Objects

Collision Detection

Utility Functions

CHAPTER 4 – WORKING WITH CAMERAS

Camera Handles and Names

Camera Location

Camera Direction

Zoom

A Sample Program – Camera Control

Picture Quality

Hidden Surface Removal

Other Useful Camera Functions

CHAPTER 5 – USING MFC

Creating a New World

Hello, World! Using the 3DSTATE Application Wizard

Beyond Hello, World!

CHAPTER 6 – GROUPS

What is a Group?

Building Groups

Working with Groups

A Sample World

CHAPTER 7 – THE ENGINE API

Loading the World

Displaying the world

Display Accuracy

2D and 3D Space

Movement

The Log Window

Miscellaneous Functions

CHAPTER 8 - BITMAPS AND ANIMATIONS

Placing Bitmaps

Tiling Bitmaps

Transparency

Bitmap File Formats

Animation

The Bitmap API

Animations

CHAPTER 9 – THE POLYGON API

What is a Polygon?

Creating Polygons

Rotating and Moving Polygons

Polygon Properties

Fill Colors

Bitmaps and Animations

Polygon Math Functions

Polygons and Groups

Patches

CHAPTER 10 – OTHER APIS

The Point API

The Track API

The 3D Card API

The Background API

The Math API

The Utilities API

The Profiler API

CHAPTER 11 – SHADOWS AND LIGHTS

Shadows

Lights

A World with Lights and Shadows

CHAPTER 12 – EDITOR MODE VS. VIEWER MODE

Why Use Viewer Mode?

Why Use Editor Mode?

CHAPTER 13 – THE TERRAIN BUILDER

CHAPTER 14 – THE WORLD EDITOR

المهم ... كل الديمو والكتاب راح تنزل مع المحرك

واشكرك مره اخرى

وبالتوفيق :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حملت المحرك بعد يومين من التعب................................. لكن يطلب مني سريال ((رقم سري )) عند التنصيب .. الظاهر ليس مجاني..

game pro وش الحل..؟؟؟؟؟؟ كبف نصبت البرنامج...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من نفس الموقع تأخذ الرقم السري مجانا

من اللنك >>>> Free Serial Number

يطلب تدخل اسم وايميلك وراح يرسله لك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم ورحمة الله وبركاته ............

سوف اشرح طريقة استخدام الويزرد تبع 3DSTATE لإنشاء مشروع

في البدايه افتح VC++

ومن قائمة "FILE" اختر "NEW"

ثم طبق التالي :

L1.gif

ثم افتح الملف "GameProject.CPP" وطبق التالي:

L2.gif

نفذ البرنامج لرؤية ماتم عملة عن طريق الويزرد

والأشياء المعلم عليها بالأزرق هي اهم الفانكشن اللي راح نعدل و نكتب فيها الكود ...

سيتم شرحها قريبا ان شاء الله مع توضيح بعض الأكواد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا...سابدا خلال هاليومين بدراسته

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

محرك جيد جدا... صحيح انه ليس ممتاز(وجهة نظر)) :blink:

لكن مفيييد للمبتدئين مثلي... فيه مميزات مثلا اماكنية استيراد ملفات bsp نظام جزيئات جيد... ظلال .. اضاءة..انعكاس.. wave.. بشكل عام مفيد... ولعل اهم ميزة وجدتها...سهولة تنصيبه والتعامل معه+انه مجاني

اما احمله حتى ابرمج لعبة من خلاله .. فهو يبقى محدود... لكن ساستفيد منه بلا شك.. اشكرك game pro على هالمحرك ..ساحاول تعلم اساسياته هالاسبوع ان شاء الله تعالى...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
اما احمله حتى ابرمج لعبة من خلاله .. فهو يبقى محدود...

وش قصدك ؟؟؟ ماينفع استخدمه !!!! :(

صحيح انه المحرك الرئيسي لمشروعنا ... بالاضافه ل crystal space

ولا زلنا حتى الآن نتعلم نستخدمه ونطبق كوداته ... <_<

ولا عندنا اي خبره في المحركات ... يعني 3dstate استخدمناه بناء على نصيحة الاخوان في المنابر !!!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
صحيح انه المحرك الرئيسي لمشروعنا

هل هو مشروع جامعي او لا؟ اتمنى توضيح هذه النقطة لافيدك اكثر...

وانا لم اقصد انه ليس مفيد بل مفيييييد للغاية وهو افضل محرك عرفته الى الان لكن ما اعنيه

انه لايدعم بعض المميزات الجديدة حسب ماعرفت مثلا...لايدعم

Projected planar, Shadow Volume

Lightmapping

وغير ذلك ... لكن هذا لا يعني انه غير مفيد... ابدا .. استمر عليه حتى تجد محرك افضل منه..

واذا اتقنته اعتقد حينئذ انك قادر على عمل لعبة مستواها الرسومي .. جيد مرتفع :rolleyes:

وانا ايضا ساستخدمه ... لكن لن استخدم اي محرك لعمل لعبة ..انما للتعرف على اسلوب عمل وبرمجة المحركات فقط!!!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
هل هو مشروع جامعي او لا؟ اتمنى توضيح هذه النقطة لافيدك اكثر...

نعم ...راجع اللنك >>> طرحناها قبل مانعرف 3DSTATE ... ماكنا نعرف شي في الألعاب ولا برمجته :)

المشروع بشرح >>> Lost_ team

http://www.arabteam2000-forum.com/index.ph...opic=56873&st=0

ولا زلنا في الخطوه >>> System analysis

ولا بدينا في كتابه كود واحد مطلوب في المشروع .... :(

سؤال ؟؟؟

لو استخدمنا openGL مع 3DSTATE ... هل تعتبر ميزه او لا ؟؟ وهل ممكن اربط بينهم بكل سهوله ؟؟؟

وجزاك الله الف خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هذا اللي كنت خايف منه... مشروع جامعي...:)

لانك ستعمل في وقت قصير وتحت ضغط كبير...

لافائدة من استخدام opengl لان المحرك اصلا مبني على احدى المكتبتين(opengl او directx) او كلاهما...

الا ان تكون تريد اضافة ميزات اخرى الى المحرك... هذا بالطبع ميزة... لكن صعب الان..

استمر على المحرك وسينتج لك لعبة جيدة جدا.... لا تخاف... واصل فقط ..

واي مستجدات ... علمنا....

بالتوفيق..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

قرأت موضوعكم...وحسب ما فهمت انكم تريدون عمل ديمو خلال 3 شهور بشرط ان يضم هذا الديمو:

1-نظام جزيئات

2- الاكساء(من نوع mipmapping)

3-الاضاءة

4-Fractals((ما ادري وش معناها))

----------------------------------

الديمو سهل للغاية وكله متوفر في المحرك ..

تستطيع من خلال المحرك بناء مرحلة كاملة في سطرين

وقبلها تحدد...كيف تريد عمل اللعبة

في نظام الكونسل

mfc

api

اسهلها الكونسل((بدون انشاء نافذة ))

وافضل استخدام api في انشاء النافذة

ستجد امثلة متوفرة مضمنة مع المحرك منها

امثلة على

الجزيئات

الاضاءة والظلال

والاكساء

وركز على تحميل المراحل bsp

وكل ما تريدون متوفر مع المحرك فقط ركز عليه شهر واحد وستفهم كل شي باذن الله

والله يعينكم.....

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مطلوب نستخدم MFC ...

لكن اغلب الديمو مكتوبه بالكونسول ...

حتى اهم نقطة "نظام الجزيئات" مكتوب API

مع العلم اننا طول دراستنا ماكنا نستخدم غير الكونسول !!! ...

يعني ندرس MFC + 3DSTATE

وشكرا لك ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الدرس الثاني ....>>> للفائده العامة طرحته في هذا المنتدى

بعد تطبيق السابق وانشاء مشروع باستخدام الويزرد ...

شرح بعض الأكواد المستخدمة في المشروع ...

Displaying your world

حتى يطلع الشغل "world" على الشاشه

لابد من عمل ثلاث خطوات اساسيه وهي:

1. load world

2. select a camera

3. (display the world on the screen (render

لعمل الخطوه الأولى ( load world ): نضعها في الفانكشن InitInstance

وهذه الفانكشن اول مايبدا تنفيذ البرنامج من عندها

ونحط فيها كل عمليات initialization التي نريدها ان تحدث مره واحده فقط وفي بداية تنفيذ البرنامج.

// CMy3DSTATE_AppWizardApp initialization

BOOL CMy3DSTATE_AppWizardApp::InitInstance()
{
//Create Window for render.
CMainFrame* pMainFrame = new CMainFrame;

if (!pMainFrame->LoadFrame(IDR_MAINFRAME,
        WS_OVERLAPPEDWINDOW))
 return FALSE;
 

m_pMainWnd = pMainFrame;

m_pMainWnd->SetWindowText("3DSTATE AppWizard");  
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();

//**** 3DSTATE CODE ****
//******* BEGIN *******

//Load World.
// If you don't use the "3DSTATE_CUBE.wld",
// you can delete from your project 3DSTATE_CUBE.wld
// and directory bitmaps.
if(OK != STATE_engine_load_world("3DSTATE_CUBE.wld", "", "Bitmaps",  USER_DEFINED_BEHAVIOR ))
 return false;


STATE_3D_card_use(YES);


// **** 3DSTATE CODE ****
// ******** END ********


return TRUE;
}

نستخدم الفانكشن STATE_engine_load_world التي تأخذ اربع بارامترات :

int STATE_engine_load_world(char *world_file_name, char *world_directory_path, char *bitmaps_directory_path, int world_mode);

world_file_name:

اسم الملف الذي يحوي "world"

world_directory_path

هذا شرحه لكن مافهمته !!!

Relevant only if INCLUDE_FILE is used (INCLUDE_FILE is used in the world file if our world consist of several files), using a different world_directory_path we can load the same world with different models library or we can use one models library for several worlds. Examples: "", "C:\\models\\chaires\\plastic", "C:\\models\\chaires\\plastic".

bitmaps_directory_path:

الدايركتري الذي يحتوي على الصور المستخدمه

Using a different bitmaps_directory_path we can load the same world with different bitmaps library or we can use one bitmap library for several worlds. Examples: "", "C:\\bitmaps1", "C:\\bitmaps2", "bitmaps".

world_mode

USER_DEFINED_BEHAVIOR

AUTO_BEHAVIOR01 Automatically moves the camera or an object according the arrow key

AUTO_BEHAVIOR02 Obsolete

EDITOR_MODE Don’t moves objects automatically. Make it possible to use all the groups API. The editor mode is slower but it enables you to edit the world in real-time

DONT_USE_ZBUFFER This option doesn't work together with EDITOR_MODE. When zbuffer is off, the

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

الخطوه الثانية والثالثه : في الفانكشن OnPaint [size/]

وهذه الفانكشن تستدعى في كل مره تكون نافذة البرنامج في حاجه الى اعادة رسمها...

مثلا : تستدعى عند بداية انشاء النافذه ، عند تغير حجمها .... الخ،

// CMainFrame message handlers

void CMainFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting


//**** 3DSTATE CODE ****
//******* BEGIN *******

// This function puts the image
// seen from the default camera on the window.
// You can call the STATE_engine_render function for
// every window, you can also use (HWND)(this)
// as a handle to the current window.
STATE_engine_render(m_hWnd, NULL);

Sleep(1); //This is a small world , so lets slow it down a little



// **** 3DSTATE CODE ****
// ******** END ********
}

استخدم STATE_engine_render

اول بارامتر هو "handle of window" التي سنرسم فيها

البارامتر الثاني هو "handle of camera"

والشرح واضح في الكود ...

وبالله التوفيق ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

للاسف جميع امثلة ال mfc لاتعمل.... يصدر لي الكومبايلر خطا... لا اعرف مالسبب حتى امثلة mfc العادية

ماتشتغل ...

على العموم ساعمل على امثلة api و الكونسل فقط....

==============================

ملاحظة هامة::

عندما تريد استخدام mfc مع المحرك لابد ان يكون لديك معلومات اساسية عن mfc مثلا

انشاء نافذة والتعامل مع الرستئل ونحو ذلك

اليك هذا الرابط الذي يشرح mfc

http://www.functionx.com/visualc/index.htm

وقبل ان تتعلم mfc ايضا لابد ان يكون لديك معلومات اساسية عن انشاء نافذة باستخدام دوال api

وذلك حتى تعرف معن بعض الكلمات مثلا

handle>>>المقبض

messages,,,,الرسائل

وغيرها.... وبالتالي سيسهل عليك mfc

الرابط التالي عربي ويشرح انشاء نافذة باستخدام api

http://www.dev4arabs.com/vc/ShowRecord.asp...=Article&Id=267

وهنا الجزء الثاني

http://www.dev4arabs.com/vc/ShowRecord.asp...=Article&Id=268

الخلاصةتعلم انشاء نافذة باستخدام api

تعلم اساسيات mfc (( انشاء نافذة والتعامل مع الادخال والاخراج وعمل قائمة وtoolbar ونحوها من

الاساسيات...

===

ونصيحة ... حاولوا ان تستغنوا عن appwizard الخاص بالمحرك فهي طريقة صعبة...وسوف تجد عشرات

الاطر البرمجية دون اي فائدة؟؟؟

افتح الامثلة الجاهزة مع المحرك..

واتبعها خطوة بخطوة....

وستجد انك تستطيع في 5 اسطر انشاء مرحلة كاملة وفي سطرين تحريك كاميرا.....فهذا اسهل وافضل..

والله يوفقنا للخير..

تم تعديل بواسطه الشـمري
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله الف خير ...

ممكن تقول وش الخطأ اللى يطلع لك ؟... فاتل ايرور ؟؟

لأنهم بعد ماعملو اب ديت على المحرك القديم .. صار لازم تسوي بعض التعديلات على الأمثله حتى تشتغل

ما أذكر بالضبط وش غيرنا وصارت تشتغل اما 3DSTATE.LIB OR 3DSTATE.DLL ، المهم من جهازك تروح لـ:

C:\Program Files\3DSTATE\3D Developer Studio 6.0 (for Visual C++)\Engine\

شوف الفولدر اللي فيه الملفين : 3DSTATE2 AND 3DSTATE

احذف 3DSTATE

واعمل كوبي من 3DSTATE2 .... وسمها 3DSTATE (حافظ على الامتداد DLL OR LIB ,i not sure)

وان شاء لله تشتغل لك الأمثلة ...

والتعامل مع الرستئل ونحو ذلك

ماهو الرستنل ؟؟ ممكن تشرحه باختصار ؟؟

حاولوا ان تستغنوا عن appwizard الخاص بالمحرك فهي طريقة صعبة...

كيف يكون طريقه صعبه ... احس انه مسهل علينا الشغل ... واحنا مانعرف الا شي بسيط في MFC...!!!

غير كذا الوقت صار اقل من ثلاث شهور ... ولا نقدر الا نأخذ الشي اليسير من كل شي ونتعلمه ...

مشروع game اللى نعمله ليس ديمو ... بل لعبه كامله ..

وشكراا مرة اخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

انا سبق وجربتة ..

يجعلك تقوم بالأمور بسهولة فائقة ..

ليس OOP حسب ما أذكر ..

المحرك رائع وسهل , ومتوفر لمعظم لغات البرمجة , ولكن أحذر , المحرك يدعم أمور جاهزة بطريقة سهله جدا , ولكن الأمور غير الجاهزة التعامل معها صعب قليلا ..

أنا لم ارتح له , رغم انبهاري فيه بالبداية ..

ةلكنه يستحق التجربة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .