الشبكة العربية لمطوري الألعاب

محترف  انس مشاركة 1

السلام عليكم

اولا اهنئكم على هذا العمل الرائع كنت اود ان اشارككم فيه لولا عدم اتقاني لسي بليس بليس و dx SDK

لكن هناك استفسار اود طرحه ... ماذا عن اصحاب اللينكس ؟ هل نسيتموهم ؟
اعرف ان DX  قوية جدا ولكنها لا تعمل الا على نظام ويندوز ... لذلك لما لا يتم اختيار مكتبة اخرى ذات ناقلية(انتقال من منصة لاخرى) احسن مثل :

SDL , SDL+OpenGL , SFML , Allegro

ارجوا ( ان امكن طبعا ) توضيحا  بسيطا من فضلكم
و هل من الممكن ملفات تعريف ب  CoreLib

و شكرا

خبير مدير وسام البهنسي مشاركة 2

وفي 21/ذو القعدة/1429 01:15 م، ظهر شبح ابتسامة على وجه tombston وهو يقول:

لما لا يتم اختيار مكتبة اخرى ذات ناقلية(انتقال من منصة لاخرى) احسن مثل :

SDL , SDL+OpenGL , SFML , Allegro

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

أما في 21/ذو القعدة/1429 01:15 م، فقد تنهد tombston بارتياح وهو يرد:

هل من الممكن ملفات تعريف ب  CoreLib

جرى نقاش سابق حول هذا الموضوع، ويمكنك قراءة المشاركة رقم 6 و 13 في الموضوع: 
http://www.agdn-online.com/communities.aspx?view=posts&threadid=358
 
الكود في CoreLib هو كود ممل وروتيني جداً برأيي. لكن إن كنتم مصرين على رؤيته فلا مانع لدينا من طرحه. لكني لا أضمن أن يعجبكم الكود على الإطلاق 😄

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

محترف  انس مشاركة 3

أما في 20 نوفمبر 2008 02:26 ص، فقد تنهد وسام البهنسي بارتياح وهو يرد:

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

هلا تفضلتم باعطائي مثالا عن ذلك ؟
فعلى حد علمي المكتبات السابقة تقوم هي نفسها باستدعاء دوال DX اذا كان النظام الحالي هو ويندوز ؟



في 20 نوفمبر 2008 02:26 ص، غمغم وسام البهنسي باستغراب قائلاً:

الكود في CoreLib هو كود ممل وروتيني جداً برأيي. لكن إن كنتم مصرين على رؤيته فلا مانع لدينا من طرحه. لكني لا أضمن أن يعجبكم الكود على الإطلاق

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

شكرا جزيلا

خبير  Mohammad Khashashneh مشاركة 4

بتاريخ 20 نوفمبر 2008 11:26 ص، قطب وسام البهنسي حاجبيه بشدة وهو يقول:

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

باعتقادي تلك المكتبات تقوم بتقديم الأساسيات مثل تعريف النوافذ, قراءة المفاتيح, رسم الprimitives إلخ... وذلك بغض النظر عن نظام النوافذ Windowing system أو نظام التشغيل المسخدم. و بالتالي, يكون البرنامج الناتج قابل للنقل و التشغيل على مختلف الأجهزة. Portable and) cross platform)
 


وفي 20 نوفمبر 2008 11:26 ص، أعرب وسام البهنسي عن رأيه بالموقف كالآتي:

الكود في CoreLib هو كود ممل وروتيني جداً برأيي. لكن إن كنتم مصرين على رؤيته فلا مانع لدينا من طرحه. لكني لا أضمن أن يعجبكم الكود على الإطلاق

بالرغم من ذلك,وبما أن الهدف من المشروع الإستفادة علميا, فإن إتاحة الكود لنا سيسهل عملية فهم مايحصل من وراء الكواليس.


في 20 نوفمبر 2008 03:15 ص، قال tombston بهدوء وتؤدة:

لكن هناك استفسار اود طرحه ... ماذا عن اصحاب اللينكس ؟ هل نسيتموهم ؟

هذاماأود معرفته أيضا.



في 20 نوفمبر 2008 05:03 م، عقد tombston حاجبيه بتفكير وقال:

و لكن هل يمكنني استخدام المكتبة في مشاريع شخصية ام ان المكتبة حصرية لهذا المشروع ؟


