Hash Runner — Бігом по ланцюгу

Нескінченний раннер на WebGL по блокчейну. Перестрибуйте застарілі блоки, ухиляйтеся від орфанів, збирайте нонси й запечатуйте блоки. Безкоштовно, без реєстрації.

Hash Runner

Стрілки або A/D — змінити смугу, пробіл чи W — стрибок. На телефоні: свайп убік, тап — стрибок.

Як грати
  • Стрілки або A/D змінюють смугу; пробіл, W чи стрілка вгору — стрибок. На телефоні свайп убік змінює смугу, тап — стрибок.
  • Бурштинова перекладина впоперек усіх трьох смуг — застарілий блок. Перестрибніть: зміщуватися вбік марно.
  • Червона стіна на двох смугах — орфан. Перейдіть на вільну смугу: вона вища за ваш стрибок.
  • Зелені куби — нонси. Шість штук запечатують блок, і кожен блок пришвидшує доріжку, доки швидкість не впреться в межу.

Як це працює

Нескінченний раннер із двома перешкодами, які вимагають від вас протилежного. Застарілий блок лежить упоперек усіх трьох смуг — його перестрибують, а зміна смуги не допомагає. Орфан стоїть на повний зріст на двох смугах із трьох — переходять на вільну, а стрибок не допомагає, бо стіна вища за стрибок. Тобто немає однієї кнопки, яка тримає вас при житті: «завжди стрибати» гине на першому орфані, а «стояти на місці» гине не повільніше — об перекладину або об стіну на смузі, з якої ви так і не зійшли. І те, і те виміряне в тестах, а не проголошене. Нонси лежать на тій самій лінії, куди веде виживання: на вільній смузі орфана і в повітрі над перекладиною. Шість нонсів запечатують блок, кожен блок пришвидшує доріжку, доки швидкість не впреться в межу, а проміжок між перешкодами стискається з трохи більше секунди до чотирьох десятих, де й зупиняється, — майже будь-який забіг закінчується приблизно там. Малюється на WebGL із написаними вручну шейдерами й без 3D-бібліотеки, тож уся сторінка лишається в бюджеті продуктивності; без WebGL вмикається 2D-рендерер і грати все одно можна. Усе працює на вашому пристрої, нікуди нічого не надсилається.

Гра про ланцюг, а не посібник із майнінгу. Справжній застарілий блок — це те, що лишає по собі консенсус; справжній орфан — блок, що прийшов раніше за свого батька. Ні те, ні те об'їхати не можна.

Часті запитання

Чим застарілий блок відрізняється від орфана?

У грі застарілий блок лежить упоперек доріжки, а орфан стоїть на двох смугах: одному потрібен стрибок, іншому — зміна смуги. Назви взяті зі справжнього майнінгу. Застарілий блок — це валідний блок, що програв гонку: його змайнено, але продовжили будувати на іншому блоці тієї ж висоти. «Орфаном» у побуті називають те саме; строго кажучи це блок, чийого батька вузол ще не бачив, і сучасні клієнти таких блоків уже не зберігають. Гра просто позичає дві назви для двох небезпек, які карають протилежні звички, а не вчить реорганізації ланцюга.

Можна просто затиснути одну кнопку?

Ні, і це задум. «Стрибати завжди» гине на першій стіні-орфані, вищій за будь-який стрибок. «Не стрибати ніколи» гине не повільніше: приблизно в половині випадків об перекладину, у половині — об орфана, що став на смузі, з якої ви так і не зійшли. Обидві звички виміряні на сорока сидах у тестах, і жодна не проходить далі пари сотень метрів. Те, що стрибок не перелітає стіну, теж перевіряється: інакше одна звичка обігравала б усю гру.

Вона колись стає непрохідною?

Стає дуже важко, а потім перестає ставати важче. Обидві ручки — швидкість і проміжок між перешкодами — упираються на дванадцяти запечатаних блоках, тож приблизно після ста секунд гра тримає постійну складність: 0,40 секунди між перешкодами, з яких перехід через дві смуги з'їдає 0,27, і на реакцію лишається близько 0,15. Майже будь-який забіг там і закінчується. Але той, хто правильно читає кожну перешкоду, програти не зобов'язаний: гра навмисно ніколи не буває нечесною, і тест проходить усі рівні складності, перевіряючи, що проміжок ніколи не падає нижче того, що фізично потрібно на дві смуги.

Чи потрібна потужна машина?

Ні. Усі коробки у світі — доріжка, стіни, нонси і ви — малюються як екземпляри одного куба за один виклик відмальовування, шейдерами, написаними вручну, без 3D-бібліотеки. WebGL-фреймворк коштував би близько 150 КБ у gzip саме на тій сторінці, куди приходять за посиланням; тут це пара кілобайтів. Без WebGL вмикається 2D-рендерер, і грати все одно можна.

Схожі інструменти

Вбудувати цю гру

Додайте цю безкоштовну гру на свій сайт: