Ігри для програмістів (англ. Programming game) — відеогри, які містять елементи програмування, дозволяючи гравцеві керувати автономними частинами у грі за допомогою предметно-орієнтованої мови програмування (часто поданої як [en], щоб спростити програмувальну метафору). Такі ігри поділяють на однокористувацькі, де програмувальна частина є складником або і всією головоломкою та багатокористувацькі, де програма гравця змагається з іншими.
Класифікація
Однокористувацькі головоломки й багатокористувацькі змагання
Головоломки
Часто програмування є частиною головоломок, вимагаючи від гравця досягти певного результату, коли програма почне працювати. Прикладом є [ru], де гравець використовує візуальну мову, щоб керувати двома візуальними маніпуляторами, які розбирають та збирають хімічні молекули. У схожих іграх гравці можуть випробовувати та зневаджувати свої програми скільки потрібно, доки не отримають відповідь, що спрацює. Багато ігор заохочують оптимізувати розв’язок. Серед таких ігор відомі [en], [en].
Інші ігри містять елементи програмування як частину задачі у більшій грі. Серед таких ігор [en], [en], , , and [en].
Інакший підхід, який використовується в деяких графічних іграх з елементами програмування, полягає в тому, щоб надати гравцеві інтерфейс командного рядка для видачі наказів через предметно-орієнтовану мову, що направляє об'єкти в грі, дозволяючи гравцеві перезапускати команди, коли ситуація змінюється, а не створювати програму наперед. Такими є [en], [en], [en].
Змагання
Багато ігор з програмування залучають керовані об'єкти, такі як роботи, танки або бактерії, які прагнуть знищити один одного. Такі ігри можна вважати середовищами цифрових організмів, пов'язаних з імітацією штучного життя. Гравцям надаються інструменти для розроблення та тестування своїх програм у межах предметно-орієнтованої мови гри перед подачею програми на центральний сервер. Потім сервер виконує програму в змаганні проти інших і повідомляє результати гравцям, через що вони можуть вносити зміни або вдосконалення в програму. Існують різні турніри та ліги для ігор з програмування, де люди змагаються одне з одним. Зазвичай сценарій оптимізований для спеціальної стратегії. Подібні підходи використовуються для традиційних ігор; Чемпіонат світу з комп'ютерних шахів складається з поєдинків між програмами, написаними для абстрактної стратегічної гри в шахи.
Конкурентне програмування також знайшло свій шлях до різних настільних ігор, таких як [en] або Robot Turtles, як правило, програма стає підготованою колодою гральних карт, що діють одна за одною для виконання цього коду.
Дослідники представили RoboCode як основу "автентичного навчання" програмуванню.
Пов’язані галузі
Ігри з відкритим світом, які містять можливість для гравців створювати середовища з масиву будівельних блоків, часто використовуються просунутими гравцями для побудови логічних схем та досконаліших програм з фундаментальних блоків. Minecraft - один із таких прикладів, бо хоча гра надає обмежений набір блоків, що імітують комутатори та електричні кола, користувачі створили базові функціональні комп'ютери у віртуальному світі, а щонайменше одна модифікація спрямована на те, щоб навчити дітей програмувати на віртуальному комп'ютері спрощеною мовою.
Кілька сайтів, наприклад Codecademy, допомагають навчати справжнім мовам програмування через гейміфікацію, де принципи відеоігор використовуються для мотивації користувача.
За мовою програмування
Для програмування коду таких ігор можуть використовуватися різні мови програмування наприклад різновиди асемблеру або мов високого рівня. Також часто використовуються інтерпретовані мови програмування.
За ціллю гри
- Бої у пам'яті — задача зайняти усю пам'ять комп'ютера, підвісити програму супротивника.
- Настільні ігри — турніри між комп'ютерам у іграх типу шахи, ґо та інші.
- Бойові роботи — ціллю гри є написати програму для керування іграшковою бойовою машиною(робот, танк). У деяких іграх можна змінювати конфігурацію робота (броня, зброя, та інше).
- Інші. Керування гоночними машинами, віртуальними колоніями бактерій, і т. д.
Історія
У 1961 році у Bell Labs була розроблена гра Дарвін. На початку 1980-х років під впливом цієї гри була розроблена гра «Бій у пам'яті» (Core War).
У 1970 році пройшов перший шаховий турнір серед ЕОМ.
У 1981 році компанія MUSE Software випустила гру під назвою Robot War – саме це була перша гра, в якій програмісту доводилось керувати роботом. Гравцю дозволялося створити код для управління роботом за допомогою спеціальної мови програмування з обмеженням у 256 рядків.
Також ранніми прикладами жанру є [en] та [en].
У 1985 році була розроблена гра — це перша гра, в якій програмісту доводилося керувати роботом.
Примітки
- Sayer, Matt (3 жовтня 2016). . Rock, Paper, Shotgun (амер.). Архів оригіналу за 9 жовтня 2016. Процитовано 9 червня 2020.
- Bosch, Synonymous (26 листопада 2018). . Rock, Paper, Shotgun (амер.). Архів оригіналу за 10 червня 2020. Процитовано 9 червня 2020.
- Metz, Cade (24 липня 2014). . Wired. ISSN 1059-1028. Архів оригіналу за 5 жовтня 2016. Процитовано 9 червня 2020.
- O'Kelly, Jackie; Gibson, J. Paul (26 червня 2006). RoboCode & problem-based learning. ACM SIGCSE Bulletin. Т. 38, № 3. с. 217. doi:10.1145/1140123.1140182. ISSN 0097-8418. Процитовано 9 червня 2020.
- Finley, Klint (18 серпня 2014). . Wired. ISSN 1059-1028. Архів оригіналу за 16 листопада 2018. Процитовано 9 червня 2020.
- Vincent, Alice (19 серпня 2011). . Wired UK. ISSN 1357-0978. Архів оригіналу за 20 січня 2021. Процитовано 9 червня 2020.
Посилання
- Programming Games Wiki [ 26 січня 2012 у Wayback Machine.](англ.)
- Константин Ветлугин, Денис Коновальчик. Аты-Боты // [ru]. — 6 апреля 1999. — № 14 (292).
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Igri dlya programistiv angl Programming game videogri yaki mistyat elementi programuvannya dozvolyayuchi gravcevi keruvati avtonomnimi chastinami u gri za dopomogoyu predmetno oriyentovanoyi movi programuvannya chasto podanoyi yak en shob sprostiti programuvalnu metaforu Taki igri podilyayut na odnokoristuvacki de programuvalna chastina ye skladnikom abo i vsiyeyu golovolomkoyu ta bagatokoristuvacki de programa gravcya zmagayetsya z inshimi KlasifikaciyaOdnokoristuvacki golovolomki j bagatokoristuvacki zmagannya Golovolomki Chasto programuvannya ye chastinoyu golovolomok vimagayuchi vid gravcya dosyagti pevnogo rezultatu koli programa pochne pracyuvati Prikladom ye ru de gravec vikoristovuye vizualnu movu shob keruvati dvoma vizualnimi manipulyatorami yaki rozbirayut ta zbirayut himichni molekuli U shozhih igrah gravci mozhut viprobovuvati ta znevadzhuvati svoyi programi skilki potribno doki ne otrimayut vidpovid sho spracyuye Bagato igor zaohochuyut optimizuvati rozv yazok Sered takih igor vidomi en en Inshi igri mistyat elementi programuvannya yak chastinu zadachi u bilshij gri Sered takih igor en en and en Inakshij pidhid yakij vikoristovuyetsya v deyakih grafichnih igrah z elementami programuvannya polyagaye v tomu shob nadati gravcevi interfejs komandnogo ryadka dlya vidachi nakaziv cherez predmetno oriyentovanu movu sho napravlyaye ob yekti v gri dozvolyayuchi gravcevi perezapuskati komandi koli situaciya zminyuyetsya a ne stvoryuvati programu napered Takimi ye en en en Zmagannya Bagato igor z programuvannya zaluchayut kerovani ob yekti taki yak roboti tanki abo bakteriyi yaki pragnut znishiti odin odnogo Taki igri mozhna vvazhati seredovishami cifrovih organizmiv pov yazanih z imitaciyeyu shtuchnogo zhittya Gravcyam nadayutsya instrumenti dlya rozroblennya ta testuvannya svoyih program u mezhah predmetno oriyentovanoyi movi gri pered podacheyu programi na centralnij server Potim server vikonuye programu v zmaganni proti inshih i povidomlyaye rezultati gravcyam cherez sho voni mozhut vnositi zmini abo vdoskonalennya v programu Isnuyut rizni turniri ta ligi dlya igor z programuvannya de lyudi zmagayutsya odne z odnim Zazvichaj scenarij optimizovanij dlya specialnoyi strategiyi Podibni pidhodi vikoristovuyutsya dlya tradicijnih igor Chempionat svitu z komp yuternih shahiv skladayetsya z poyedinkiv mizh programami napisanimi dlya abstraktnoyi strategichnoyi gri v shahi Konkurentne programuvannya takozh znajshlo svij shlyah do riznih nastilnih igor takih yak en abo Robot Turtles yak pravilo programa staye pidgotovanoyu kolodoyu gralnih kart sho diyut odna za odnoyu dlya vikonannya cogo kodu Doslidniki predstavili RoboCode yak osnovu avtentichnogo navchannya programuvannyu Pov yazani galuzi Igri z vidkritim svitom yaki mistyat mozhlivist dlya gravciv stvoryuvati seredovisha z masivu budivelnih blokiv chasto vikoristovuyutsya prosunutimi gravcyami dlya pobudovi logichnih shem ta doskonalishih program z fundamentalnih blokiv Minecraft odin iz takih prikladiv bo hocha gra nadaye obmezhenij nabir blokiv sho imituyut komutatori ta elektrichni kola koristuvachi stvorili bazovi funkcionalni komp yuteri u virtualnomu sviti a shonajmenshe odna modifikaciya spryamovana na te shob navchiti ditej programuvati na virtualnomu komp yuteri sproshenoyu movoyu Kilka sajtiv napriklad Codecademy dopomagayut navchati spravzhnim movam programuvannya cherez gejmifikaciyu de principi videoigor vikoristovuyutsya dlya motivaciyi koristuvacha Za movoyu programuvannya Dlya programuvannya kodu takih igor mozhut vikoristovuvatisya rizni movi programuvannya napriklad riznovidi asembleru abo mov visokogo rivnya Takozh chasto vikoristovuyutsya interpretovani movi programuvannya Za cillyu gri Boyi u pam yati zadacha zajnyati usyu pam yat komp yutera pidvisiti programu suprotivnika Nastilni igri turniri mizh komp yuteram u igrah tipu shahi go ta inshi Bojovi roboti cillyu gri ye napisati programu dlya keruvannya igrashkovoyu bojovoyu mashinoyu robot tank U deyakih igrah mozhna zminyuvati konfiguraciyu robota bronya zbroya ta inshe Inshi Keruvannya gonochnimi mashinami virtualnimi koloniyami bakterij i t d IstoriyaU 1961 roci u Bell Labs bula rozroblena gra Darvin Na pochatku 1980 h rokiv pid vplivom ciyeyi gri bula rozroblena gra Bij u pam yati Core War U 1970 roci projshov pershij shahovij turnir sered EOM U 1981 roci kompaniya MUSE Software vipustila gru pid nazvoyu Robot War same ce bula persha gra v yakij programistu dovodilos keruvati robotom Gravcyu dozvolyalosya stvoriti kod dlya upravlinnya robotom za dopomogoyu specialnoyi movi programuvannya z obmezhennyam u 256 ryadkiv Takozh rannimi prikladami zhanru ye en ta en U 1985 roci bula rozroblena gra ce persha gra v yakij programistu dovodilosya keruvati robotom PrimitkiSayer Matt 3 zhovtnya 2016 Rock Paper Shotgun amer Arhiv originalu za 9 zhovtnya 2016 Procitovano 9 chervnya 2020 Bosch Synonymous 26 listopada 2018 Rock Paper Shotgun amer Arhiv originalu za 10 chervnya 2020 Procitovano 9 chervnya 2020 Metz Cade 24 lipnya 2014 Wired ISSN 1059 1028 Arhiv originalu za 5 zhovtnya 2016 Procitovano 9 chervnya 2020 O Kelly Jackie Gibson J Paul 26 chervnya 2006 RoboCode amp problem based learning ACM SIGCSE Bulletin T 38 3 s 217 doi 10 1145 1140123 1140182 ISSN 0097 8418 Procitovano 9 chervnya 2020 Finley Klint 18 serpnya 2014 Wired ISSN 1059 1028 Arhiv originalu za 16 listopada 2018 Procitovano 9 chervnya 2020 Vincent Alice 19 serpnya 2011 Wired UK ISSN 1357 0978 Arhiv originalu za 20 sichnya 2021 Procitovano 9 chervnya 2020 PosilannyaProgramming Games Wiki 26 sichnya 2012 u Wayback Machine angl Konstantin Vetlugin Denis Konovalchik Aty Boty ru 6 aprelya 1999 14 292