Продолжаю делать свой лаунчер для игр
Не терял времени с момента первой публикации и неустанно работал над своим первым сырым билдом программы. Устранил много противных багов и переработал/доработал кучу удобностей. По классике чередовал волшебный вайбкодинг с лютым ручным задрачиванием кода. Если найдутся смельчаки, попробовать можно скачав инсталлер по ссылке:
Telegram: https://t.me/omglauncher
Прошлый пост: Короче, делаю лаунчер
Что было сделано:
Версия: 0.7.0
🔧 ИСПРАВЛЕНО
Карточки с рамкой «Пройдено»
При наведении на карточку со статусом «Пройдено» и активной привязкой (exe/Steam ID) синее свечение теперь корректно меняется на белое, как и на обычных карточках. Раньше оставалось синим.
Логика появления бейджей уровней
Исправлена пороговая функция. Раньше бейджи считались от процента открытых ачивок и работали криво. Теперь чётко: 0–3 ачивки — нет бейджа, 4–7 — «Новичок», 8–11 — следующий, и так далее (каждые 4 ачивки — новый бейдж).
Тень на тексте бейджей
Смягчил. Раньше была слишком резкой, теперь аккуратнее и приятнее глазу. Переработан дизайн бейджей, ближе к основному визуальному стилю проги.
Центровка текста на плашке ачивки «Жанровый эклектик»
Текст съезжал вправо. Поправил. Заодно проверил и привёл к единому виду все остальные всплывающие плашки ачивок.
Порог ачивки «Жанровый эклектик»
Раньше давалась слишком быстро, потому что многие игры содержат по 5–6 жанров. Теперь засчитывается только первый жанр в списке на карточке, и ачивка выдаётся за 6–7 разных игр (а не за 10 жанров из одной игры).
Зависание лаунчера после закрытия игры
Играл 15 минут, закрыл — лаунчер подвисал на 10 секунд. Провёл оптимизацию кода рендера после закрытия игры. Теперь всё плавно.
Загрузка PNG в модалке ачивок
В собранной версии сперва появлялся текст, а потом уже грузились картинки, хотя PNG весят килобайты. Добавил кеш предзагрузки — теперь плашки ачивок отображаются мгновенно.
Смена аватарки пользователя
Если выбирал новую юзерскую аву на замену уже установленной, картинка не менялась до перезапуска программы. Теперь меняется сразу.
Отображение заглушки в фильтрах
При включении фильтров «Скрыть пройденные» + «Не установленные» появлялась большая PNG с подложками и кривым центрированием. Привёл к общему виду, как на других фильтрах.
Производительность на слабом железе
Добавил кеш loadUserStats() — больше нет повторного чтения localStorage на каждый запрос. Оптимизировал renderGames() — сравнение идёт с сохранённой строкой, без полного перечитывания HTML. Добавил мягкую предзагрузку обложек (только видимые карточки, не блокирует рендер). И лёгкий CSS-пакет с content-visibility: auto для карточек.
Исправлен трекинг времени для Steam-игр с длинными названиями или пробелами
Пример: A Plague Tale: Innocence теперь корректно отслеживается — время записывается, игра перемещается в начало списка.
Исправлено сворачивание / разворачивание лаунчера из трея при закрытии Steam-игр
Раньше при закрытии EXE-игр окно лаунчера нормально разворачивалось, а при закрытии игр, запущенных через Steam ID — нет. Теперь работает одинаково корректно для обоих типов запуска.
Устранена проблема с определением «Любимого жанра»
Раньше статистика почти всегда показывала «Экшен», потому что он чаще других стоял первым в списке жанров. Теперь жанры обрабатываются честно.
🆕 ДОРАБОТАНО (новый функционал)
Статистика «Продуктивный день»
Теперь суммирует время из всех игр, запущенных в один день. Рекорд обновляется только при превышении. К дню недели добавил дату. Рекорд хранится до тех пор, пока не появится следующий.
Статистика «Серия дней»
Считает серию дней подряд с запуском игр (без перерыва). Если серия была 7 дней, потом пропуск — рекорд остаётся, пока его не побьёт новый.
Контекстное меню карточки — «Доп. время»
Вместо двух строк «Добавить время» и «Сбросить время» сделал одну: «Доп. время». При нажатии открывается маленькая модалка в общем стиле программы, где можно как накрутить, так и сбросить своё пользовательское время.
Выход в корневой каталог игры
Если к карточке привязан exe, в контекстном меню появился пункт, открывающий папку с игрой. Удобно, когда нужно добраться до конфигов или сохранений.
Фильтр «Только пройденные»
Раньше при нажатии на этот фильтр в статбаре сбрасывался фильтр «Скрыть пройденные». Теперь фильтр «Только пройденные» работает как временное «открытие» пройденных игр поверх текущих настроек. Повторное нажатие возвращает исходное состояние.
Автоматическое перемещение запущенной игры в начало списка
При активном фильтре «По запуску» игра, которую вы только что запустили, сразу перемещается наверх. Работает в сетке, в компактном виде и в списке.
Переключатель эффектов для рамок пройденных игр
Для не сильно мощных ПК добавил переключатель в интерфейсе. Юзер сам может отключить анимированные эффекты рамок, если они дают лишнюю нагрузку.
Переименован раздел статистики
Вместо «Лицензии vs пиратка» теперь «Лицензия / Файлы». Коротко, нейтрально, без провокаций.
Взвешенное голосование жанров в статистике
Вес игры распределяется поровну между всеми её жанрами. Например, если у игры 5 жанров, каждый получает +0.2 голоса. В результате даже частый, но «размазанный» по многим играм экшен не перебивает редкие, но характерные жанры (например, стратегию или MMO).
По клику на бейдж Steam в карточке игры открывается модальное окно ручного ввода атрибутов запуска
Удобно для тонкой настройки запуска Steam-игр прямо из лаунчера.
По клику на бейдж EXE в карточке игры открывается папка с файлами игры
Быстрый доступ к директории без поиска вручную.
Переработана статистика «Год игр» → «Любимое десятилетие»
Теперь рассчитывается как среднее по всем запускам (EXE + Steam вместе), а не просто год последней запущенной игры.
Билд еще сырой, баги могут присутствовать, но стало уже заметно лучше. В телеге открыты комменты. Был бы рад, если бы знающий человек потыкал меня лицом в недоработки.


















