Major Web Client Refactoring: Multilingual Support, Stability, and Mobile Version

July 23, 2026
Разработчики:
wratixor-y-avatar Wratixor
Your effort to remain what you are is what limits you. (c) The Puppet Master

EN

Greetings, geneticists and cyber-strategists! Over the past weeks we didn't add new skills or units, but we completely rebuilt the Geno-Dice web client. This update makes the game faster, more stable, and accessible to everyone. Here's what's new.

🌐 Full Multilingual Support
The client now supports English and Russian with automatic switching. All pages, buttons, tooltips, and dialogs are loaded from unified dictionaries — adding a new language now takes just a couple of hours. A flag button (🇷🇺 / 🇬🇧) in the top bar lets you switch languages instantly.

🧩 New Architecture: Component and Micro-Kernel
We rewrote all pages using a component-based approach. Each page is now an independent module that loads and unloads correctly during navigation. This completely fixes memory leaks and Chrome crashes during long play sessions.

  • The Roguelike mode received a unified container with a state machine (menu → selection → battle → distribution…), which clears DOM and event listeners at each step. No more duplicate screens and freezes.
  • All pages properly release resources (subscriptions, timers, handlers) when navigating away.

📱 Mobile Version and PWA

  • The site can now be installed as a Progressive Web App (PWA) on your phone or tablet. When visiting from Android or iOS, the browser will prompt to add an icon to the home screen.
  • A Service Worker caches static files and provides offline access.
  • A special compact unit card variant (compact-mobile) was created for screens smaller than 600px: instead of a portrait — a large colored square with the rank and skill icons directly on it, with name and ELO below.
  • The layout is adapted for mobile: horizontal scrolling in the header, redesigned grids in the Laboratory, comfortable button and modal sizes.

📖 Contextual Help
On any page you can now press F1 or click the button to see a description of the current screen — from the main menu to the admin panel. Help texts explain the section's mechanics in detail and are available in both languages.

🎨 Interface and Stability

  • The main menu now displays access level (+u, +a, +r) with color indication.
  • The admin button automatically appears for administrators and root users.
  • Fixed an error in the admin console (the help command works again).
  • All labels in unit cards (attack, skill, ultimate, win rate) are now translated.
  • Dozens of minor improvements and fixes for smooth operation.

This refactoring lays the foundation for future modes (Campaign, Arena) and greatly simplifies code maintenance. Enjoy the game!

RU

Приветствуем, генетики и кибер-стратеги! За последние недели мы не добавляли новых скиллов или юнитов, но полностью пересобрали веб-клиент Geno-Dice. Это обновление делает игру быстрее, стабильнее и доступнее для всех. Вот что изменилось.

🌐 Полная мультиязычность
Клиент теперь поддерживает английский и русский языки с автоматическим переключением. Все страницы, кнопки, тултипы и диалоги загружаются из единых словарей — добавить новый язык теперь можно за пару часов. В верхней панели появилась кнопка с флагом (🇷🇺 / 🇬🇧) для мгновенной смены языка.

🧩 Новая архитектура: Component и микро-ядро
Мы переписали все страницы с использованием компонентного подхода. Теперь каждая страница — это независимый модуль, который корректно загружается и выгружается при переходе по разделам. Это полностью решило проблему с утечками памяти и крашами Chrome при долгой игре.

  • Рогалик получил единый контейнер с конечным автоматом состояний (меню → выбор → бой → распределение…), который очищает DOM и обработчики при каждом шаге. Больше никаких дублирующихся экранов и зависаний.
  • Все страницы корректно освобождают ресурсы (подписки, таймеры, обработчики) при уходе.

