لعبة برمجة

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

كألعاب ألغاز

تشمل الألعاب المبكرة في هذا النوع System 15000 و Hacker ، اللذان صدرا في عامي 1984 و 1985 على التوالي.

تُستخدم ألعاب البرمجة كجزء من ألعاب الألغاز، حيث تتحدى اللاعب لتحقيق نتيجة محددة بمجرد بدء تشغيل البرنامج. ومن أمثلة هذه الألعاب لعبة SpaceChem ، حيث يتعين على اللاعب استخدام لغتها المرئية للتحكم في شخصيتين من نوع "والدو" لتفكيك وإعادة تجميع الجزيئات الكيميائية. في هذه الألعاب، يستطيع اللاعبون اختبار برنامجهم وتصحيح أخطائه كلما دعت الحاجة حتى يجدوا حلاً ناجحاً. تشجع العديد من هذه الألعاب اللاعب على إيجاد البرنامج الأكثر كفاءة، وذلك بناءً على عدد الخطوات الزمنية المطلوبة أو عدد الأوامر اللازمة. ومن الألعاب المشابهة الأخرى Human Resource Machine [ 1 ] و Infinifactory و TIS-100 . تُعد شركة Zachtronics شركة لتطوير ألعاب الفيديو ، وتشتهر بألعاب الألغاز التي تركز على البرمجة . [ 2 ]

تتضمن ألعاب أخرى عناصر البرمجة كجزء من الألغاز في اللعبة الرئيسية. على سبيل المثال، تتضمن لعبة Hack 'n' Slash استعارةً تتمثل في إمكانية الوصول إلى البرامج والمتغيرات الداخلية للأشياء المُمثلة في عالم اللعبة، مما يُوقف اللعبة مؤقتًا أثناء تفاعل اللاعب مع واجهة البرمجة هذه، وتعديل برنامج الشيء للتقدم أكثر؛ وقد يكون هذا تغيير حالة الشيء من كونه غير قابل للتدمير إلى قابل للتدمير. ومن الألعاب الأخرى المشابهة التي تتبع هذا النهج البرمجي: Transistor و Heart.Break() و Glitchspace و Pony Island . [ 3 ]

يُستخدم نهج آخر في بعض الألعاب الرسومية التي تتضمن عناصر برمجية، وهو تزويد اللاعب بواجهة سطر أوامر لإصدار الأوامر عبر لغة برمجة خاصة بالمجال لتوجيه العناصر داخل اللعبة، مما يسمح للاعب بإعادة إصدار الأوامر مع تغير الموقف بدلاً من كتابة برنامج مُعد مسبقًا. في ألعاب مثل Quadrilateral Cowboy و Duskers ، يتحكم المستخدم بعدة مخلوقات آلية صغيرة بشكل متزامن باستخدام لغة البرمجة للوصول إلى هدف معين. [ 3 ] أما لعبة Hackmud ، فتُقدم للاعب واجهة حاسوب مركزي مُحاكاة يُصدر من خلالها الأوامر للتقدم للأمام. [ 4 ]

باعتبارها ألعابًا تنافسية

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

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

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

قدم الباحثون برنامج RoboCode باعتباره ركيزة "للتعلم القائم على حل المشكلات" لتعليم البرمجة. [ 6 ]

لطالما استُخدمت ألعاب العالم المفتوح، التي تتيح للاعبين بناء بيئات باستخدام مجموعة متنوعة من وحدات البناء، من قِبل اللاعبين الأكثر خبرة لإنشاء دوائر منطقية وبرامج أكثر تطورًا انطلاقًا من هذه الوحدات الأساسية. تُعدّ لعبة ماينكرافت مثالًا على ذلك، فبينما توفر اللعبة مجموعة محدودة من الوحدات التي تحاكي المفاتيح والدوائر الكهربائية، تمكّن المستخدمون من إنشاء أجهزة كمبيوتر وظيفية أساسية داخل العالم الافتراضي، ويهدف أحد التعديلات على الأقل إلى تعليم الأطفال كيفية البرمجة على الكمبيوتر الافتراضي بلغة بسيطة. [ 7 ]

تساعد العديد من المواقع، مثل Codecademy ، في تعليم لغات البرمجة الواقعية من خلال أسلوب التلعيب ، حيث تُستخدم مبادئ ألعاب الفيديو لتحفيز المستخدم. [ 8 ]

انظر أيضاً

مراجع

  1. ساير، مات (3 أكتوبر 2016). "هل يمكن لألعاب الفيديو أن تعلمك البرمجة؟" . روك بيبر شوتجن . تم الاطلاع عليه في 3 أكتوبر 2016 .
  2. تاراسون، دومينيك (7 فبراير 2019). "كتاب زاكترونيكس "زاك-لايك" يُظهر كيف تُصنع ألغاز النقانق" . روك بيبر شوتجن .
  3. 1 2 كالدول، بريندان (9 نوفمبر 2015). "أفضل 10 ألعاب في القرصنة والبرمجة والحوسبة" . روك بيبر شوتجن . تم الاطلاع عليه في 3 أكتوبر 2016 .
  4. كالدول، بريندان (27 سبتمبر 2016). "ما أعتقده: هاكمود" . روك بيبر شوتجن . تم الاسترجاع في 3 أكتوبر 2016 .
  5. ميتز، كيد (24 سبتمبر 2014). "ملحمة 75 عامًا وراء لعبة تُعلّم أطفال ما قبل المدرسة البرمجة" . وايرد . تم الاطلاع عليه في 3 أكتوبر 2016 .
  6. أوكيلي، جاكي، وج. بول جيبسون. "RoboCode والتعلم القائم على حل المشكلات: نهج غير توجيهي لتدريس البرمجة." نشرة ACM SIGCSE 38، العدد 3 (2006): 217-221.
  7. فينلي، كلينت (18 أغسطس 2014). "تعديل جديد للعبة ماينكرافت يعلمك البرمجة أثناء اللعب" . مجلة وايرد . تم الاطلاع عليه في 3 أكتوبر 2016 .
  8. فينسنت، أليس (19 أغسطس 2011). "Codecademy 'تحوّل' عملية تعلم جافا سكريبت إلى لعبة" . Wired . تم الاطلاع عليه في 3 أكتوبر 2016 .