# لعبة برمجة

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

## مثل ألعاب الألغاز

تشمل الألعاب المبكرة في هذا النوع سيستم 15000 وهاكر، وصدرا في 1984 و1985 على التوالي.
تم استخدام ألعاب البرمجة كجزء من ألعاب الألغاز، مما يمثل تحديًا للاعب لتحقيق نتيجة محددة بمجرد بدء تشغيل البرنامج. مثال على هذه اللعبة هو سبيس تشيم، حيث يجب على اللاعب استخدام لغته المرئية لمعالجة اثنين من المناور عن بعد لتفكيك وإعادة تجميع الجزيئات الكيميائية. في مثل هذه الألعاب، يمكن للاعبين اختبار برنامجهم وتصحيحه كلما دعت الحاجة إلى ذلك حتى يجدون حلاً ناجحًا. تشجع العديد من هذه الألعاب اللاعب على العثور على البرنامج الأكثر كفاءة، ويقاس بعدد الخطوات الزمنية المطلوبة أو عدد الأوامر المطلوبة. تتضمن الألعاب المشابهة الأخرى هيومان ريسورس ماشين وسبيش تشيم وTIS-100 أٌنشِئَت بواسطة زاكترونيكس، شركة تطوير ألعاب فيديو معروفة بتطوير ألعاب الألغاز التي تنفذ البرمجة في ميكانيكا الألعاب.
تتضمن الألعاب الأخرى عناصر البرمجة كأجزاء من الألغاز في اللعبة الأكبر. على سبيل المثال، تتضمن هاكن سلاش استعارة للقدرة على الوصول إلى البرامج الداخلية ومتغيرات الكائنات الممثلة في عالم اللعبة، وإيقاف بقية اللعبة مؤقتًا حيث يشترك اللاعب في واجهة البرمجة هذه، وتعديل برنامج الكائن من أجل مزيد من التقدم؛ قد يؤدي هذا إلى تغيير حالة الكائن من غير قابل للتدمير إلى قابل للتدمير. تتضمن الألعاب الأخرى المشابهة مع هذا النوع من أسلوب البرمجة ترانزستور وإيلسي هارت.بريك وغليتشسبيس وبوني آيلاند.
هناك طريقة أخرى مستخدمة في بعض الألعاب الرسومية مع عناصر البرمجة وهي تقديم للاعب واجهة سطر أوامر لإصدار أوامر عبر لغة خاصة بالمجال لتوجيه الكائنات داخل اللعبة، مما يسمح للاعب بإعادة إصدار الأوامر مع تغير الموقف بدلاً من صياغة برنامج مسبق الصنع. ألعاب مثل كوادرلاتيرال كاوبوي وداسكيرس لديها مستخدم يقود العديد من المخلوقات الآلية الصغيرة جنبًا إلى جنب من خلال لغة الكود للوصول إلى هدف معين. تقدم لعبة هاكمد للاعب واجهة حاسب مركزي يُصدر من خلالها أوامر للتقدم للأمام.

## مثل الألعاب التنافسية

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

## المجالات ذات الصلة

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