المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [نقاش] المنتدى بحاجة لأدوات تصميم !!



towfieee
14-12-2009, 09:09 PM
بسم الله الرحمن الرحيم

تطوير الأدوات


دائماً يقوم أعضاء المنتديات بكثير من المواقع بجلب أدوات وبرامج تساعد في عمل أمور معينة في المشاريع ، ولكن في أغلب الأحيان استيراد الملفات لداخل المحرك لا يكون ناجحاً لأن كل منها مصنوع أو مصدر لغاية مختلفة . فمثلاً التصاميم الثلاثية الأبعاد يوم تعمل وعشرة لأ ، حالها حال الشادرز والتيرين وما شابه.

وبصراحة هذا الأمر أصبح يتعبني كثيراً ، فأنا وأحمد صقر نعمل على لعبة من اكثر من حوالي السنة الآن وقمنا بإعادة بنائها وتصميمها، ودائماً ما تواجهنا مشاكل عدم دعم المحرك للملفات فنضطر للتحايل عليها.

من رأيي أن نبدأ في طور تطوير الأدوات بأنفسنا ، فمحركات الألعاب الموجودة في السوق لم يصنعها رجال فضاء. فأمرها ليس بالمستحيل. ممكن أن نصنع مثلاً ملف EXE يقرأ الإعدادات من ملف خارجي ويكون بمثابة "لعبة مسبقة الصنع" ومن ثم نصمم محرك لتغيير الخصائص وأسماء الملفات المستخدمة. وما يخطر ببالكم. مع العلم أننا نستطيع حتى أن نعمل برنامجاً بسيطاً لتصميم الشخصيات والحركة. وآخر للتيرين والباقي هي ربط كل شيء مع بعض. وممكن أن نجمع مثلاً 20 ملف شادرز و20 صورة للسماء ، ونستعمل الفيزيكس لحساب الفيزياء.

فلقد بدأت أتململ من محاولة البحث عن بدائل.


أتحفونا بآرائكم

Silver Spirit
14-12-2009, 09:34 PM
المشكلة مش في ادوات التصميم او التصدير للمحرك. المشكلة اننا لا نقراء جيدا قبل اي مشروع ونقوم بتصميم مجسمات والخ ونتعب عليها واذا جينا نصدرها للمحرك تبرز المشاكل ومشروع بدون مشاكل لايستحق ان تتعب عليه.

sparta22
14-12-2009, 11:01 PM
اولا الموضوع مش سهل زى ما انت متصور و عارف ناس جربت كثير و بعدين فى حل من الاثنين ممكن تستخدم صفات البرنامج او تبرمج و تحدث مقابس تصدير بحيث تتناسب مع اغلب احتياجاتك و تتوافق مع المحرك

PrinceOfSorrow
14-12-2009, 11:21 PM
سلام عليكم ورحمة الله وبركاته


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


رأي مشابه لرأي Silver

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

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

بحيث صيغ المصادر ونوعها يكون معتمد خلال ذلك.

شكرا للموضوع.

towfieee
15-12-2009, 01:08 AM
أنا عم بحكي بالشرق وإنتو عم تحكو بالغرب

بالنسبة للـ ثري دي ماكس مثلاً ، قمنا أنا وأحمد بعمل مجسم سندباد عليه من قرابة العام ، وحركة الشخصية سليمة ومية المية ، الآن قمنا بتصميم شخصية تانية وبنفس الإعدادات ، ولكنها لم تعمل بشكل صحيح.

وبالنسبة للقراءة " يا عيوني أنا بستخدم الدارك بيسك اللي دائماً كنت أستخدمه " ، والـ requirement نفسها ما تغيرت ، أنا أقصد إننا نعمل شيء بسيط على قد الحال نستغني فيه عن الأمور الخارجية.

رح أعمل مثال وأرفعه علشان sparta22 يعرف شو قصدي ، فأنا ما قلت إنه سهل ولكن سأشرح بالمثال. انتظروا .....

towfieee
15-12-2009, 06:36 AM
للعلم أنا لم أنس ما وعدت به ، منذ أن وضعت الرد الماضي قمت بتعديل "محرر أجسام"كنت قد صممته من قبل ، استطعت أن جعله يستورد شخصية لاعب ، وتعديل الحجم وزوايا الميلان ، وأيضاً يمكن عمل مجسمات وتعديل أبعادها ،يمكنك اختيار المجسم المطلوب تعديله بالفأرة، لازلت في طور كتابة الكود لتغيير مكان وزاوية المجسمات ، والمرحلة القادمة ستكون استيراد صورة وإطفاءها على المجسمات"إكساء".

وما أريد التوصل إليه هو وضع كل شيء "من مجسمات وشخصيات وإعدادات" في ملف واحد وتصدير ملف تنفيذي منفصل عنهم يقدر على استيرادهم من هذا الملف وصنع لعبة في نهاية المطاف.

صورة مما قمت بعمله

http://towfieee.com/ST_Files/engine.jpg

towfieee
15-12-2009, 10:38 AM
مثال أولي غير مكتمل

