النتائج 1 إلى 12 من 12

الموضوع: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

  1. #1
    التسجيل
    12-01-2008
    الدولة
    Utupia
    المشاركات
    184

    ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    بسم الله الرحمن الرحيم
    الدرس الرابع ~الأونلاين~

    الألعاب الأونلاين قد تكون ذات عنى مبهم او غير واضح عند معظمنا
    فأنت كلاعب عند لعبك لعبة ما اونلاين فأنت تختبر ما تفقده الألعاب العادية
    انت تختبر التفاعل الاجتماعي

    اذن ماهي العوامل التي تؤدي الى اكمال لعبة أنولاين ما ؟

    فلنبدأ الشرح اذن :

    أولا : تصميم اللعبة ...

    ليس من امكانية كل البرامج صنع العاب يمكن جعلها أونلاين
    ولكني افضل لغات الـ C++ or C# or VB.Net
    صعب ؟!
    نعم صعب جدا
    وقد يكون الـ VB.Net اسهل لغة من ضمن تلك اللغات ولكن مقابل تلك السهولة انت تفقد الفاعلية.
    عن نفسي افضل استخدام الـ C++ لأنه فعال
    ففي تلك اللغة , كل شيء تحت تصرفك
    من الصحيح انها تطلب عمل اكثر, ولكن مقابل ذلك تحصل على فاعلية اكبر.
    كود:
    ماذا اعنى بالفاعلية ؟
    تخيل انك صنعت لعبة بالـ VB.Net + DirectX 9
    حجم اللعبة 400 كيلو بايت
    تستغل اللعبة مساحة قدرها 11000 كيلوبايت من الذاكرة في جهاز المستخدم
    
    والأن حاول صنع تلك اللعبة ايضا ولكن بأستخدام الـ C++ + DirectX 9
    حجم اللعبة 250 كيلو بايت او اقل!
    تستغل اللعبة ا يقرب من 2000 كيلو بايت من الذاكرة المؤقتة في جهاز المستخدم
    
    ~ طبعا هذا للتوضيح فقط ~

    اذن كيف يكون تصميم اللعبة من اهم عوامل جعلها أونلاين ؟
    -_- اللعبة في مراحل تصميمها تقوم بأدراج اكواد و تعريف طرق ارسال و استقبال البيانات من الخادم ~Server~ و كيفية ترجمة تلك البيانات الى ما يختبره اللاعب من احداث ووقائع



    اذن فاللعبة تتصل بالخادم بأستخدا مكتبة الـ WinSock ؟
    ليس فقط الـ WinSock توجد ايضا مكتبات اخرى توفرة
    ولكن الـ WinSock يعتبر اكثرها شيوعا
    مهمتها بسيطة و هي عبارة عن ارسال البيانات من والى الخادم و اللعبة

    اذن تلخيص ما سبق يكون كالأتي :
    1- عند صناعة اللعبة و جعلها أونلاين يجب ان نراعي الفاعلية
    2- يجب ان نستخدم مكتبة لارسال البيانات من والى الخادم و اللعبة
    3- يجب ان نفسر الرساءل الستقبلة من الخاد و نترجها لأحداث تحدث داخل اللعبة

    ثانيا : تصميم الخادم ...
    هل تصدق ان اخبرتك ان لغة تصميم الخادم لا يجب ان تكون نفس لغة تصميم اللعبة ؟
    يمكن ذلك ولكن نظريا هذه الطريقة ليست مفيدة!

    حسنا ننتقل للمهم.
    كيف نصمم الخادم ؟
    هل يمكنك تصميم شيء ما بدون ان تعرف ما هو ؟
    من الطبع لا
    ~ مع اني صممته بدون ان اعرفه , ولكن ليس ذلك المهم~ :]
    اذن دعني اعيد صياغة سؤالك الى :

    ماهو الخادم ؟

    الخادم هو عبارة عن المجتمع الذي يتم فيه استقبال البيانات من اكثر من عميل ~اللعبة~
    وارسالها فيما بينهم
    تنظيم دورة البيانات و تحديد ما يراه كل لاعب وماذا يحدث
    فالخادم هو بصفة اكثر عبارة عن المتحكم في العالم الخيالى الذي صممناه
    الألعاب الأونلين لا تقوم بدون خادم

    ولكن هل توجد العاب اونلاين بدون خادم ؟
    نعم توجد العاب مثل CounterStrike,HalfLife
    ولكن كيف ؟
    حقيقة تلك الألعاب انه يوجد خادم ولكنه واحد من اللاعبين
    فحين تقوم بأنشاء لعبة جديدة على الشبكة مثلا LAN
    انت بنفسك تلعب دور الخادم الذي ينسق البيانات
    و حين تغلق اللعبة من عندك سوف تلاحظ ان جميع من كان يلعب معك طرد من اللعبة

    اذن كيف نصمم الخادم ؟
    الأن يسرني ان خبرك :]
    عند تصميم الخادم يجب ان تراعي فيه ما يلي
    اولا ما عدد اللاعبين الذي يستطيع الخادم ان يجمعهم معا ؟
    ثانيا ما هي سرعة معالجة البيانات بين اللاعبين ؟


    طبعا ذلك ليس كل ما يجب حسابه
    ولكن كبداية هذا يعتبر جيدا :]

    اذن اولا, عدد اللاعبين الذي يستطيع الخادم ان يجمعهم معا يعتمد على
    1- سرعة الاستضافة
    2- سرعة جهاز الاستضافة
    3- طريقة تصميم الخادم

    ماذا تقول, استضافة ؟
    اعذرني اخي العزيز , ولكن هل ظننت انك سوف تدير لعبة اونلاين من البيت ؟

    ثانيا سرعة معالجة البيانات ؟
    نعم , قدرة الخادم على استقبال البيانات و تنظيمها و اعادة ارسالها او الاحتفاظ بها
    كلها تأتي من التصميم الجيد للخادم
    اعلم ايضا ان الخادم يستخدم نفس المكتبة التي يستخدمها العميل لارسال واستقبال البيانات

    اذن هل هذا ما احتاجه لتصميم لعبة أونلاين ؟
    اححم
    كلا!

    لا زلنا نفتقد عنصرا مهاً
    تلك البيانات اين تذهب ؟
    هل تلعب لعبة اونلاين كل ما شغلت اللعبة تبدأ من البداية ؟
    مالفائدة ان كنت العب ولا تسجل انجازاتي ؟
    اذن دعني اقدم لك
    قواعد البيانات!

    ثالثا : قواعد البيانات ...
    قواعد البيانات تسجل فيها الأحداث, اماكن اللاعبين, ما يملكون, وكل معلوماتهم
    انها مثل الكتاب ولكن هذا الكتاب يمكن ان تعدل فيه بما يناسبك.

    اذن كيف اتعامل مع قواعد البيانات ؟
    اولا نحدد نوع قاعدة البيانات المستخدمة
    هل هي OLEDB, ODBC, MySql, MSSQL,ORACLE
    لكل مميزاته و لكني افضل ان اتعامل مع الـ MySql

    ثانيا نوصل القاعدة بالخادم :]
    باستخدام الـ Connector وهي عبارة عن مكتبة نقل بيانات بين القاعدة المستهدفة و برنامج ما
    بالنسبة للـ MySql فالـ Connector الخاص بها يسمى MySql Connector ~ملائم~

    ثالثا نبدأ عملية ارسال و استقبال البيانات
    بين الخادم و قاعدة البيانات فقط !

    لماذا لا اجعل اللعبة متصلة مباشرة بقاعدة البيانات؟
    لأنه قد يتم تعديل البيانات المستخدمة من قبل وسائل خارجية و بذلك تفقد اللعبة الأمان!
    ~ كنت افعل ذلك في بعض الألعاب, و لكن ليس هذا موضوعنا~
    اذن تخيل معي الأتي

    اللعبة >>> ~ ارسال بيانات الى :~ >>> الخادم >>> ~ ارسال بيانات الى :~ >>> القاعدة
    القاعدة >>> ~ ارسال بيانات الى :~ >>> الخادم >>> ~ ارسال بيانات الى :~ >>> اللعبة

    هذه احدى وسائل نقل البيانات المعهودة و يمكن ايضا التالي
    اللعبة >>> ~ ارسال بيانات الى :~ >>> الخادم
    الخادم >>> ~ ارسال بيانات الى :~ >>> اللعبة
    الخادم >>> ~ ارسال بيانات الى :~ >>> القاعدة
    القاعدة >>> ~ ارسال بيانات الى :~ >>> الخادم

    هذه هي اهم الميزات للألعاب الأونلاين
    ~كانت توجد بعض الصور للتوضيح اكثر ولكني لم اعثر عليها في جهازي ~
    -_-
    والسلام عليكم ورحمة الله و بركاته
    اخوكم : اسلام الريان.
    ~ملحوظة كاتب الموضوع كان شبه نائما اثناء الكتابة~
    ~ملحوظة اخرى الدرس لم ينتهي بعد~
    اختم القرآن في شهر رمضان!
    اعاده الله عليكم وعلي وعلى المسلمين بالخير يا أرحم الراحمين

  2. #2
    التسجيل
    12-01-2008
    الدولة
    Utupia
    المشاركات
    184

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    رجاء عدم الرد حتى اكمال الشرح
    ~ملحوظة كاتب الموضوع استيقظ للتو~
    اختم القرآن في شهر رمضان!
    اعاده الله عليكم وعلي وعلى المسلمين بالخير يا أرحم الراحمين

  3. #3
    التسجيل
    12-01-2008
    الدولة
    Utupia
    المشاركات
    184

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    حسنا, الأن بعض الصور التوضيحية

    اولا : اللعبة ...


    ثانيا
    الشكل العام للاتصال بين اللعبة و الخادم و قاعدة البيانات




    طبعا كل ذلك يعتبر تلخيص التلخيص للعملية الفعلية :]
    وبذلك نختم الدرس
    اختم القرآن في شهر رمضان!
    اعاده الله عليكم وعلي وعلى المسلمين بالخير يا أرحم الراحمين

  4. #4
    التسجيل
    02-07-2009
    الدولة
    الجزائر
    المشاركات
    39

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    درس رائع أخي ...... لكن للأسف أنا ظعيف جدا في الشبكات ودائما أتكاسل عن تعلمها
    لكني أدركت مهمتها .. شكرا لك
    ...

  5. #5
    التسجيل
    07-12-2007
    الدولة
    من كوكب المريخ خخخخخ
    المشاركات
    370

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    درس رووووووووعة بصراحة
    شكرررررراً لك على دروسك

    لكن هل يمكن تصميم العاب الاونلاين بواسطة الجيم ميكر بواسطة لغة gml ?


  6. #6
    التسجيل
    06-07-2010
    المشاركات
    59

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

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

  7. #7
    التسجيل
    12-01-2008
    الدولة
    Utupia
    المشاركات
    184

    Post رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    بسم الله الرحمن الرحيم
    اخواني شبح اليل و عمر الراجح و omiga91

    اولا: شكرا لاهتمامكم بتطوير بصناعة الألعاب الأونلاين ورغبتكم في استخدامها لألعابكم

    ثانيا: تعليقا على ردودكم واجابة على اسألتكم

    اقتباس المشاركة الأصلية كتبت بواسطة omiga91 مشاهدة المشاركة
    درس رائع أخي ...... لكن للأسف أنا ظعيف جدا في الشبكات ودائما أتكاسل عن تعلمها
    لكني أدركت مهمتها .. شكرا لك
    مبدأيا برمجة الشبكات تختلف عن برمجة الاتصالات مع وجود وجه شبه ولو بسيط بينهما
    ولكن ان ترتقي الى برمجة الألعاب الأونلاين عموما هو مرحلة متقدمة جدا من تصميم الألعاب
    مفيدة ومهمة , تكمن روعتها في احساس اللاعب بالانجاز و تسجيل ما قام به
    لا يجب ان تكون عالم ذرة!
    والكسل لن يوصلنا الى شيء :]




    اقتباس المشاركة الأصلية كتبت بواسطة عمر الراجح مشاهدة المشاركة
    مثل ما قال شبح الليل هل يمكن استخدام الجيم ميكر لصناعة الالعاب ان لاين ؟ وهل يلزم سيرفر او عادي اخلي جهازي سيرفر ؟
    نعم!
    يمكنك تصميم العاب أونلاين بالجيم ميكر
    وذلك عن طريق مكتبة تسمى الـ MPlay
    صممت تلك المكتبة لجعل تبادل البيانات بين الخادم و الألعاب المصممة باستخدام الجيم ميكر ممكنا
    مرفق مع المكتبة ملف شرح لكيفية استخدامها ~ملف الشرح بالانجليزية~
    قرأت الملف وهو بسيط جدا
    يخبرك عن الاوامرالتي توفرها لك المكتبة و عن طريقة استخدامها
    تم رفع المكتبة على موقع AIGN
    Arabian Indie Game Developers Network
    ~شبكة مطوري الالعاب المستقلين العرب~
    المكتبة من هنا
    الموقع لازال تحت الانشاء وسيتم الانتهاء منه في القريب العاجل
    حاليا نقوم برفع الملفات المهمة عليه يمكن لكي لكم تحميلها
    بالتوفيق انشاء الله
    ~اعذروني شباب خبرتي بالجيم ميكر محدودة نسبيا :]~
    لأي اسئلة اخرى يسرني اجابتكم عنها
    في آمان الله
    التعديل الأخير تم بواسطة CalmKiller ; 03-08-2010 الساعة 08:41 AM
    اختم القرآن في شهر رمضان!
    اعاده الله عليكم وعلي وعلى المسلمين بالخير يا أرحم الراحمين

  8. #8
    الصورة الرمزية فارس المجد
    فارس المجد غير متصل Old Montada's Soldier
    المركز الثالث في مسابقة رتل و أذن
    التسجيل
    08-11-2004
    الدولة
    سوريا
    المشاركات
    3,207

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    شكراً مرة أخرى على مواضيعك المتميزة ^^
    في الحقيقة درس مهم للغاية, ولكن أنا أنصح أي شخص يريد أن يبدأ لعبة أونلاين , أن يبدأ بلعبة بسيطة جداً لأن الموضوع صعب.
    قرأت في كتاب لتصميم الألعاب عن محاولة عشرات من المصممين _بعد أن أخذو دورة لمؤلف الكتاب نفسه_ لتصميم ألعاب RPG أونلاين ولكن فشلت عشرات المحاولات ونجحت اثنتين (بالاكتمال فقط ولكن بجودة ضعيفة!!)

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

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

    واعذروني إن خرجت عن الموضوع قليلاً للإيضاح ...

  9. #9
    التسجيل
    12-01-2008
    الدولة
    Utupia
    المشاركات
    184

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    فارس المجد
    يسرني ان ارى ارائك في موضوع تصميم الألعاب الأونلاين
    طبعا افكارك رائعة
    و فعلا الألعاب الأونلاين الناجحة تحتاج الى مراقبة مستمرة و سيرفرات ضخمة لتحمل اللاعبين
    وايضا ادارة ناجحة
    فعند تصميم لعبة اونلاين
    انت لا تلعب بمعنى اصح
    الأن انت تعمل :]
    وشكرا لمرورك
    في أمآن الله
    اختم القرآن في شهر رمضان!
    اعاده الله عليكم وعلي وعلى المسلمين بالخير يا أرحم الراحمين

  10. #10
    التسجيل
    19-12-2009
    الدولة
    الـكـويـت
    المشاركات
    295

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    CalmKiller

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

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

    كود PHP:
    int currentFrame;
    int maxFrames 10;
    bool key1FirstPress false;
    bool key2FirstPress false;
    void Main()
    {
       if (
    IN_3 == 1)
       {
          if (
    key1FirstPress == false)
          {
             
    currentFrame--;
             if (
    currentFrame 0currentFrame 0;
          }
          
    key1FirstPress true;
       }
       else 
    key1FirstPress false;

       if (
    IN_6 == 1)
       {
          if (
    key2FirstPress == false)
          {
             
    currentFrame++;
             if (
    currentFrame >= maxFramescurrentFrame maxFrames-1;
          }
          
    key2FirstPress true;
       }
       else 
    key2FirstPress false;

       
    OUT_0 currentFrame;

    هذا كود يجعل الفريم ينتقل من قيمه الي قيمة الصفر ولا يتعداهااا

    ويجعل الفريم ينتقل من قيم الصفر او اي قيمة يكون عندها الي قيمة العليا وهي معرفه nt maxFrames = 10; ولا يتعداهااا

    والحمد الله قدرت استوعب من كود المكتوب 80 بالميه

    هي عمليه منطقيه وذكيه من كاتب السكربت

    وتقبل تحياتي
    التعديل الأخير تم بواسطة مبارك الرشيدي ; 04-08-2010 الساعة 04:04 PM

  11. #11
    التسجيل
    12-01-2008
    الدولة
    Utupia
    المشاركات
    184

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    فعلا
    يقوك السكربت بالتأكد من قيمة المتغير currentFrame
    ان كانت اكبر من اقصى قيمة للـ frames
    يعيدها الى (اقصى_قيمة - 1)
    ان كانت اصغر من الصفر
    يعيدها للصفر!
    ولكني اود ان أعرف ماهم الـ IN_3, IN_6
    شكرا لك أخي مبارك!

    اختم القرآن في شهر رمضان!
    اعاده الله عليكم وعلي وعلى المسلمين بالخير يا أرحم الراحمين

  12. #12
    التسجيل
    19-12-2009
    الدولة
    الـكـويـت
    المشاركات
    295

    رد: ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الرابع :الأونلاين

    input stat (0,1) = IN_3

    هذا زر IN_3
    يعني عند ضغط عليه يكون IN_3 == 1
    لذلك هو BOOL
    وكذلك IN_6 نفس IN_3

    يعتبر زر ايضا

المواضيع المتشابهه

  1. ~المنطق قي تصميم الألعاب و السكربتات ~ الدرس الثالث "عملي"
    بواسطة : CalmKiller , في مساعدات و دروس صناعة الألعاب
    مشاركات: 8
    آخر مشاركة: 10-02-2011, 03:47 PM
  2. ~المنطق قي تصميم الألعاب و السكربتات ~ الدرس الثاني
    بواسطة : CalmKiller , في مساعدات و دروس صناعة الألعاب
    مشاركات: 3
    آخر مشاركة: 20-07-2010, 02:09 AM
  3. ~ المنطق في تصميم الألعاب و السكربتات ~ الدرس الأول
    بواسطة : CalmKiller , في مساعدات و دروس صناعة الألعاب
    مشاركات: 8
    آخر مشاركة: 11-07-2010, 11:59 AM
  4. دروس أدوبي الدرس الثلاثون ::: تصميم مشهد من تحت سطح البحر ::: لأول مره يعرض هذا الدرس
    بواسطة : C.Falcon , في ادوبي جرافيكس - Adobe Graphics
    مشاركات: 25
    آخر مشاركة: 03-09-2005, 09:52 AM
  5. افتتاح شبكتي ل خدمات تصميم المواقع وتركيب السكربتات. بأرخص الاسعار
    بواسطة : asyaaduae , في المنتدى العام لتصميم و استضافة المواقع
    مشاركات: 0
    آخر مشاركة: 11-11-2003, 10:12 AM

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •