وسام البهنسي

مدونة مبرمج معماري

اللعبة الأولى

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

 

أنهيتُ كتابة هذه اللعبة في الثانوية العامة، تقريباً عام 1418 هـ أو 1997 مـ، ولا أذكر بصراحة متى بدأتُ بالمشروع ككل. لكني أرجح أن ذلك كان خلال السنة الدراسية السابقة (الصف الثاني الثانوي).

 

هذه لقطة للعبة كما تظهر على شاشة الحاسوب القديمة :

  صورة للشاشة وهي تعرض رقعة لعب مونوبولي

 

حسناً، أنا في الواقع لم أنهِ إنجاز اللعبة، لكن انتظر لحظة قبل أن تتهمني بالكذب والادعاء. فإليك ملابسات القصة.

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

ثانياً، كامل رسوميات اللعبة "مبرمجة" وليست محفوظة في ملف صورة كما نفعل هذه الأيام. أي أنك ستجد في الكود أسطراً تقوم بكتابة الكلمات نقطة بنقطة، ورسم وتلوين الأشكال بأسلوب تحديد الشكل ثم تعبئته باللون المطلوب (Flood Fill).

 

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

 

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

 

حسناً، الآن كما ترى وقد بررتُ لك موقفي، لن تستطيع أن تتهمني بالكذب والادعاء، لكنك تستطيع أن تتهمني بعدم الخبرة والغباء ابتسامة لن أعترض على ذلك ابتسامة

 

هذه لقطة من كود اللعبة على شاشة كيوبيسك:

 

بيئة تطوير مايكروسوفت كيوبيسك، ويظهر بها بعض الكود المشين الذي كنت أكتبه سابقاً

 

على أنني كنتُ قد بذلتُ جهداً جاداً آنذاك لمحاولة الفكاك من قيد حجم الكود هذا، وقد وجدتُ تعليمة تسمح لك بتنفيذ برنامج كيوبيسك آخر من خلال برنامجك (تدعى CHAIN)، لكن ضريبتها أن البرنامج الأول سيتوقف تماماً عن العمل وستفقد متغيراته كافة قيمها لتبدأ من الصفر مرة أخرى.

 

ما علينا، المهم أن هذه الورطة كانت سبب انتقالي للغة C حيثُ لا توجد هذه المحدودية (لكني أيضاً توقفت عن عادة تكرار أسطر الكود!).

 

قدّمتُ اللعبة كمشروع للمعرض العلمي للطلاب في الرياض، وقد حازت على المركز الثاني (أعتقد أن هذا جزاء عادل لعدم إتمامي اللعبة). هذه صورة من الدرع الذي أهدِيتُه في آخر يوم دراسي:

 

درع المشاركة المتميزة للعبة مونوبولي كيوبيسك 

(تباً! لقد أخطؤوا الخطأ الكريه بأن وضعوا نقطتين تحت الألف المقصورة ليتحول حرف الجر "على" إلى "علي"!!!)

 

أنتهز الفرصة هنا لأشكر أساتذتي الذين رعوني ورعوا هذا العمل في المدرسة الأستاذ عبد الله الدهمش مدرس مادة الحاسب، والأستاذ سعيد عبد الله بالبيد مدرس مادة الكيمياء (ومؤلف كتاب المساعد في الكيمياء) في مدرسة الجزيرة الثانوية، حفظهم الله وبارك لهم في أعمارهم وجزاهم خير الأجر عني.

 

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

 

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

التعليقات (4) -

  • احمد عز

    05/01/2010 05:14:52 م | الرد

    السلام عليكم

    بداية درامية للدخول في تطوير الالعاب (أمزح بالطبع)
    ما شاء الله أخي وسام
    هل لي أن أسأل ، هل تتذكر كم استغرق ذلك المشروع الاول لك؟
    أتمنى أن يقوم الكثيرين مثل حضرتك بمشاركتنا بتاريخهم في الدخول في عالم البرمجة

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

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

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

  • wbahnassi

    08/01/2010 01:27:50 ص | الرد

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

    هل لي أن أسأل ، هل تتذكر كم استغرق ذلك المشروع الاول لك؟
    فيما أذكر أن العمل امتد لستة أشهر تقريباً، فإن قلنا أنني عرضتُ اللعبة عام 1418 هـ فتكون عندها بداية العمل في نهاية العام الدراسي 1417-1418 هـ.

  • عبدالله الشمّري

    26/03/2010 03:22:20 ص | الرد

    [quote]أنتهز الفرصة هنا لأشكر أساتذتي الذين رعوني ورعوا هذا العمل في المدرسة الأستاذ عبد الله الدهمش مدرس مادة الحاسب، والأستاذ سعيد عبد الله بالبيد مدرس مادة الكيمياء (ومؤلف كتاب المساعد في الكيمياء) في مدرسة الجزيرة الثانوية، حفظهم الله وبارك لهم في أعمارهم وجزاهم خير الأجر عني.
    [quote/]
    ماذا ؟
    ثانوية الجزيرة ،
    ماشاء الله ..
    مدرسة رائعة .. وطالب رائع أيضاً .
    والاستاذ بالبيد .. من أفضل من كتب عن الكيمياء .. استفدت من كتابه كثيراً أيام الثانوية .
    سعيد جداً بأن يكون أحد مبرمجي الألعاب ، خرج من ثانوية قريبة من منزلي .. هذا يبعث بالامل من جديد .. لأن أصبح مبرمج ألعاب جيد .. أيضا Smile .

    عذراً عن الخروج عن الموضوع .. قليلاً .. والرد متأخراً ..
    ولكن تدوينتك هذه مؤثرة Frown ، ومفاجأة بصراحة ..
    كنت أعتقد أنك ممن درسوا وتتلمذوا في الغرب أو مدارس خاصة .. فتحولوا لمبرمجي ألعاب .. بسبب البيئة المحيطة بهم .. ولم أتصور أنك كنت هنا في "اقليم نجد " عام 1418هـ .

    تقديري واحترامي لك أخي وسام ..

  • wbahnassi

    26/03/2010 08:15:46 م | الرد

    كنت أعتقد أنك ممن درسوا وتتلمذوا في الغرب أو مدارس خاصة .. فتحولوا لمبرمجي ألعاب .. بسبب البيئة المحيطة بهم .. ولم أتصور أنك كنت هنا في "اقليم نجد " عام 1418هـ .
    ولدتُ في الرياض وقضيت بها أجمل سنيّ عمري وأعتبر المملكة العربية السعودية هي وطني الأول. درستُ الابتدائية في المربع ثم المتوسطة في المتوسطة الثانية وأخيراً الثانوية في ثانوية اليمامة (رحمها الله) والثاني والثالث ثانوي في الجزيرة. كلها مدارس حكومية كنتُ أفخر بها وأسعد عند ذهابي إليها (وهو ما كان يستغربه بعض زملائي آنذاك).

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

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

أضف تعليقاً

Loading