ملف المحرك التجريبي (http://towfieee.com/ST_Files/Engine_Example.rar)

تستطيع أن تستورد شخصية بصيغة (x) وتحركها وتتحكم بسرعة الأنميشن

تستطيع صنع مكعبات و تغيير أبعادها وكسيها بإكساءات مستوردة

إمكانية مسح الشخصية والمجسمات

اختيار أي رمجسم تريد التعامل معه الفأرة

Controls

http://towfieee.com/ST_Files/controls.jpg

الأسهم لتحريك الملف المحدد بالفأرة وأيضاً إشارة الناقص والزائد
1 و 4 للتدوير حول محور الـ x
2 و 5 للتدوير حول محور الـ y
3 و6 للتدوير حول محور الـ z

ولتحريك الكاميرا استمر في الضغط على Ctrl واكبس أزرار الفأرة للتحرك للأمام والخلف وحرك الفأرة لتنظر حولك

towfieee
15-12-2009, 10:44 AM
وسأقوم غداً بمحاولة استكمال ما لم أتممه وأضع خاصية السماء وحفظ كل شيء لملف خارجي

.JusticeArrow.
15-12-2009, 01:30 PM
السلام عليكم
ماشاء الله أول مرة أشوف كل هذه المقدرات
أعجبتني الفكرة والله جميلة وهذا قريب من
تصميم محرك خاص بك فدائما تجد هذه الأدوات
مرفقة وهي طفرة في عالمنا العربي
أرجوا أن تستمر
سلام

towfieee
15-12-2009, 08:20 PM
انا كان قصدي من المثال إني اعطي فكرة لمشاريع لازم نشتغل عليها بدل من محاولة استعمال محركات مختلفة كل يوم والتاني ، أنا برأيي أفضل طريقة هي تصميم أدواتنا بنفسنا " إما أدوات لتسهيل عملنا مع محركات أخرى مثل أداة تصميم شخصيات أو رسم إكساءات أوحتى تصميم مراحل " أو "تصميم محرك كامل من الألف إلى الياء" فليس هناك ما يمنعنا من ذلك. فمن يستطيع أن يصنع لعبة بسيطة اليوم يمكنه أن يصنع أداة لتسهل عمله غداً.

على كل أنا سأحاول أن أصل بشبه المحرك اللي أنا أعمل عليه الآن إلى مرحلة المحرك "المفيد" ، وإذا أي حد عنده أي فكرة لعمل أداة فأنا سأدعمه بكل شكل ممكن.

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

modyKun
16-12-2009, 01:54 AM
المشكلة سببت لي صداع بالفعل >_<" ، صحيح ما بيعرفها إلا اللي بيجربها =_="
حصلت معي على الدارك بيزك ومحرك الايرلشت على السي++ .. لكن الحمد لله الأوغر حلها ^^
الأوغر ببساطة يستخدم صيغة خاصة بيه اسمها .mesh ، بالتالي كل المصدرات المتوفرة للصيغة متوافقة مع المحرك =) وبالتالي أعتقد إن الأوغر حل مشكلتي ^^
(>>>غير صيغة scene اللي تصدر الإضاءة والكاميرا ^^ )

على العموم حبيت أشارك هذا الأمر ^^ + بصراحة في رأيي لا أعتقد أن للأمر داعي كبير إلا من ناحية التدريب البرمجي ^^

تحياتي لكم ^^

towfieee
17-12-2009, 08:58 AM
حابب أكمله واخليه محرك المنتدى وممكن نزيد عليه خاصيات مع مرور الوقت ، بس يا ريت ألاقي حد متشجع علشان نشتغل سوا لإن محسوبكم بيزهق بسرعة :)

مو ضروري البرمجة لإني ممكن أغطي هاد الجانب ، يعني حد يزتلوا شي فكرة. وأنا بخليها تنطأ

شو يل برنس اف سورو .... معي؟

S.H.A.R.K
17-12-2009, 09:17 PM
يا سلااااام :) ..
أول مرة منذ زمن بعيد أشعر بالحيوية :D.


ندخل في المهم ..
أول شيء لاحظته في المحرك هو طريقة التحكم في الاجسام وتحريك الكاميرا , فهي أشبه بلعبة أكثر مما هي طريقة تحكم في محرك ,والزووم مثلاً اجعله من خلال بكرة الماوس ,و دوران
الكاميرا سريع نسبياً والأفضل أن تكون سرعته قليلة للدقة.
و بالنسبة لمبين الإحداثيات فقم بعمل lock z depth له ,ليظهر وكأنه HUD على الشاشة من أسفل.


لدي أيضا اقتراح يقلل من البجز والأخطاء القاتلة في البرنامج , وهو ان أي أمر أو تعليمة تعالج
أوبجيكت معين ,تجعله ضمن كتلة IF تفحص وجود الأوبجيكت , فلو افترضنا مثلاً أن البرنامج يعدل
في موقع الأوبجكيت رقم 1 :



IF OBJECT EXIST(1) = 1
POSITION OBJECT 1,X,Y,Z
ELSE
PRINT "OBJECT DOES NOT EXIST
ENDIF



وهكذا ..


واما تدوير وتحريك وتحجيم المجسمات فالأسهل ان تجعلها كأدوات برامج التصميم فهي سهلة وبسيطة وسريعة في الاستخدام .
وأنا عن نفسي لا أدري إن كنت استطيع مساعدتك في المشروع.. لكن اعرض افكارك أول بأول هنا لعل وعسى أن أقدم لك أفكاراً أو أكواد .. من يدري :p.

towfieee
17-12-2009, 10:20 PM
يا ميت أهلاً وسهلاً وكنت فين من زمان يا شارك ، وملاحظاتك على العين والراس وراح اشتغل عليهم اليوم ، وإزا بتحب تساعدني بتعديل الكود عندي استعداد ابعتلك القطع أو حتى الكود كامل مع البلج إن اللي بستعمله علشان تتأقلم معه.

خبرني شو بتحب وابعتلي على الخاص أو على الإيميل وممكن ندردش. لإني فعلاً صايبني اكتئاب من الأدوات المتاحة بالسوق.

towfieee
18-12-2009, 09:23 AM
يا سلااااام :) ..
أول مرة منذ زمن بعيد أشعر بالحيوية :D.


ندخل في المهم ..
أول شيء لاحظته في المحرك هو طريقة التحكم في الاجسام وتحريك الكاميرا , فهي أشبه بلعبة أكثر مما هي طريقة تحكم في محرك ,والزووم مثلاً اجعله من خلال بكرة الماوس ,و دوران
الكاميرا سريع نسبياً والأفضل أن تكون سرعته قليلة للدقة.
و بالنسبة لمبين الإحداثيات فقم بعمل lock z depth له ,ليظهر وكأنه HUD على الشاشة من أسفل.