لدي إقتراحين بالنسبة ل version 2 من اللعبة:
1- توسيع المشروع ليكون cross platform. الإستفادة تكمن في
    - تعلم كيفية نقل المشروع إلى منصات أخرى.
    - تعلم إستخدام تقنيات معتمدة و متاحة للجميع بدلا من التقنيات المخصصة و المغلقة.
    - تعلم برمجة اللينكس.

2- تعديل الرخصة ليكون المشروع مفتوح المصدر. الإستفادة تكمن في
    - العالم العربي يفتقر لذلك النوع من المشاريع و أيضا الألعاب.
    - إمكانية استخدام الخدمات المقدمة من sourceforge.net و غيرها من المواقع مثل source version control (svn, cvs, git), Wiki, للمشروع.
    - إتاحة الفرصة لمئات الألوف من مستخدمي لينكس للإستمتاع باللعبة إذا ماقمنابعرضها على التوزيعات المشهورة مثل Ubuntu أو Fedora وطلب ضمها رسميا لمجموعة الألعاب اللتي تأتي مع التوزيعة.
    - أهم من جميع ماذكر, ضمان حرية المشروع وبنفس الوقت حقوق العاملين عليه.
    - أهم من كل ذلك باالنسبة لي على الأقل, عمل شيء باستمتاع و حرية ;)

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

محمد خشاشنة

من سار على الدرب وصل, من جد وجد...
بس عتبك على اللي بيسمع

محترف  انس مشاركة 5

في 20 نوفمبر 2008 10:29 ص، قال Mohammad Khashashneh بهدوء وتؤدة:

باعتقادي تلك المكتبات تقوم بتقديم الأساسيات مثل تعريف النوافذ, قراءة المفاتيح, رسم الprimitives إلخ... وذلك بغض النظر عن نظام النوافذ Windowing system أو نظام التشغيل المسخدم. و بالتالي, يكون البرنامج الناتج قابل للنقل و التشغيل على مختلف الأجهزة. Portable and) cross platform) 


لكن هذه المكتبات تقوم بستدعاء دوال النظام التي تسير عليه حاليا , لا يمكن انتاج مكتبة لا تتعلق بنظام التشغيل



في 20 نوفمبر 2008 10:29 ص، عقد Mohammad Khashashneh حاجبيه بتفكير وقال:

بالرغم من ذلك,وبما أن الهدف من المشروع الإستفادة علميا, فإن إتاحة الكود لنا سيسهل عملية فهم مايحصل من وراء الكواليس.

و هذا راي ايضا

وفي 20 نوفمبر 2008 10:29 ص، قال Mohammad Khashashneh متحمساً:

- توسيع المشروع ليكون cross platform.

هذا سيتطلب اعادة كتابة كود اللعبة لان الكود الحالي مصمم للعمل على نظام ويندوز
لو استعملت مكتبة SDL  مثلا فلن تحتاج لاعادة كتابة الكود من البداية . بل لن تقوم باي تعديل على اللعبة



وفي 20 نوفمبر 2008 10:29 ص، ظهر شبح ابتسامة على وجه Mohammad Khashashneh وهو يقول:

تعديل الرخصة ليكون المشروع مفتوح المصدر.


انا اظن ان المشروع مفتوح المصدر و الا لما توفر الكود سورس .

أما في 20 نوفمبر 2008 10:29 ص، فقد تنهد Mohammad Khashashneh بارتياح وهو يرد:

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

اذا شارك فيه اعضاء لعبة وادي الملوك فسوف ياخذ وقتا اقل ^^

خبير  Mohammad Khashashneh مشاركة 6

في 20 نوفمبر 2008 07:56 م، عقد tombston حاجبيه بتفكير وقال:

لكن هذه المكتبات تقوم بستدعاء دوال النظام التي تسير عليه حاليا , لا يمكن انتاج مكتبة لا تتعلق بنظام التشغيل
عفوا, نسيت أن أقول "من وجهة نظر المبرمج"
كلام سليم. 😏



وفي 20 نوفمبر 2008 07:56 م، قال tombston متحمساً:

هذا سيتطلب اعادة كتابة كود اللعبة لان الكود الحالي مصمم للعمل على نظام ويندوز
لا أدري مدى إعتماد الكود على وندوز, لكن نعم. قد يتطلب إعادة برمجة اللعبة. هذا جزء من عملية الporting


