Сделал свой игровой лаунчер, чтобы вам не пришлось

Одним выходным днем захотелось мне повтыкать с геймпадом у телика, но надоело каждый раз вручную переключать экран с ПК на ТВ, а потом ещё курсором мыши запускать ярлыки.

В поисках готовых решений наткнулся на Playnite - вроде хорош, но стоит добавить новую игру, и снова нужно ковыряться в настройках, искать обложки и править метаданные.

А потом я посмотрел на свои ярлыки и понял - а ведь они уже самодостаточные. Почти у любой современной игры иконка имеет нормальное разрешение 256×256 и опционально прозрачный фон. Почему бы не сделать свой лаунчер, которому не нужны никакие настройки вообще?

Так и получился EZ2Play (изи ту плей кек). Лаунчер для диванного гейминга, которому не нужны настройки. Просто кидаешь ярлыки в папку shortcuts - и он сам всё подхватывает.

Возможности

  • Никаких настроек - только ярлыки, ничего лишнего.
  • Динамический фон - чтобы не было совсем скучно.
  • Свап экрана - киллер фича, которой мне не хватало.
  • Параметры командной строки - для запуска без заставки и тп.
  • Лёгкий и портативный - 540 КБ, потребляет 50 МБ ОЗУ.
  • Написан на WPF - простая интеграция и работа с виндой.

Отдельно про свап экрана. Это полезно в ситуации, когда у вас кроме основного монитора к пк дополнительно подключен телевизор. Таким образом приложение, по моему мнению, предоставляет около консольный опыт в один клик. Хотя телик все же придется включать с пульта, HDMI-CEC с компа не будет работать.

Параметры командной строки

  • --nosplash - Запуск без экрана-заставки
  • --log - Логирование для отладки
  • --hotswap - Автоматическое переключение дисплея при запуске

Эти команды могут комбинироваться. Например создав батник с таким содержимым:

EZ2Play.exe --nosplash --hotswap exit

При его запуске приложение запустится без заставки сразу в список игр на вашем дополнительном мониторе/телевизоре.

Писал без особых знаний кода, практически полностью на вайб кодинге в курсоре, поэтому код может выглядеть не очень. Но оно работает.

Так же у любого, кто посмотрит на главный экран может возникнуть вопрос - зачем нужна пустая область?

Я пытался придумать, чем ее заполнить (метаданные, описание игры), но парсить - сложно и не на каждую игру получится что-то найти. Вручную прописывать метаданные - снова путь в пердолинг.

Так что пока просто минимализм. Может потом придумаю.

Преимущества

Не нужно ничего настраивать. Полная портативность. Его можно положить куда угодно, создать рядом папку для ярлыков и он полностью готов к работе. Ну и свап экрана.

Но так же стоит понимать, никакой интеграции с лаунчерами типа стима тут нет. Только ярлыки, только хардкор.

Скачать и попробовать можно отсюда

Посмотреть исходники можно тут

При запуске приложение выдаст предупреждение о неизвестном издателе. При сборке этого никак не обойти. Но если есть сомнения, можно собрать самостоятельно из исходников.

Вообще, это очередной велосипед, но мне было интересно сделать идеальный лаунчер для себя. Вдруг еще кому зайдёт.

Багрепорты/предложения могут приниматься тут, либо в разделе Issues на гитхаб. Но отвечаю я редко.

UPD: Добавил кастомизацию

  • Кастомизация заставки - замена логотипа и слогана через параметры командной строки
  • Кастомный фон - использование собственного изображения в качестве фона
9
5
2
13 комментариев