لدي أيضا اقتراح يقلل من البجز والأخطاء القاتلة في البرنامج , وهو ان أي أمر أو تعليمة تعالج
أوبجيكت معين ,تجعله ضمن كتلة IF تفحص وجود الأوبجيكت , فلو افترضنا مثلاً أن البرنامج يعدل
في موقع الأوبجكيت رقم 1 :



IF OBJECT EXIST(1) = 1
POSITION OBJECT 1,X,Y,Z
ELSE
PRINT "OBJECT DOES NOT EXIST
ENDIF

وهكذا ..


واما تدوير وتحريك وتحجيم المجسمات فالأسهل ان تجعلها كأدوات برامج التصميم فهي سهلة وبسيطة وسريعة في الاستخدام .
وأنا عن نفسي لا أدري إن كنت استطيع مساعدتك في المشروع.. لكن اعرض افكارك أول بأول هنا لعل وعسى أن أقدم لك أفكاراً أو أكواد .. من يدري :p.



بالنسبة لكتلة الـ "if" أنا هيك عامل بس في فنكشنز عملتها جانبية لاختيار المجسمات وما شابه بس كان فيها تسريب للبجز ، الكود مليان أحطاء لإني عملته بسرعة. وبدو إعادة تصحيح

S.H.A.R.K
18-12-2009, 11:17 PM
مممم

أريد أن أنصحك بشيء .. طريقة بناء البرنامج أثناء كتابة الكود تسبب كماً هائلاً من الأخطاء والبلبلة والفوضى , ولعلك تشعر بها جيداً .
لو افترضنا أن الهدف الرئيسي من المحرك هو استيراد الشخصيات وتعديل خصائصها وأخيراً حفظها ليتم استيرادها من قبل تطبيقات اللعبة .
حسناً , إذاً في هذه الحال ستكون أول خطوة هي اختبار مدى إمكانية تطبيق الفكرة تلك , حتى الآن انت نجحت في أول خطوتين , الإستيراد والمعالجة , وبقي تصدير الشخصية .. هل لديك فكرة واضحة عن كيفية التصدير ؟ بأي صيغة أو بأي شكل وهل سيكون المحرك عاماً أم مخصصاً للدراك بيسك فحسب ؟
إذا تأكدت أن الفكرة قابلة للتنفيذ , وبالتأكيد هي كذلك , فأنصحك بأن تبدأ البرمجة من البداية , ولكن بعد التخطيط الدقيق لهيكل المحرك وكيفية عمله والفنكشن المتضمنة .. الخ , وقد اساعدك في هذه النقطة .
في ذهني أفكار معينة بخصوص الكاميرا .. سأحاول كتابة Function للتحكم بالكاميرا وآخذ رأيك فيه .

انتظرني ;) ...

towfieee
19-12-2009, 04:12 AM
يا ميت أهلاً وسهلاً ، بالنسبة للكود فعلاً لازم إعادة كتابته لإنه الهدف كان فقط استيراد المجسمات وفحص الأنيميشن وليس كمحرك ، ولكن الآن كنت بحط مثال على امكانية عمل أداة تكون على مزاجنا بغض النظر عما كانت غاية الأداة :

الفكرة هي التالي / عمل كومبايل لملف لعبة مسبقا ً كل مستلزماتها خارج الملف التنفيدي.

ثم عمل محرك يقوم باستيراد عناصر اللعبة وتغيير خصائصها و كل شيء على شكل ملفات "DAT" مثلاً ، من أصوات ومجسمات محفوظة بداخلها.

وفي النهاية نجمع الملف مسبق الصنع وملفات الـ "DAT" لتقرأها وكأنها جزء منها.

بالنسبة للمجسمات يمكن حفظها على صيغة "X" أو صيغة "DBO" فلا يهمني إن قرأته محركات ثانية أم لا . فالفكرة هي الاستغناء عن المحركات التعبانة اللي يصنعها غيرنا.

وفكرة هيكل الكود اللي في بالي هي أن يكون هناك "User defined types" لكل جانب من اللعبة بشكل منظم و أن يكون أيضاً قابلاً لإعادة الاستعمال.

لا أعرف إن كنت تعرف هدا المحرك ولكن اسمه "XQuad" قام مصممينه بعمل الفكرة نفسها لكنهم وقعوا بأخطاء قاتلة بهدلت المحرك ، غير أنهم غير منظمين. فأنا أريد أن أصمم شيئاً بنفس الفكرة مع تلافي الأخطاء الفادحة الموجودة في إكس كواد.

ملاحظة : اعتدر لعدم استعمال الحرف الدي يأتي بعد حرف"الدال" ، ولكني لم أجده على الكيبورد بعد :)

PrinceOfSorrow
19-12-2009, 03:40 PM
بالتوفيق في العمل, اعتقد وصلت فكرة وهي صناعة محرك لتسريع العمل prototyping engine
لتجهيز الاعدادات للمصادر وأعتذر عن سوء الفهم.

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

S.H.A.R.K
21-12-2009, 02:37 PM
عمل كومبايل لملف لعبة مسبقا ً كل مستلزماتها خارج الملف التنفيدي.

ثم عمل محرك يقوم باستيراد عناصر اللعبة وتغيير خصائصها و كل شيء على شكل ملفات "DAT" مثلاً ، من أصوات ومجسمات محفوظة بداخلها.
مممم..
المستخدم بكل تأكيد سيرغب بالتعديل على مجسماته ورؤية النتائج عند تنفيذ اللعبة , يعني الآن أنا لدي مجسم شخصية , الشخصية لن تصلح للاستعمال مباشرة داخل الدارك بيسك , يلزمها تعديلات في الزوايا والأنيميشن الحجم والمؤثرات , وإن لم يخب ظني فمحركك يختص بتلك النقاط .. أليس كذلك ؟
هنالك نقطة أهم , وهي عند حفظ المجسم , هل بإمكان صيغة DBO استيعاب المؤثرات والظلال والشادرز , وهل يمكن إعادة حفظ المجسمات بتلك الصيغة من داخل الدارك بيسك ؟
الآن أنا لدي شخصية شبه جاهزة للإختبار على المحرك ..
أين وصلت الآن ؟