📱 Мобильная версия и PWA

  • Сайт теперь можно установить как прогрессивное веб-приложение (PWA) на телефон или планшет. При заходе с Android или iOS браузер предложит добавить иконку на главный экран.
  • Добавлен Service Worker для кеширования статики и офлайн-доступа.
  • Создан специальный компактный вариант карточки юнита (compact-mobile) для экранов меньше 600px: вместо портрета — крупный цветной квадрат с рангом и иконками навыков прямо на нём, а имя и ELO — под квадратом.
  • Вёрстка адаптирована для мобильных: горизонтальная прокрутка в шапке, перестройка сеток в лаборатории, удобные размеры кнопок и модальных окон.

📖 Контекстная справка
На любой странице теперь можно нажать F1 или кнопку , чтобы увидеть описание текущего экрана — от главного меню до админ-панели. Тексты справки подробно объясняют механику раздела и доступны на обоих языках.

🎨 Интерфейс и стабильность

  • В главном меню теперь отображается уровень доступа (+u, +a, +r) с цветовой индикацией.
  • Кнопка админки автоматически появляется для администраторов и root-пользователей.
  • Исправлена ошибка в консоли администратора (команда help снова работает).
  • Все надписи в карточках юнитов (атака, скилл, ульт, win rate) теперь переведены.
  • Десятки мелких улучшений и исправлений для плавной работы.

Этот рефакторинг закладывает основу для будущих режимов (Кампания, Арена) и значительно упрощает поддержку кода. Приятной игры!

Приветствуем, генетики и кибер-стратеги! За последние недели мы не добавляли новых скиллов или юнитов, но полностью пересобрали веб-клиент Geno-Dice. Это обновление делает игру быстрее, стабильнее и доступнее для всех. Вот что изменилось.

🌐 Полная мультиязычность
Клиент теперь поддерживает английский и русский языки с автоматическим переключением. Все страницы, кнопки, тултипы и диалоги загружаются из единых словарей — добавить новый язык теперь можно за пару часов. В верхней панели появилась кнопка с флагом (🇷🇺 / 🇬🇧) для мгновенной смены языка.

🧩 Новая архитектура: Component и микро-ядро
Мы переписали все страницы с использованием компонентного подхода. Теперь каждая страница — это независимый модуль, который корректно загружается и выгружается при переходе по разделам. Это полностью решило проблему с утечками памяти и крашами Chrome при долгой игре.

  • Рогалик получил единый контейнер с конечным автоматом состояний (меню → выбор → бой → распределение…), который очищает DOM и обработчики при каждом шаге. Больше никаких дублирующихся экранов и зависаний.
  • Все страницы корректно освобождают ресурсы (подписки, таймеры, обработчики) при уходе.

📱 Мобильная версия и PWA

  • Сайт теперь можно установить как прогрессивное веб-приложение (PWA) на телефон или планшет. При заходе с Android или iOS браузер предложит добавить иконку на главный экран.
  • Добавлен Service Worker для кеширования статики и офлайн-доступа.
  • Создан специальный компактный вариант карточки юнита (compact-mobile) для экранов меньше 600px: вместо портрета — крупный цветной квадрат с рангом и иконками навыков прямо на нём, а имя и ELO — под квадратом.
  • Вёрстка адаптирована для мобильных: горизонтальная прокрутка в шапке, перестройка сеток в лаборатории, удобные размеры кнопок и модальных окон.

📖 Контекстная справка
На любой странице теперь можно нажать F1 или кнопку , чтобы увидеть описание текущего экрана — от главного меню до админ-панели. Тексты справки подробно объясняют механику раздела и доступны на обоих языках.

🎨 Интерфейс и стабильность

  • В главном меню теперь отображается уровень доступа (+u, +a, +r) с цветовой индикацией.
  • Кнопка админки автоматически появляется для администраторов и root-пользователей.
  • Исправлена ошибка в консоли администратора (команда help снова работает).
  • Все надписи в карточках юнитов (атака, скилл, ульт, win rate) теперь переведены.
  • Десятки мелких улучшений и исправлений для плавной работы.

Этот рефакторинг закладывает основу для будущих режимов (Кампания, Арена) и значительно упрощает поддержку кода. Приятной игры!

Скриншоты и концепт-арты

Метки записи:

dev web wpa