Шахи льоду та полум’я

«зачеплення»
Гра ця зветься кайвасою. Її завезли до Дощатого міста на волонтинській торговій галері, а сироти рознесли її вгору і вниз Зеленою Кровою. При дорнійському дворі всі збожеволіли на ній... Десять фігур, кожна з яких ходить по-різному, а дошка змінюється з кожною грою, дивлячись як гравці перемішають свої квадратики.

полум

Бпрольша «природність» і продуманість — ось що насамперед кинулося мені у вічі. Подивіться, як кіннота обходить гори. Кожна фігура, у цій грі, може переміщатися не більше ніж на задану кількість кроків і, виконуючи «тихий хід», вона може «повертати» як завгодно, головне — не повертатися на раніше пройдені клітини і не заступати на територію, зайняту супротивником або горами. ». Через клітини зайняті своїми фігурами проходитиможна(виключенням є «Слон», який може проходити «крізь» інші постаті), не можна лише завершувати ними хід.

Так вийшло, що в суто технічному плані, реалізувати подібні блукання на ZRF непросто. Хід фігури складається з кількох кроків у довільному напрямку, як правило, з додатковою умовою не відвідування вже пройдених полів. Я робив гру з подібною механікою, але в той раз використовував механізм часткових ходів (та й то не надто вдало, в окремих випадках фігура могла загнати себе в глухий кут). Коли я вже думав, що без Axiom тут не обійтися, рішення саме, раптом, несподівано спало мені на думку:

Взяття здійснюється тільки «за прямою» і, в більшості випадків, за «шаховим принципом» — фігура, яка виконує взяття, стає на місце взятої фігури (тут знову є виняток — «Катапульта», про яку я розповім нижче). При цьому брати можна далеко не будь-яку фігуру! Zane вводить поняття «зачеплення»(Engagement). Також як взяття, «зачеплення» поширюється прямою, на кількість кроків індивідуальне для кожного типу фігури.

З поняттям "зачеплення" тісно пов'язане "озброєння" фігури. Усі фігури поділяються на легко-, тяжко-і не озброєні. "Ополченець" (Rabble) - легка фігура, не може просто так атакувати важку, наприклад "Слона" (Elephant). Для того, щоб атакувати, йому потрібно «зачеплення» мети ще однією легкою (або важкою) фігурою. З іншого боку, "Слон" легко може атакувати "Ополченця" (за винятком, хіба що випадку, коли він перебуває у воді). Також він може поодинці «зачепити» будь-яку важку постать противника, навіть «Дракона» (Dragon). Чи не озброєні (unarmored) фігури («Арбалетчик» і «Катапульта») можуть бути взяті без «зачеплення».

В основному, через кількість писанини. У різних фігур — різна дистанція зачеплення, та й узагалі вони різні. «Дракон» — може літати через гори, «Копійники» чіпляють лише два поля перед собою, треба врахувати дію «води», а перевірка на присутність дружніх/ворожих «Фортець» поблизу — це взагалі морок. Загалом, все складно (і не виключено, що в коді є помилки), але начебто все працює як задумано:

Дистанція «зачеплення» збігається з максимальною дистанцією ходу фігури лише в найпростіших випадках (Rabble,SpearsтаKing). Звичайною є ситуація, при якій відстань, на якій можливе «зачеплення», менше максимального ходу фігури (Light Horse,Heavy Horse,Dragon). Втім, є виняток. «Слон» (Elephant) — важка фігура, що переміщається лише на одну клітинку за хід, але «зачепити» ворожу фігуру він може на відстані двох клітин! Більше того, він може її з'їсти, пересунувшись на дві клітини, але лише заумови, що шлях не загороджують будь-які перешкоди (на відміну від інших фігур, «Слон» не може проходити через клітини, зайняті іншими фігурами. Всі ці особливості роблять гру ще більш цікавою, в тактичному плані. Подивіться, наприклад, рішення одного із завдань підручника :

«зачеплення»

Відстань «зачеплення», для кінноти – одиниця. Щоб узяти ворожу фігуру (за відсутності інших фігур, що виконують «зачеплення»), доведеться підійти впритул, але під час бою є свобода вибору — зупинитися на полі взятої фігури або рухатися далі (на зразок дамки в шашках). Максимальна дистанція - три кроки дляLight Horseі два дляHeavy Horse. Детальні параметри всіх фігур можна переглянути в посібнику до гри:

  • Rabble(x6) — light armor, movement allowance 1, engagement range 1
  • Spears(x3) — light Armor, Movement Allowance 1, Engagement Range 1
  • Light Horse(x3) — light Armor, Movement Allowance 3, Engagement Range 1
  • Heavy Horse(x2) - heavy armor, Movement Allowance 2, Engagement Range 1
  • Elephant(x2) - heavy armor, Movement Allowance 1, Engagement Range 2
  • Crossbows(x2) — unarmored, Movement Allowance 2, Engagement Range 3
  • Требухет(x1) — unarmored, Movement Allowance 1, Engagement Range 4 (min. 2)
  • Dragon(x1) - heavy armor, Movement Allowance 4, Engagement Range 2
  • Tower(x2) - heavy armor, Movement Allowance 0, Engagement Range 1
  • King(x1) — light armor, Movement Allowance 1, Engagement Range 1
Там же можна знайти інформацію про особливості кожної фігури. Деякі з цих приміток вводять у збентеження. Наприклад, для «Арбалетника» (Crossbows) написано таке:"Crossbows cannot capture". Навіщо може знадобитися фігура нездатна брати фігури противника? Знову, вся річ у «зачепленні»!Crossbows- не захищена фігура нездатна до ближнього бою, але вона може "захоплювати" фігури супротивника на великій відстані. Наступне завдання із підручника це ілюструє. Якщо "Арбалетчик" зрушить так, щоб "захопити" всі цілі, "Вершник" зможе побити їх за три ходи:

може

може

Інша слабо захищена (unarmored) фігура - «Катапульта» (Trebuchet). Тут із взяттям все гаразд! Фігура б'є здалеку, на дистанцію від двох до чотирьох кроків (противника «Катапульта», що розташувався впритул, побити не може). Унікальність цієї постаті в тому, що після виконання взяття "Катапульта" продовжує залишатися в тилу. Щоб узяти фігуру противника, вона переміщається на один крок у протилежному напрямку (звичайно, якщо там є вільне місце)! Це важлива стратегічна зброя, «Катапульту» необхідно всіляко оберігати!

шахи

Я відіслав дистрибутив на публікацію і лише потім помітив, що "Катапульти" розташовані вкрай невдало. Так, я залишив за ними місце, але в оригінальній версії гри через гори вони стріляти не вміють! Можливо цей скріншот так і залишився б кумедним казусом, але мені спало на думку цікава ідея: «чому б катапультам і не стріляти через гори, адже вони стріляють навісом»? Так народилося наступне доповнення: якщо на шляху пострілу раптом виявилася гора, «Катапульта» не може виконати «зачеплення», але якщо знайшовся «навідник», що вже зачепив мету, пульнути в неї камінчик поверх гір «Катапульта» цілком здатна! На мою думку, це непогана ідея, яка додає в гру ще більше тактичних можливостей.

«Фортеця» (Tower) - ще однадуже дивна постать. Вона не рухається! Зовсім. Загалом, це навіть логічно. Де (крім японських мультиків) ви бачили фортеці, що рухаються? Завдання фортеці - захист (і вона з цим завданням чудово справляється). Фігура, що знаходиться поблизу дружньої фортеці, не може бути «зачеплена». Щоб її вбити, спершу доведеться зруйнувати фортецю, а це не просто. Крім того, "Король" (King) вміє "стрибати" крізь дружню "Фортецю", опиняючись по інший бік від неї за один хід.

льоду

A piece that is adjacent to one or more opposing Towers cannot engage any pieces except the adjacent Tower(s)

Варто розповісти про дві найслабші постаті, до яких, однаково, підходить вислів «малий, та удалий». «Копійник» (Spears) — це, в якомусь сенсі, аналог шахового пішака. Може йти тільки вперед і атакує всього два поля перед собою (правда, при цьому ні на що не перетворюється). Чим може бути корисною така фігура? Звичайно ж, вона має секрет. Контрольовані нею два поля (всього два) жодна з ворожих фігур не може проскочити за один хід. Наприклад, це означає, що кіннота не може атакувати «Копейника» з фронту, навіть якщо той «зачеплений» іншою фігурою. Спочатку вона має підійти впритул.Spears- це чудовий захисний юніт, що нагадує «Охоронця» (Хіа) з монгольської гри Хіашатар.

З «Ополченцями» (Rabble) все трохи простіше. Вони можуть ходити (і "бити") на один крок, у будь-який бік, як "Король". Фокус полягає в тому, що гравець має право зробити два «тихих» ходи «Ополченцями» поспіль. Це атакуючий юніт. Зробивши два «тихі» ходи, можна створити дві загрози, у різних кінцях дошки. Одного «Ополченця» швидше за все з'їдять, але іншим можна буде організувати прорив. Це рішення мені теж шаленоподобається.

Залишилося розповісти про рельєф місцевості. Крім фігур, на дошці можуть бути розташовані «гори» та «водойми». Із «горами» все зрозуміло — жодна фігура не може розташовуватися «на горі» і лише «Дракон» вміє перелітати через гори. Зрозуміло, "гори" перекривають "огляд", перешкоджаючи "зачепленню" ворожих фігур (про нюанс з "Катапультою" я вже говорив). З «водойми» все складніше. Фігури в них розміщувати можна, але з втратою можливості зачеплення ними ворожих фігур. Це також додає тактичну різноманітність гри.

Якщо з «горами» все було просто (ну, постаті та постаті), то «вода» завдала клопоту. Ні, в принципі, її теж міг зробити фігурами. Я якось уже так робив і ось до чого все привело. Це не лаг був, а така конструктивна особливість! Втім, на той раз вибору не було. Малювання зелених квадратиків на чорному тлі відібрало б купу часу і вдвічі роздуло і без того полуторно-мегабайтний дистрибутив, на 90% заповнений радикально-чорними «задниками».

Грає, в принципі, теж цілком осудно (особливо, якщо комп'ютер потужніший, та час «на обмірковування» виставлено більше.

Сама гра мені дуже сподобалася. У тактичному плані, вона здалася мені не менш складною, ніж Ko Shogi, вигідно відрізняючись від останньої більшої «лаконічністю» і продуманістю. Усі фігури працюють! І для гри цілком достатньо щодо невеликої дошки. А про те, як послабити «Фортеці» я ще подумаю.

A piece that is adjacent to one or more opposing Towers cannot engage any pieces except the adjacent Tower(s).

Як це зазвичай і буває, в процесі написання першого постскриптуму до цієї статті я раптово зрозумів, що взяв до уваги не всі можливі ситуації. Картинка нижче ілюструє проблему:

«зачеплення»

А у насТут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»