oms
21-12-2009, 04:05 PM
محاولات جميلة .

modyKun
22-12-2009, 03:32 AM
هو للآن ما فهمت الموضوع بشكل واضح ^^ قصدك Scene Editor مثلاً تعدل فيه المشهد /مواقع الشخصيات/تضيف اضاءة/الخ .. ؟ ^^

ححاول أساعد مع إني عدى سنتين من آخر مرة لمست فيها الدارك بيزك xD"

بالنسبة لتعديل الترانسفورميشن ^^ أعتقد مثلاً ممكن للموقع تعمل مؤشرات جاهزة للمحاور (زي الماكس ^^) .. وبعدها لما المستخدم يضغط على المحور ويسحبه ( أعتقد بيدخل في الموضوع raycast/picking و السحب أعتقد كان في فنكشن في الدارك بيزك بترجع قيمة تحرك الماوس من آخر استدعاء ^^" ؟ )

بالنسبة لملفات الـDAT ^^ أنا فاكر مع محرك allegro للسي++(كوده سهل ومفهوم) كان في برنامج اسمه grabber بينزل معاه بالسورس =) ده بيكتب ملفات الـDat وبيقراها وبيسمحلك تعدل عليها ^^ ، مش عارف كان في الدارك بيزك بارسر ليها ولا لا ^^ لكن لو مهتم تكتب واحد من الصفر أنصحك تشوف السورس بتاعها ^^(أو ممكن ترفقه مع المحرك؟ =] )

هممممـ بالنسبة للـ Scene editor =) ممكن يكون مفيد في حالة الحفظ نوعية ملفات زي XML أو CFG ^^ بصراحة برضه مش فاكر الدارك بيزك بيدعمها ولا لا ^^ ممكن بملفات dll خارجية

الـXML ربما هو أفضل وسيلة لو أردت حفظ معلومات مشهد مثل موقع الشخصيات/موقع الإضاءة/الخ
أتذكر استخدمتها في Level editor ثنائي عملته فكرته بسيطة للعبة المسابقة الماضية (النسخة القديمة اللي ضاعت للأسف .-.)
لو ما تعرف كيف شكل الـXML ..بيصير شئ مثل كذا :

<?xml version="1.0"?>
<Position>
<x>0</x>
<y>-10</y>
<z>50</z>
</Position>
وقتها لو عندك كائن Position (على اعتبار انك تستخدم لغة برمجة كائنية) بيصير عنده كائنات داخلية :
Position.x = 0
Position.y=-10
Position.z=50
بس ما أعتقد الدارك بيزك كائني التوجه ^^ لكن تقدر تتحايل عليه هنا..
على العموم لو لم تجد مستورد XML للدارك بيزك ^^ أعتقد ممكن تنتقل للـDarkGDK على السي++ ، هناك ممكن تجد مكتبات لقراءة ملفات الـXML ...
-----
أو .. ممكن في حل آخر انك تكتب صيغة خاصة XD

على العموم تحياتي ^^ وآسف على الفلسفة X"D .. بس للآن مب فاهم الموضوع؟ XD"

S.H.A.R.K
05-01-2010, 09:46 AM
ماذا ؟؟!!
هل انتهى المشروع قبل أن يبدأ ؟
الفكرة رائعة بحق وأعجبتني كثيراً , وحرام أن تهمل بهذا الشكل ..
على كل حال أنا بإذن الله سأحاول تنفيذ الفكرة أو حتى جزء منها لعل وعسى أن يهتم بها أحد .
يا ترى هل سأبقى وحيداً في الساحة ؟!

towfieee
06-01-2010, 01:10 AM
هاها كنت بحاول أن ارسل لك رسالة على الخاص ولكن لدي أقل من ٥٠٠ رد وها أنت تكتب رداً

المشروع لم ينتهي ولكن كنت في إجازة ومسافر وقد عدت من يومين ، وحابب أكمل ، وياريت تستمر معي.

S.H.A.R.K
07-01-2010, 06:25 PM
حمد لله على سلامتك :) .
حسناً .. بما أنك عدت , فما هي خططك الآن ؟
عن نفسي فأنا أمر في هذه الفترة بإمتحانات , لذا فقد أكتفي بالتخطيط فقط دون التنفيذ , وسأشاركك بأفكاري ..
بالمناسبة أنا شارفت على الانتهاء من تخطيط لنظام الـ Views والكاميرات .

بالنسبة لطريقة حفظ الشخصيات من المحرك .. منذ فترة جائتني فكرة أظنها عملية أكثر من حفظ المجسم بصيغة معينة , حسنا .. على فرض أن المحرك يختص بتعديل زوايا المجسم وإدخال التكيتشر عليه والمؤثرات والتعديل على الحركة بالإضافة لإمكانية تحديد الكنترول للشخصية , سيكون من الصعب حفظها بصيغة X أو 3DS أو أي صيغة أخرى خاصة بالميش , لذا ففكرت بعمل قالب برمجي , طبعاً بالدارك بيسك , هذا القالب يحتوي على فنكشن للحركة والمؤثرات والتحكم وتلك الإعدادات الأخرى , ويتم تغيير قيم وإعدادات هذا القالب على حسب الطلب من خلال المحرك , ويتم حفظه بصيغة DBpro *إلى جانب ملف الشخصية , ولا ننسى تخصيص إنترفيس معين لهذا القالب يمكن استخدامه فيما بعد للتحكم في الشخصية من خلال الـ Main Loop .
يعني بمعنى آخر , نستخدم برمجة OOP بالتحايل على الدارك بيسك .
أرجو أن يكون كلامي مفهوما .. لأنني كتبته على عجل :D

towfieee
07-01-2010, 09:44 PM
كلامك مفهوم مئة بالمئة ، وبالمناسبة حفظ الملف بالـ " dbo " أو بالـ " X " فهو وارد وسهل ، وبالنسبة للتيكستشير فسيكون من أصعب الأمور إذا أردنا أن نسمح لتعديل الـ " UV "، ولكنها ليست بالمستحيلة ، ولكن فقط على مجسمات بسيطة ، فممكن أن نستعملها في بناء الجدران مثلاً وفي التيرين ، أنا الشخصيات والمجسمات ذات عدد المضلعات الكثيرة فمن الأفضل ألا نخوض في ذلك.

