Вчера, поздно ночью собирая архив игр, мне в голову пришла странная идея, которая не нова -- Запускатор игр с конкурса! Такое уже пытались сделать и интересно продвижение есть ли у AndreyMust19 и\или antonka?
Понимаю, что затея странная и скорее из разряда «делать чтобы сделать», но что думаете?
Например, было бы скачав архив конкурса выбирать по иконке с заявки, отмечать пройденные игры.
- 31 августа 2023, 17:40
- 05
Можно было бы, в принципе, и на сайте сделать отметку игр, в которые поиграл :D
Кстати да, прикольная мысль, но где и как это отмечать? На заявках прямо?
В комментариях, методом оставления рецензии :3
Или комментарием уровня "поиграл"
Идея клевая, сам как-то размышлял. А чем закончилась идея со стимом?
Вот главные движуны это Андрей и Антонка, а что там дальше было не знаю даже. До Стима так и не дошли точно, по комментариям с того поста сошлись вообще на Итче выпустить, но не выпустили таки.
Но я к этой теме вернулся в рамках именно лаунчера гаминоигр для конкурса, заодно позаботится о приятности запуска для стримеров и просто игроков.
Ну если совсем в лоб, то можно просто закидывать все игры с гамина в одну папку, указанную в лаунчере, а в нем уже пробегать по папкам и exe'шники отображать/запускать/оценивать/что угодно делать.
Я просто не совсем понимаю, что еще хочешься, автоматически распаковывать архив?
Такое виденье у меня, да. По сути сканер и оболочка над конкретной папкой с играми. Можно пойти дальше и хранить там не один конкурс, а сразу несколько т.е. если делать, то стоит предусмотреть такой функционал.
Слушай, ну можно подумать, да.
Хотя бы mvp сделать, а потом уже смотреть, чем дополнить.
Да вот тут в комментариях показывали ссылку на гд.ру, там тоже свой такой лаунчер планировали.
Если делать аналогию, то конкурс это выставка, игры это стенды. А лаунчер это такой ... а что это? наверно комната, где все игровые автоматы стоят в ряд и там краткое описание в одном формате.
Да там что-то невнятное, с закрытыми исходниками, строгой структурой (кому оно нужно?) и заброшенное.
Словной сейчас ситуация сможет измениться! Мимилётная идея, так сказать, без поддержки от других такой энтузиазм быстро гаснет.
Достаточно, чтоб исходники были открыты, тогда даже если автор забросит, можно будет форкнуть да продолжить разработку.
В общем, я подумаю об этом, когда с работой разгребусь :)
Давай уж тогда Гамин-Лаунчер свой. Где Хейзер сможет издаваться без проблем, и с адекватной техподержкой в лице Гита. Чтоб смотреть через этот лаунчер сайт, и чтоб он сам выкачивал игры и архивировал их как положено. И ридми читал за меня. И играл за меня. И стримил сам собой. Я изобрёл Кота!
на гд.ру похожее пытались делать, но всё как-то заглохло. https://gamedev.ru/projects/forum/?id=243831
Прикольно. И заметки можно там же оставлять -- тоже думал про такое. Чтож тяга такая делать лаунчер для конкурсных игр? :yak:
И в оверлее во время игры посылать сообщения разработчику, как в ААА.
А потом этот лаунчер будет автоматически устанавливать новое обновление для игры с позапрошлого гаминатора :')
Ну не, это оффлайн лаунчер был бы, мне кажется. Чтобы обновления были из лаунчера это надо действительно серьёзную БД делать по строгим правилам и чтобы участники соблюдали эти правила. Ну и собственно хостинг наверно, не знаю. Как фантазия -- имеет право на жизнь, а как практическая штука -- ну не знаю, разве что заставлять тогда всех выкладывать на итч игры что ли?
Запускатор я сделал, для своих игр. Но и все, заглохло это дело, никому оказалось не надо.
Всего несколько авторов высказали согласие и только один автор обновил игру.
Просто я хотел чтобы игры были доделаны до презентабельного состояния, с исправленными багами, возможно переводом на английский.
Пускач конкурсных игр сделать легко, хоть на WinAPI.
Я только за. Могу сделать, можете уже предлагать свои хотелки.
Минус только в том, что организатору конкурса придется оформить папки как надо. А то, как ни крути, все равно у всех по-разному. И все игры должны быть сразу в одном архиве, таскать с собой zip-rar-7z-архиватор и мудохаться с "почему у меня не работает" - я не хочу.
Вот это самое сложное, в этом году взялись доделать один гаминаторский проект до презентабельного состояния, уже месяца 4 доделываем, а к графике еще толком не приступали
Можно сделать на WinAPI как обычное приложение, но будет работать на винде и в линуке под wine.
Можно сделать на love2d. У него есть сборки для Мака, но могут быть проблемы с линуксом, фиг знат какие версии движков на каких дистрибутивах есть, игроку либо самому придется ставить движок, либо мне придется разбираться почему мой исполняемый файл у него не работает.
Я, скорее всего, выберу первый вариант.
У тебя же и так рабочий вариант был? У меня тут были бредовые мысли про Годот т.к. кроссплатформа, но глядишь есть что-то более компактное и для подобных задач.
Можно взять и тот вариант.
Там, правда, окно только под 9 игр.
Но хотелось бы сделать что-то более похожее на обычное Windows-приложение.
Вот насколько знаю, не использовал, но некоторые кроссплатформенные библиотеки потом собирают приложение для родного оконного api.
Завтра выложу обновленный вариант.
Обновил, по той же ссылке (66 Мб).
Кое-чего поправил, добавил прокрутку списка игр, убрал тяжелые игры, добавил более легких.
Есть инструкция (doc.txt) для домохозяек организатора конкурса.
Осталось разобраться почему URL-ссылки не открываются.
Standalone-сборку не делал, движок - отдельно, исходники - отдельно (вдруг кому интересно будет посмотреть мой говнокод).
v0.61
(достаточно распаковать с перезаписью файлов)
Отдельная картинка используется как логотип по умолчанию.
Имя автора определяется по тексту после последнего подчеркивания в имени папки.
Сделал костыль для поиска EXE-файла для Unity-игр (игнорируем UnityCrashHandler32.exe / UnityCrashHandler64.exe).
Если EXE-файл не найден, то кнопка запуска становится красной.
Исправил поиск файлов по расширению (находились почему-то все подряд).
А, к этой штуке надо ещё и love2d качать получается? Скачал с сайта значит, запустил и сразу получил ошибку:
чего-то изменилось в api видать.
Там все есть. Просто запускаешь run.bat, папка love2d уже лежит в первом архиве.
В данном случае распаковываешь первый архив и поверх него - распаковываешь второй (это "патч").
Во втором архиве - только исходники. Чтобы 2 раза по 66 Мб не качать.
Ну вот я скачивал отсюда и там не было love2d папки.
в source и дальше ничего нет про Love2d
Сорри, забыл положить.
Теперь есть.
v0.62
Добавил кнопку "Прошли" чтобы убрать игру из списка.
Добавил галочку "показывать все игры" (по умолчанию показываются только непройденные), например чтобы вернуть пройденную игру обратно в список непройденных.
Прокрутка не рисуется если она не нужна.
Правда кнопка не работает если путь к папке содержит русские символы, так как для создания файла done используется модуль os, а не функции love2d, а он не дружит с русскими символами.
А функции love2d не могут писать в папку со своим же исходным кодом, только в отдельную папку в Application Data.
Я пользовался этой штукой, чтобы убрать файловые ограничения.
Я, скорее всего, завтра сделаю просто по-другому.
Это мой первый игровой конкурс, где я выступаю в роли организатора, но так и так разархивировал все архивы, переименовывал папки и от потребности заметок для себя состряпал ридми для общего архива даже. Так что да, работы прибавится у организатора, но думаю не так много.
Я вижу дополнительную работу только в тех случаях, если авторы не будут соблюдать какой-то "формат архива" т.е. чтобы рядом с игрой лежала картинка preview.png и определённым образом оформленное readme.txt, например.
Я представлял запускатор по сути независимым от конкурсов. То есть сформировалась версия 1.0 и пользователи по собственному желанию скачивают его, а затем архив игр с конкурса и распаковывает в определённую папку. Можно конечно и в конкурсный архив это вкладывать, да.
О каких доработках и переводе на английский речь? Если есть желание просто сделать запуск игр с джемов чуть удобнее.
О переводах и доработках это про оригинальную тему поста на который я ссылался -- там Андрей предложил доработать игры с конкурсов и выпустить их на площадке как игра-бандл\многоигровка.
А, понял, вырученные деньги на призовой фонд отправлять? :D
Предполагалось как я понимаю пускать их на нужны обслуживания сайта. Ну там домен, хостинг проплатить. Мне кажется вполне реалистичный сценарий, что много денег бы такой бандл не собрал, хотя __авдруг__.
Ачиффки будут? А коллекционные карточки? А система тегов?
Это вопрос к разработчикам игр. Это вопрос к разработчикам игр. Это вопрос к разработчикам игр.
Ну всё! Провалили конкуренцию со стимом! Провалили конкуренцию с ЭпикГеймСтором! Провалили конкуренцию с ВК-Плей!
Так вы апи предоставьте, а там посмотрим :)
Было бы кстати интересно даже. Правда что за "достижения"? Типа сыграть во все игры? (это по сути запустить все ЕХЕ через лаунчер) или там "наиграть N часов"?
На самом деле тут напрашивается как-то интеграция с иконками в профиле. Но это всё ещё более фантастично, чем сам лаунчер.
А у Гамина есть какой-нибудь публичный API?
GytAPI. Все к нему обращаются когда надо что-то сделать.
Нет, но нетрудно сделать, наверное. Вот для гаминатора что-то такое получается: https://gamin.me/compos/gaminator.json
Надо бы отдельное поле для конкурсного архива сделать. Ну и заявки все в куче, стоит хотя бы отделить завершенные.
Ого, то есть реально можно делать какие-то запросы? Или это сейчас такой сформированный по-быстрому?
По идее любую страницу сайта можно так представить. Но мне нужно json-шаблон писать, чтобы реально такие запросы работали. Пока только заявки-конкурсы сделал по-быстрому.
Написал сценарий, который:
На тестовом прогоне не смог скачать только два архива. С pixeldrain и dropbox. Для первого добавил быстрое исправление. Для последнего - не знаю, что там там не так с URL, yt-dlp (2023.07.06) не смог скачать.
Можно ещё добавить "?finished=1" к ссылке, чтобы завершенные заявки получить. И в заявочных ссылках иногда версии до багодня находятся. Dropbox вроде пофиксили в новой версии.
Похоже, что пофиксили. Но приняли реквест в мастер только на прошлой неделе, а релизов с июля ещё не было. Подождём.
Проверил зависимости для msys2. Все необходимые пакеты (bash, coreutils, findutils, sed, curl, jq, yt-dlp) там есть и довольно свежие (как в Arch Linux). Если кому надо, под Виндой, теоретически, должно работать через msys2.
P.S. Прошлый комментарий редактировать нельзя?
В выходные постараюсь написать прототип на GNU Bash. Предложения и пожелания оставляйте под комментарием. Сейчас предполагается:
* поиск и фильтрация заявок (по гаминаторам, по автору, по завершенности и т.п.);
* показ заявок с описаниями и ссылками;
* показ картинок? (libsixel?) и миниатюр? (imagemagick?);
* выборочная загрузка и распаковка архивов (yt-dlp + p7zip);
* запуск с параметрами (xdg-open);
* (организатору) переупаковка архивов в один и перезалив на archive.org;
* (внутренности) кэш-сайта для экономии трафика: данные API (*.json), картинки;
* (внутренности) настройки (запуска, поиска) и статусы (установлен, последний запуск).
* консольный (Bash completion);
* консольный, интерактивный (Bash select);
* псевдографический (Dialog);
* графический? (Zenity?).
* Linux;
* Windows? (MSYS2?).
Это все замечательно, но зачем нужен линуксовый лаунчер для виндовых игр?)
А зачем в конкурсах участвовать?
Ради иконок.
Теперь жду ответа на мой вопрос.
а лаунчер чтоб эти иконки скачать!
Боюсь ставить кому-либо меч, чтоб не спугнуть происходящее.
Ничесе тут чего началось оказыватеся!
Какой ты меркантильный.
Я думал в конкурсах участвуют потому что хотят.
Ради смеха.
Если ещё для каждой игры положить правильную версию wine с правильными патчами, то можно было бы проходить игры на линуксе и маке)
Мне кажется, это лишнее. Пользователь может легко связать .exe по MIME с удобным ему лаунчером и настраивать хотелки уже там. А xdg-open просто передаст ему управление аналогично, как при двойном щелчке по exe-шнику.
Плюс, можно заменить строку запуска вручную. И, скажем, для отдельной игры запускать избранный лаунчер или отдельный WINE_PREFIX.
Во-первых, это не только лаунчер, а ещё - поисковик и загрузчик. Его легко встроить даже на сервер.
Во-вторых, на Линуксе виндовые игры часто работают лучше, чем в Винде. Особенно - старые. Через Wine.
В-третьих, под Виндой он тоже должен работать. Через MSYS2.
В-четвертых, грядёт Вендекапец, и выживут лишь Линукс-игры. А Виндовс-игры канут в небытие. Аминь!
Я всё ещё боюсь ставить какие-либо мечи и лопаты...
Это не голосование. До следущего Гаминатора собираюсь сделать. Мне просто нужно понять сейчас, на этапе проектирования, какую функциональность люди ожидают увидеть. Вдруг, я что-то важное упускаю из виду.
Лично я не понимаю, в чем польза такой штуки. Делать чтобы было?
Ставить какую-то штуку, которая работает под Линукс (которого нет у пользователей), ставить зачем-то Msys2 (а это какая-то непонятная сборка каких-то там пакетов, которая по сути ни для чего больше не нужна будет), чтобы эта штука заработала. Наверняка это потребует плясок с бубном, к тому же.
Чтобы что?
Человек же написал, что винда в скором времени умрет :)
Ну, когда сделают что-то такое же удобное, что будут разработчики массово поддерживать и пользователи. Пока такого нет (наверное, кроме мак ос, которая распространена все таки не так широко, как винда) и ближайшие десятки лет не предвидится.
Не дай бог, такое же!
Скорее всего, лет через 10 все ОС будут говном, только разных сортов.
Кроме Линукса. Он всегда будет таким, каким мы хотим его видеть.
Без обратной совместимости и с постоянно растущими системными требованиями?
Я ставил его на старый комп с 768 Мб памяти чтобы ходить в интернет и нормально было.
Сейчас без 3 Гб ОЗУ можно даже не пробовать.
А у меня Линукс на маршрутизаторе с 16 МБ ОЗУ прекрасно работает. ЧЯДНТ?
Там GUI и браузера нету.
Steam Deck, правда я не знаю, насколько оно вышло массовое
если без шуток, то в итоге как я понимаю должно получиться примерно тоже что у AndreyMust19 на lua - скачиваем архив, в нем весь этот msys2 уже есть, запускаем, отображается консольное окно, в нем интерфейс со списком конкурсов, фильтрами и прочим, можно нажать "скачать", можно даже "скачать и запустить".
Предполагалось запакетировать утилиту и устанавливать готовый пакет официальным msys2. Но возможны варианты. Зависит от желающих тестировать это на Винде.
А в чём вред?
Везде, где есть Bash и необходимые зависимости. Везде, где есть жизнь.
У меня есть. И, слава роботам^W Ричарду, нет Винды.
Чуть ли не единственный удобный способ, одной командой 'pacman -Syu [package]...', быстро (за пару минут) и компактно (десятки-сотни мегабайт), поставить на Винду программы и среды их разработки (gcc, clang, bash, make, cmake, ffmpeg, blender и т.д и т.п.), вместо поделок неизвестного происхождения и гигабайтов взаимно запрещённых студий, без далее, далее, далее, мейлру-агентов, яндекс-браузеров, упсов, телеметрии и смс. И одной командой содержать всё это в актуальном состоянии.
На главной странице есть exe-инсталлятор. В Chocolatey, вроде, был пакет. И в Winget, похоже, есть.
Лаунчер написал, но мне не понравилось как работала execute, она по сути имеет обратный вызов и можно обрабатывать процесс запуска. Но на деле все получалось очень плохо - приложение либо подвисало, либо не запускались игры, либо это происходило очень долго. Как говорится надо играть с настройками...
Думал, что удалил, но оказалось, что есть. Кое как загрузил, пользуйтесь. Лаунчер прям сырой - умеет сканировать файлы, строить список игор и запускает их. В остальном все требует доработки.
Ссылка