وفي 20 نوفمبر 2008 07:56 م، ظهر شبح ابتسامة على وجه tombston وهو يقول:

لو استعملت مكتبة SDL  مثلا فلن تحتاج لاعادة كتابة الكود من البداية . بل لن تقوم باي تعديل على اللعبة
و هذا ما عنيت من الإقتراح 😄



أما في 20 نوفمبر 2008 07:56 م، فقد تنهد tombston بارتياح وهو يرد:

انا اظن ان المشروع مفتوح المصدر و الا لما توفر الكود سورس

:) أقصد "حر و مفتوح المصدر"

يبدو أننا على سوء تفاهم, مع أننا نرمي إلى نفس النتيجة 😄

محمد خشاشنة

من سار على الدرب وصل, من جد وجد...
بس عتبك على اللي بيسمع

خبير مدير وسام البهنسي مشاركة 7

في 22/ذو القعدة/1429 05:29 ص، غمغم Mohammad Khashashneh باستغراب قائلاً:

بما أن الهدف من المشروع الإستفادة علميا, فإن إتاحة الكود لنا سيسهل عملية فهم مايحصل من وراء الكواليس.
 
مرفق مع هذه المشاركة المشروع الكامل لـ CoreLib. أرجو أن يكون ذا فائدة لكم.
 
 

بتاريخ 22/ذو القعدة/1429 05:29 ص، قطب Mohammad Khashashneh حاجبيه بشدة وهو يقول:

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

وفي 22/ذو القعدة/1429 05:29 ص، أعرب Mohammad Khashashneh عن رأيه بالموقف كالآتي:

لدي إقتراحين بالنسبة ل version 2 من اللعبة:
1- توسيع المشروع ليكون cross platform. الإستفادة تكمن في
    - تعلم كيفية نقل المشروع إلى منصات أخرى.
    - تعلم إستخدام تقنيات معتمدة و متاحة للجميع بدلا من التقنيات المخصصة و المغلقة.
    - تعلم برمجة اللينكس.


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


في 22/ذو القعدة/1429 05:29 ص، قال Mohammad Khashashneh بهدوء وتؤدة:

2- تعديل الرخصة ليكون المشروع مفتوح المصدر. الإستفادة تكمن في
    - العالم العربي يفتقر لذلك النوع من المشاريع و أيضا الألعاب.
    - إمكانية استخدام الخدمات المقدمة من sourceforge.net و غيرها من المواقع مثل source version control (svn, cvs, git), Wiki, للمشروع.
    - إتاحة الفرصة لمئات الألوف من مستخدمي لينكس للإستمتاع باللعبة إذا ماقمنابعرضها على التوزيعات المشهورة مثل Ubuntu أو Fedora وطلب ضمها رسميا لمجموعة الألعاب اللتي تأتي مع التوزيعة.
    - أهم من جميع ماذكر, ضمان حرية المشروع وبنفس الوقت حقوق العاملين عليه.
    - أهم من كل ذلك باالنسبة لي على الأقل, عمل شيء باستمتاع و حرية ;)


المشروع ليس له أي رخصة، وهو موضوع للعموم مع كامل الكود والموارد. وهذا حتى يفوق رخصة GPL أو LGPL التي تبنى عليها أغلب مشاريع sourceforge.net. 😄
 
أما لو طاردنا كل جزء من المشاريع مفتوحة المصدر لنحصل على الكود لها، فإن هذا يعني أننا نريد كل شيء وصولاً إلى نظام التشغيل ومكتبة الرسوميات والتعريفات (drivers) وهكذا وصولاً إلى تعريفات الـ BIOS ربما. 😒
 
قد يكون هذا طلباً عادلاً وأنا شخصياً لا أعارض ذلك على الإطلاق، لكن تركيز المشروع لا ينصب على هذه المكونات. لذلك حرصنا على تغليف كل الأمور التي نود صرف الانتباه عنها كي نوجه التركيز في المكان الصحيح. فعلى رأس الأقسام التي أردنا تغليفها كان كود إنشاء النوافذ وتشغيل مكتبة الرسوميات ... الخ.
 