الـ OOP بشكل ملتوي هو بالضبط ما أريد عمله ، ويمكنني توظيف الـ Dark Light لرندرة الضوء والـ Dark AI لإضافة ذكاء اصطناعي. ولا أدري إن كان استخدام الدارك فيسيكس من الصواب وخاصة أنه ييقلل من الشريحة التي تستطيع اللعب بالمنتج النهائي. فلم لا نستعمل مثلاً " NGC " .

وبالتالي يمكننا من الآن أن نختار نمط الألعاب المستهدف من قبل المحرك حتى لا نلاقي أنفسنا في متاهة كبيرة ، خلينا نختار هل سيكون محرك للمنظور الأول أو الآر بي جي .... أو أو إلخ

ثانيا مراحل عمل اللعبة ، فبرأيي هو تصميم لعبة قصيرة جداً لتكون حجر الأساس في عمل المحرك ثم نقوم بتعديلها ليكون من السهل تغيير مجسماتها وشخصياتها بشكل خارجي. ثم العودة ومباشرة رسم الهيكل للمحرك ، وبالتالي مثلاً :
الخطوة الأولى هي اختيار الإعدادات العامة في عدة نواف٫ تتالى وتعطيك خيارات
الثانية بناء العالم وإضافة إكساءات
الثالثة هي استيراد شخصية و تعديل حجمها وزواياها بالنسبة للعالم والفريمات
الرابعة طريقة التحريك ومثلاً إمكانية اختيار زر مثلاً لكل حركة مصحوب بالفريمات اللازمة
الخامسة تحديد ما هي المجسمات اللي تخضع لنظام الفيزياء وكيفية تجاوبها
السادسة بدء الكومبايل :
- رندرة الضوء على المرحلة
- إضافة كل شيء وتطبيق الفيزياء
- حفظ الملفات الخارجية اللازمة
- صنع مجلد وترتيب كل شيء بداخله للعبة المصنوعة


هذا شيء لم أخطط حتى له ولكنه الفكرة العامة اللي كانت تراوغ تفكيري
إذا عندك أي فكرة ثانية خبرني عنها

S.H.A.R.K
09-01-2010, 12:47 AM
حسنا فلنضع النقاط على الحروف ..
الآن حسب ما فهمت , الهدف بناء محرر شخصيات يغير خصائص الشخصية ليتم التعامل معها داخل الداركبيسك بسهولة .
ولكن من ردك هذا لم أستطع أن أفهم قصدك بشكل واضح , هل تريد بناء محرك أم محرر , أم أنك ترغب في محاكاة محرك X-Quad بحيث تستطيع التعديل على مصادر اللعبة من مجسمات وأصوات بعد الإنتهاء من برمجتها ؟
أرجو ان توضح فكرتك أكثر لأنه مازالت ضبابية بالنسبة لي ..
وفي المرفقات فكرة عن الـ View Ports ..

towfieee
09-01-2010, 03:51 AM
أريد أن أحاكي الـ X-Quad ولكن فقط كفكرة ، فهذا البرنامج لديه الكثير من المشاكل. فما أريده هو عمل شيء مثل الجيم ميكر أو "FPSC" ولكن بذوقنا نحن. فهي ستكون بمثابة المحرك. ولكن بما أنني لا أقدر أن أبرمج كومبايلر بعد ، فسأقوم بالتحايل عليها من خلال عمل لعبة مسبقة الصنع وكل مكوناتها في ملفات خارجية ، وبالتالي نقوم بصنع لعبة في المحرر وعند الانتهاء نقوم بالضغط على "compile" فيقوم المحرك بجمع مكونات اللعبة مع اللعبة المسبقة الصنع ، وبالتالي ستتصرف وكأنها لعبة منفصلة تماماً

لا أريد أن أغير شيء على الشخصيات عدا الحجم وزاوية الدوران ـ فعندما تقوم باستيراد شخصيات من الماكس مثلاً كثير من الأحيان لا يكون الحجم مناسب لبقية عناصر المرحلة فعلينا أن ندور الشخصية قليلاً وما شابه.

وأيضا عندما نقوم بتحريك الشخصية فعلينا أن نقول للعبة ما هي " فريمات المشي" وما هي فريمات "اطلاق النار" . فممكن أن نضع قالب نقوم بكتابة شيء مماثل للتالي :
فريمات المشي من ٣٠ إلى ٨٠
فريمات السقوط من ٨١ إلى ٩١

نقدر أن نصنع العالم في داخل المحرر بأساليب مختلفة : إما من أوامر عمل المجسمات أو أن نصمم مجسمات بالماكس مثلاً ولكن مجسمات قليلة الأضلع حتى يكون تغيير معالمها داخل الدارك بيسك ليس بالصعب / فيمكننا عمل "Lock Vertex" ومن ثم تغيير الشكل بحسب مزاج مستخدم المحرر. ويمكننا أيضاً وضع إكساءات على سطوح المجسم بشكل فردي أو على المجسم بالكامل. وبعد ذلك نقوم بـ " رندرة الضوء" بالدارك لايت.

يمكن أيضاً أن نجهز بعض الشادرز و الـ "sky boxes" حتى يتم تحسين شكل اللعبة.

أنا متأكد أن الفكرة ليست بالمستحيلة ولكنها تحتاج الكثير من الابتكار حتى تظهر بصورة محرك كامل منفصل تماماً وقليل المشاكل.

S.H.A.R.K
09-01-2010, 08:49 PM
آهااا .. الآن اتضحت الفكرة ..
الأمر يشبه تماماً طريقة عمل الـ FPSC ولكن هذا الأخير به مميزات أكبر , على حسب علمي , الـ FPSC مبني بالداركبيسك .
ولكن واضح من كلامك أنك لم تجر أي اختبار لتلك الفكرة , لو أمعنت التفكير ستجد أن عمل الـ Compile ضروري في كلا الحالتين , أما لو أردت تطبيق نظريتك عن اللعبة مسبقة البناء , فستقتصر مهمة المحرك على استبدال ملفات الميديا فقط .
أضف إلا ذلك أن الفائدة من المحرك لن تكون كبيرة , حيث أن كونه يقتصر على نوع محدد من الألعاب يبعث الملل ..
الفكرة الأجدى نفعاً هي بناء محرر للمجسمات يسهل التعامل معها داخل الداركبيسك , وكما أسلفت , فإن الملفات الناتجة عن المحرك ستكون عبارة عن قوالب منفصلة لها إنترفيس يمكن التعامل معه من داخل الملف الرئيسي للعبة .. تماماً كعمل القوائم المستقلة .
هذه الفكرة ستكون مفيدة بشكل أكبر لمستخدمي الداركبيسك وأسهل في التنفيذ , حيث سيكون اختصاص المحرك هو تعديل الحجم والدوران والخامات بالإضافة للحركة والكنترول , بمعنى أخر : إنشاء كائنات اللعبة .

ولا تنس أن محركاً كـ X-Quad لابد وانه استعمل في صنعة السي ++ وأدوات أخرى , فبرمجة محرك بالداركبيسك فقط أمر صعب وبالتأكيد سيكون ثقيلاً ومليء بالأخطاء .

towfieee
10-01-2010, 03:27 AM
أنا لا أقدر أن أبرمج كومبايل ، وأعلم أنه ضروري ولكن هذا لا يعني أننا نلغي الفكرة كلها ، فهي لا تزال في حيز الواقعية ، بمكننا يا سيدي عمل ثلاث ألعاب مسبقة الصنع ، وملف رابع يقوم باختيار أي منهم مناسب للمشروع ، فمثلاً إن كان المستخدم قد اختار المنظور الأول يقوم الملف التنفيذي باستخدام ملف اللعبة المسبقة الصنع الأول وهكذا ....
لا تنس أننا قادرون حتى على أن جمع أكواد كل الأنماط في لعبة مسبقة الصنع عن طريق تقسيم ال"source file" إلى أكثر من ملف وجمعهم وانتقاء أي واحد نستخدم في أول المشروع

حتى ولو كان الأمر صعباً فلا مشكلة لدي ، فهذا ما أنوي محاولة عمله ، الـ XQuad ليس بالقوي حتى مع استخدام لغة أخرى في البرمجة والـ FPSC أقوى مع أنه يستخدم الدارك بيسك .

وكما قلت أننا يمكننا أن نعمل نمط واحد في الألعاب حتى لا يكون الأمر صعباً ، فإما المنظور الأول أو الثالث والأر بي جي أو أو أو .... ولن يكون بالممل لأننا سنحاول أن يكون قابلاً للتعديل بشكل أوسع ، وبإمكاننا ليس فقط أن نغير الميديا بل أيضاً كل شيء ، وكل ما علينا أن نسمح للملف التنفيذي بقبولها. فالدارك بيسك يقدر على أن يستورد أي نوع من القيم من ملف خارجي وأيضاً الكتابة.

وإن نجح يمكننا عمل شيء ثاني لمنظور آخر أو شيئاً بأكثر من واحد

بالنسبة لما تريد قوله أنت هو عمل ما يشبه البلج إن ، يقوم بتصدير كود وميديا ليتم عمل الكومبايل من داخل الدارك بيسك نفسه أليس كذلك؟

towfieee
10-01-2010, 03:28 AM
أنا لا أقدر أن أبرمج كومبايل ، وأعلم أنه ضروري ولكن هذا لا يعني أننا نلغي الفكرة كلها ، فهي لا تزال في حيز الواقعية ، بمكننا يا سيدي عمل ثلاث ألعاب مسبقة الصنع ، وملف رابع يقوم باختيار أي منهم مناسب للمشروع ، فمثلاً إن كان المستخدم قد اختار المنظور الأول يقوم الملف التنفيذي باستخدام ملف اللعبة المسبقة الصنع الأول وهكذا ....
لا تنس أننا قادرون حتى على أن جمع أكواد كل الأنماط في لعبة مسبقة الصنع عن طريق تقسيم ال"source file" إلى أكثر من ملف وجمعهم وانتقاء أي واحد نستخدم في أول المشروع

حتى ولو كان الأمر صعباً فلا مشكلة لدي ، فهذا ما أنوي محاولة عمله ، الـ XQuad ليس بالقوي حتى مع استخدام لغة أخرى في البرمجة والـ FPSC أقوى مع أنه يستخدم الدارك بيسك .

وكما قلت أننا يمكننا أن نعمل نمط واحد في الألعاب حتى لا يكون الأمر صعباً ، فإما المنظور الأول أو الثالث والأر بي جي أو أو أو .... ولن يكون بالممل لأننا سنحاول أن يكون قابلاً للتعديل بشكل أوسع ، وبإمكاننا ليس فقط أن نغير الميديا بل أيضاً كل شيء ، وكل ما علينا أن نسمح للملف التنفيذي بقبولها. فالدارك بيسك يقدر على أن يستورد أي نوع من القيم من ملف خارجي وأيضاً الكتابة.

وإن نجح يمكننا عمل شيء ثاني لمنظور آخر أو شيئاً بأكثر من واحد

بالنسبة لما تريد قوله أنت هو عمل ما يشبه البلج إن ، يقوم بتصدير كود وميديا ليتم عمل الكومبايل من داخل الدارك بيسك نفسه أليس كذلك؟