لقد راقبنا المحاولات الجماعية لتطوير الألعاب في المواقع الأخرى، ووجدنا أن هذه الناحية من المشروع تحوز على 80% من جهد المشاركين (خاصة أنها في المرحلة الأولى، حيث الحماس يكون مرتفعاً)، بينما بقية مزايا اللعبة يتم برمجتها بالقصور الذاتي، لذلك كان قرارنا بإقصائها. ☺

 

في 22/ذو القعدة/1429 05:29 ص، عقد Mohammad Khashashneh حاجبيه بتفكير وقال:

- أهم من جميع ماذكر, ضمان حرية المشروع وبنفس الوقت حقوق العاملين عليه.
    - أهم من كل ذلك باالنسبة لي على الأقل, عمل شيء باستمتاع و حرية ;)

فعلاً. لا شيء أبشع من أن ترى عملك قد تمت سرقته ونسبه إلى غيرك. 😠
فمن ضمن فوائد مكتبة CoreLib هو ضمان عدم حدوث ذلك، فهناك ما يقارب الـ 15 عضواً مشاركاً في المشروع، ونريد أن تصلهم حقوقهم كاملة دون تزوير.
 
 
أرجو أن أكون قد أجبت عن جميع تساؤلاتكم، وأتمنى أن تتابعوا طرح أي وجهات نظر أو انتقادات تساعدنا في توجيه المشاريع القادمة ☺

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير  Mohammad Khashashneh مشاركة 8

وفي 21 نوفمبر 2008 01:17 م، أعرب وسام البهنسي عن رأيه بالموقف كالآتي:

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

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

محمد رسمي خشاشنة

من سار على الدرب وصل, من جد وجد...
بس عتبك على اللي بيسمع

محترف  انس مشاركة 9

في 21 نوفمبر 2008 04:17 ص، عقد وسام البهنسي حاجبيه بتفكير وقال:

مرفق مع هذه المشاركة المشروع الكامل لـ CoreLib. أرجو أن يكون ذا فائدة لكم.

نعم و لابد 😄 . شكرا جزيلا .



وفي 21 نوفمبر 2008 04:17 ص، قال وسام البهنسي متحمساً:

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

لكن على حد علمي استخدام مكتبة متنقلة سيغني المبرمج على التفكير في كيفية نقل برنامجه ... مثلا مكتبة Allegro  تغنيك تماما عن التفكير في جعل برنامجك متنقلا بل يكفيك اعادة  compilation لبرنامجك على منصة اخرى .

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



وفي 21 نوفمبر 2008 09:16 ص، ظهر شبح ابتسامة على وجه Mohammad Khashashneh وهو يقول:

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

رغم خبرتي المتواضعة جدا الا انني ساكون مسرورا لو سمحتم لي بالمشاركة .



أما في 21 نوفمبر 2008 09:16 ص، فقد تنهد Mohammad Khashashneh بارتياح وهو يرد:

 لكتني أريد قبل ذلك بعض الوقت للإطلاع على وضع المشروع الحالي للإلمام بمتطلبات عملية الporting.

بعد اطلاعي على كود اللعبة , اظن ان عملية portage  ستكون بمستوى مقبول  حيث انه يكفي الاحتفاظ algorithme الخاص بكل دالة و تعوض دوال Corelib بدوال مكتبات اخرى  مثال :



int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int) -- > int main(int argc,char *argv[]) 


HICON hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_GAME));


--->

#iclude "SDL.h"

SDL_WM_SetIcon(SDL_LoadBMP("sdl_icone.bmp"), NULL);


في 21 نوفمبر 2008 04:17 ص، غمغم وسام البهنسي باستغراب قائلاً:

لقد راقبنا المحاولات الجماعية لتطوير الألعاب في المواقع الأخرى، ووجدنا أن هذه الناحية من المشروع تحوز على 80% من جهد المشاركين (خاصة أنها في المرحلة الأولى، حيث الحماس يكون مرتفعاً)، بينما بقية مزايا اللعبة يتم برمجتها بالقصور الذاتي، لذلك كان قرارنا بإقصائها.


  انا اكد على هذا التعليق , لما حاولت تطوير احد الاعاب فقد ضاع وقتي في محاولت صنع محرك للعبة , و لم اركز على اللعبة نفسها و النتيجة كانت لا اللعبة تمة و لا المحرك 😢

سلام