towfieee
10-01-2010, 03:32 AM
أنا لا أقدر أن أبرمج كومبايل ، وأعلم أنه ضروري ولكن هذا لا يعني أننا نلغي الفكرة كلها ، فهي لا تزال في حيز الواقعية ، بمكننا يا سيدي عمل ثلاث ألعاب مسبقة الصنع ، وملف رابع يقوم باختيار أي منهم مناسب للمشروع ، فمثلاً إن كان المستخدم قد اختار المنظور الأول يقوم الملف التنفيذي باستخدام ملف اللعبة المسبقة الصنع الأول وهكذا ....
لا تنس أننا قادرون حتى على أن جمع أكواد كل الأنماط في لعبة مسبقة الصنع عن طريق تقسيم ال"source file" إلى أكثر من ملف وجمعهم وانتقاء أي واحد نستخدم في أول المشروع

حتى ولو كان الأمر صعباً فلا مشكلة لدي ، فهذا ما أنوي محاولة عمله ، الـ XQuad ليس بالقوي حتى مع استخدام لغة أخرى في البرمجة والـ FPSC أقوى مع أنه يستخدم الدارك بيسك .

وكما قلت أننا يمكننا أن نعمل نمط واحد في الألعاب حتى لا يكون الأمر صعباً ، فإما المنظور الأول أو الثالث والأر بي جي أو أو أو .... ولن يكون بالممل لأننا سنحاول أن يكون قابلاً للتعديل بشكل أوسع ، وبإمكاننا ليس فقط أن نغير الميديا بل أيضاً كل شيء ، وكل ما علينا أن نسمح للملف التنفيذي بقبولها. فالدارك بيسك يقدر على أن يستورد أي نوع من القيم من ملف خارجي وأيضاً الكتابة.

وإن نجح يمكننا عمل شيء ثاني لمنظور آخر أو شيئاً بأكثر من واحد

بالنسبة لما تريد قوله أنت هو عمل ما يشبه البلج إن ، يقوم بتصدير كود وميديا ليتم عمل الكومبايل من داخل الدارك بيسك نفسه أليس كذلك؟

towfieee
10-01-2010, 03:35 AM
أنا لا أقدر أن أبرمج كومبايل ، وأعلم أنه ضروري ولكن هذا لا يعني أننا نلغي الفكرة كلها ، فهي لا تزال في حيز الواقعية ، بمكننا يا سيدي عمل ثلاث ألعاب مسبقة الصنع ، وملف رابع يقوم باختيار أي منهم مناسب للمشروع ، فمثلاً إن كان المستخدم قد اختار المنظور الأول يقوم الملف التنفيذي باستخدام ملف اللعبة المسبقة الصنع الأول وهكذا ....
لا تنس أننا قادرون حتى على أن جمع أكواد كل الأنماط في لعبة مسبقة الصنع عن طريق تقسيم ال"source file" إلى أكثر من ملف وجمعهم وانتقاء أي واحد نستخدم في أول المشروع

حتى ولو كان الأمر صعباً فلا مشكلة لدي ، فهذا ما أنوي محاولة عمله ، الـ XQuad ليس بالقوي حتى مع استخدام لغة أخرى في البرمجة والـ FPSC أقوى مع أنه يستخدم الدارك بيسك .

وكما قلت أننا يمكننا أن نعمل نمط واحد في الألعاب حتى لا يكون الأمر صعباً ، فإما المنظور الأول أو الثالث والأر بي جي أو أو أو .... ولن يكون بالممل لأننا سنحاول أن يكون قابلاً للتعديل بشكل أوسع ، وبإمكاننا ليس فقط أن نغير الميديا بل أيضاً كل شيء ، وكل ما علينا أن نسمح للملف التنفيذي بقبولها. فالدارك بيسك يقدر على أن يستورد أي نوع من القيم من ملف خارجي وأيضاً الكتابة.

وإن نجح يمكننا عمل شيء ثاني لمنظور آخر أو شيئاً بأكثر من واحد

بالنسبة لما تريد قوله أنت هو عمل ما يشبه البلج إن ، يقوم بتصدير كود وميديا ليتم عمل الكومبايل من داخل الدارك بيسك نفسه أليس كذلك؟

towfieee
10-01-2010, 08:24 AM
فقط في حال لم تستوعب الفكرة من أول مرة حطيتها أربع مرات ، هاها أنا أمزح لا أعلم ماذا حدث ولكن تكرر الرد لسبب ما

S.H.A.R.K
10-01-2010, 07:44 PM
مممممممـ..
عندما أمعنت التفكير في الموضوع , تأكدت من أن فكرتك الحالية قد لا تنجح بالشكل المطلوب ,حيث أن
المحرك الذي تتحدث عنه , لن يكون بإمكانه سوى تغيير ملفات الميديا فقط , ولن يستطيع تغيير مواقع
المجسمات أو تعديل الكنترول في اللعبة , لأن اللعبة أصلاً تم بنائها وعمل Compile لها , وبالتالي
لن تستطيع التعديل عليها .
ولكن لو نظرنا للفكرة من منظور آخر , سنجد أن تنفيذها ممكن , ونسطيع بناء محرك ألعاب ..

الفكرة التي أقترحها هي تماماً مثلما قلت انت سابقاً , استعمال لعبة جاهزة والتعديل عليها , الجديد هنا
ان اللعبة التي نتعامل معها لن تكون مترجمة من قبل الكومبايلر , بل سيتعامل المحرك مع قالب اللعبة
, أو بمعنى أخر مع الكود الأصلي للعبة , فمثلاً , يحتوي المحرك على كود كامل للعبة بلاتفورم , أوامر
التحميل وفنكشن الكنترول والذكاء الصناعي , ومواقع السبرايت , وبعدها من داخل المحرك نستطيع
تغيير إعدادات اللعبة من الكنترول وأماكن المجسمات وتوزيع الأوبجكتس وأيضاً شكل المرحلة ,
واختيار الأفعال والطرق الذكاء الصناعي للأعداء ..
أي ان النتيجة النهائية للمحرك هي مجموعة ملفات الميديا بالإضافة لملف الكود , وعندئذٍ لن يبقى
سوى فتح الملف داخل إيديتور الداركبيسك والبدء في ترجمته ..
و بهذا نستطيع جعل المحرك أكثر فائدة وله قدرات جيدة .

إذاً فالفكرة هي عبارة عن صنع برنامج يسهل التعامل مع الكود , هذا هو عمل البرنامج , ولكن في
ظاهره سيكون عبارة عن محرك عادي .




بالنسبة لما تريد قوله أنت هو عمل ما يشبه البلج إن ، يقوم بتصدير كود وميديا ليتم عمل الكومبايل من داخل الدارك بيسك نفسه أليس كذلك؟

نعم ..

towfieee
10-01-2010, 07:55 PM
لأ أنا لا أوافقك أخي.

أنا لا أريد أن يكون للدارك بيسك أي دخل بعمل المحرك ، فأنا أريد أن يكون لا داعي للمستخدم أن يستخدم برنامجاً آخراً للكومبايل، وكل يوم ينزل تعديل على الدارك بيسك وتظهر مشاكل لم تكن موجودة ، وإنما أريد عندما ننزل المحرك أن يكون بشكله النهائي القابل للعمل بدون عوائق.

نحن نقوم بعمل الكومبايل. وتغيير الكونترولز والإعدادات ليس بالمستحيل على الإطلاق . ولكن على ما يبدو أنك لم تتمعن في الدارك بيسك لهذه الدرجة. على كل خليك معي وسأثبت لك كلامي بمثال صغير يغير نمط اللعبة والكنترولز.

S.H.A.R.K
10-01-2010, 07:59 PM
مممم..
حسناً هذا ما أريده , تجربة توضح مدى إمكانية تنفيذ الفكرة ..

S.H.A.R.K
11-01-2010, 08:52 AM
:D

صباح اليوم .. كنت أفكر في الأمر برمته .. هل تصلح فكرتك من عدمها ..
وكنت مقتنعاً أن طريقتك لا يمكن تنفيذها :33: ..
ولكن فجأة اخترقت عقلي فكرة بسيييييطة .. بسيطة لحد لا يمكن تصوره :bigeyes: ,
لا أعلم إن كنت انت تصورته أم لا .. ولكن :).
والفكرة واضحة وضوح الشمس ويسهل استيعابها ولا تحتاج إلى إثباتات ولا بطيخ , لأنها مثبته ويعمل
بها في معظم البرمجيات وتدرس في الجامعات ومصادر التعليم ...
طولت عليك :D..
المهم الحل العبقري يقول :
طالما نحن نحتاج للتعامل مع إعدادات الأوبجيكتس وأماكنها وأفعالها , فيمكننا جعل البرنامج يقرأ هذه
الإعدادات من ملفات TXT خارجية .. ونجعل المحرك يتعامل مع تلك الملفات فقط ويغير من الإعدادات
فيها .. وبعد ذلك عند تشغيل الملف التنفيذي يقرأ البرنامج تلك الإعدادات الجديدة :D ..
ما رأيك ؟؟

ZIRAKI KENPACHI
11-01-2010, 06:24 PM
. . .





ما فاهم شيء منكم انتوا الاثنين ؟!



((دخول غريب)) ^^

towfieee
11-01-2010, 06:29 PM
على فكرة مثالي كان بملف "TXT" ، ولكن هدفي في النهاية هو استعمال ملف بصيغة ثانية لربما "DAT" لأننا يمكننا أيضاً وضع ملفات برمتها بداخله بالإضافة إلى الإعدادات. يعني من ملفات الصوت والموديلات والمؤثرات وكله. وهذا هو اللي كنت عم بحاول أشرحه من اسبوع :) ما شاء الله ظنيتك رح تجيب شغله جديدة يا فالح ;)

على كل رح أكمل المثال اليوم بعد دوام الشغل وبرفعه على طول

ZIRAKI KENPACHI
11-01-2010, 06:40 PM
احد يفهمني !!

انتوا تريدوا اضافة شغلات و الا تريدوا تصميم محرك خاص ؟!

و بتنسبوه لنفسكم ؟!

S.H.A.R.K
11-01-2010, 10:16 PM
على فكرة مثالي كان بملف "TXT" ، ولكن هدفي في النهاية هو استعمال ملف بصيغة ثانية لربما "DAT" لأننا يمكننا أيضاً وضع ملفات برمتها بداخله بالإضافة إلى الإعدادات. يعني من ملفات الصوت والموديلات والمؤثرات وكله. وهذا هو اللي كنت عم بحاول أشرحه من اسبوع :) ما شاء الله ظنيتك رح تجيب شغله جديدة يا فالح ;)

على كل رح أكمل المثال اليوم بعد دوام الشغل وبرفعه على طول

:D
هل أنا الفالح أم أنك لا تجيد الشرح :09: .
حسناً حسناً ..
لن أطيل الثرثرة في كلام فارغ .
سوف أفكر بكلامك فيما بعد , فلدي اختبار في الثامنة صباحاً :31: .
بانتظارك ..


انتوا تريدوا اضافة شغلات و الا تريدوا تصميم محرك خاص ؟!
و بتنسبوه لنفسكم ؟!
تنسبوه :33:!!

towfieee
11-01-2010, 10:21 PM
الله يوفقك بالاختبار يا رب

هلأ أنا عم بشتغل عليه

towfieee
01-06-2010, 01:27 AM
http://towfieee.com/ST_Files/Game_Editor.jpg


استأنفت العمل قليلاً على المشروع بعد فترة من التوفق.



هذا جزء من "المحرك" إن صح التعبير. وهو حتى الآن مقتصر على استيراد مراحل ومجسمات واظهار سماء وتحريك للكاميرا.

اليوم سأقوم بمحاولة برمجة التحريك والتعديل للمجسمات. لكي تكون جاهزة لإضافة أضواء ورندرتها باستخدام "DarkLights"

لا زالت الفكرة غير ناضجة تماما سأكون صريح معكم ، فحتى الآن أنا غير متأكد من الطريقة التي سأقوم بها بحفظ المشروع بملف "Data.dat" ومن ثم قراءتها من ملف تنفيذ آخر.



أي أفكار؟