Оформление standalone игры INSTEAD

  1. last year

    peter

    Sep 2015 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    Просмотрел статью Oreolek "Не пишите на Инстеде": https://oreolek.ru/Post/view/3099

    Саму статью здесь не комментирую, но решил написать о средствах, которые доступны сейчас для оформления вашей игры как отдельной (раз такие вопросы возникают). Пишу пример для windows, так как обычно такое желание оформить standalone игру возникает относительно именно этой ОС.

    1. Нам нужен каталог с INSTEAD.
    2. Создаем в каталоге INSTEAD каталог appdata (кстати, это есть в док-ции)
    3. Создаем в каталоге appdata подкаталоги games и saves
    4. В подкаталог games кладем нашу игру (и только ее)
    5. Вы можете запустить sdl-instead.exe и выйти, при этом в appdata/ создастся файл insteadrc в котором вы можете изменить предустановленные настройки

    В принципе, это уже можно паковать и отдавать. INSTEAD, увидев, что игра в appdata только одна, просто запустит ее не предлагая ничего иного, но можно пойти дальше:

    6) Заходим в каталог lang и стираем ненужные языки. Зайдя в .ini файлы вы можете также отредактировать макросы MAIN_MENU, убрав из них некоторые пункты. Например: выбор игры или выбор темы.

    7) Для абсолютных пуристов можно в самой игре заблокировать вызов меню (перехватив esc и f1 и убрав кнопку в теме с игрой) и вызывать только меню сохранения/загрузки игры (как - написано в документации). Громкость звука можно тоже регулировать из игры. Да, быстрое сохранение/загрузка в INSTEAD это f8/f9, что написано в документации и в туториале. Сохраняться, кстати можно прямо из игры.

    8) На заре развития проекта, мы делали инсталляторы для игр в виде .exe - причем пользователь просто вызывал игру, например "Возвращение квантового кота" через ярлык или меню, а инстед запускался сам. Это возможно благодаря огромному числу опций, которыми можно перекрыть практически любую настройку. Список их находится в doc/instead. Так что если пойти еще дальше - можно написать свой собственный ланчер (или ограничится ярлыком и пунктом меню), выбирающий и тему и разрешение (например, в зависимости от пропорций экрана) и все-то, чего ему не хватает.

    9) да, последняя операция - переименуем sdl-instead.exe в mygame.exe, в ABOUT_MENU в ini файлах вбить "игра васи" и все, штурмовать стим!

    Так что некоторые средства есть (причем большинство пунктов выше делаются 1 раз), другое дело, что они не очень то и востребованы. Так что, была бы игра....

    Ну и наконец, если вы программист, можно собрать свой собственный sdl-instead.exe из исходников, и сделать там вообще все что хочется.

    Ну а статью "Пишите на инстед" я пока писать не буду. :) Выбирайте то, что вам нравится.

  2. kerber

    Sep 2015 User since 2014
    Edited last year by kerber

    М.б. у Oreolek опечатка в заголовке? Надо так наверное: "Не, пишите на Инстеде". :D

  3. Antokolos

    Sep 2015 Омск User since 2014

    Ещё могу добавить, что для быстрой смены иконки у sdl-instead.exe я пользовался программой Resource Hacker:
    http://www.angusj.com/resourcehacker
    Пересобирать с новой иконкой было лень :)
    В MacOS достаточно было заменить .icns файл.
    В Linux... Ну, положить png в каталог icon :)

  4. ajenta

    Sep 2015 User since 2014

    Да вообще глупо как-то. Чего не может нативный инстед, то может луа, а если кому-то влом разбираться как что сделать - ну, сам балда :)

  5. epoxa

    Sep 2015 User since 2014
    Edited last year by epoxa

    Вообще, когда я познакомился с инстедом, мне построение его меню, и вообще, интерфейс, полученный "из коробки", тоже показался (и сейчас кажется) не очень дружелюбным. Он сделан удобным для программиста, а не пользователя. Ну или для специфического пользователя, привыкшему к меню в терминале линукса, написанному на ncurses.

  6. Oreolek

    Sep 2015 User since 2014
    Edited last year by Oreolek

    Статья специально написана для холивара :-) тема, на мой взгляд, очень важная для разработчиков.

    Я давал игры друзьям, рекламировал их в чатах, я смотрел на Youtube-прохождения Wild Island Quest. Люди видят игру, они ждут что-то вроде Ren'Py, где движок встраивается в игру и не высовывается дальше пары меню. Они ждут, что настройка "Язык" управляет языком игры, а не оболочки, что для быстрого сохранения есть отдельная кнопка или хотя бы подсказка, что им хотя бы подсветят, куда можно тыкать мышкой, а куда - нет. Это обычные предположения обычных людей, и чтобы их встретить, автор должен пройти очень, очень большой путь.

    Я знаю, что INSTEAD сделан по осмысленной задумке, и так должно быть. Это удобства и компромиссы, запрограммированные для конкретного сообщества. Этого маленького сообщества.

    Я просто хотел наглядно показать, что нужды и удобства сообщества INSTEAD придётся очень долго объяснять другим людям. И что это неизбежно для общедоступных игр, тем более - для коммерческих релизов.

    Объяснить, что выделенные слова - это ссылки и на них надо щёлкать, довольно просто. Объяснить то, что на некоторые слова можно щёлкать дважды, намного сложнее. Метапарсер мне проще показать, чем объяснить, потому что о команде "помощь" все забыли, а обучалки нет. Мне приходится писать пояснительные записки к интерфейсу игр, если я хочу показать их друзьям.

    Я считаю, что тема юзабилити очень важна для сообщества. А инструкцию в первом посте стоит поместить на вики как практические советы по релизу игр.

  7. Antokolos

    Sep 2015 Омск User since 2014
    Edited last year by Antokolos

    Ой, а можно ссылки на видеопрохождения, пожалуйста?
    А то мы видели только вот это:
    http://www.youtube.com/watch?v=7jBZ1xvRSs8 (Джим Стерлинг)
    и вот это
    http://www.youtube.com/watch?v=S-fFtm23tYQ (Pass the Controller Games)

    По теме юзабилити. Из статистики Стима:
    Refund reasons
    Purchased by accident 6
    Not fun 5
    Game too difficult 1

    Интересно, в каком месте игра слишком сложна? :)
    Отрицательный коммент про невозможность переключить тему видел, признаю ошибку. В следующем билде уберу этот пункт меню. Хотя, надо признать, Инстед прямо-таки кричит о том, что игра использует кастомную тему и изменить тему невозможно, так что такие отзывы говорят только о том, что люди обычно не читают то, что им сообщает программа.

    По поводу переключения языков... Даже не знаю, мне, в принципе, по душе мнение Петра на тему того, что язык интерфейса и язык игры -- это разные вещи. Я могу быть русским и использовать русское меню Инстеда, но почему-то захочу сыграть в английскую версию игры. Хотя, может быть, и ошибаюсь.

    Сохранения... Хм. Esc -> Save game. Esc -> Load game. Вроде бы во всех играх так. Ну, конечно, не сравнится с меню RenPy, где куча вкладок и thumbnail-ы экрана сохранения. Может, запилить какой-нибудь модуль? :)

    Настройки разрешения? Так Инстед автоматически подгоняет под размер экрана, разве нет? Запускал в т.ч. на мониторе 4:3, так там даже получилось как широкоформатное кино, с чёрными полосами сверху и снизу. Когда я делал это в прошлый раз, картинка растягивалась по вертикали, искажаясь. Так как сейчас, конечно лучше.

    Меню о программе? Не вижу ничего плохого, чтобы сказать, что игра использует Инстед. Ну, может, написать Powered by INSTEAD.

    Непонятные advanced-настройки? Ну, на то ведь они и advanced :)

    Наверно, я просто относительно давно Инстедом пользуюсь и привык :)

  8. Oreolek

    Sep 2015 User since 2014
    Edited last year by Oreolek

    Ой, а можно ссылки на видеопрохождения, пожалуйста?

    Ну вот эти ссылки и плюс ещё одна.

    Интересно, в каком месте игра слишком сложна? :)

    Наверное, там, где надо искать дома шестигранный кубик.

    Ну, конечно, не сравнится с меню RenPy, где куча вкладок и thumbnail-ы экрана сохранения.

    Конкретно в Ren'Py есть возможность поставить ссылки "Сохранить" и "Загрузить" прямо на экран игры, обычно ставят в угол экрана или около текстового поля. Уже по этим ссылкам открывается меню сохранения или загрузки. Также я видел вызов этого меню по правому клику мышки.

  9. peter

    Sep 2015 Administrator Земля(Москва) User since 2014

    Про renpy - такая возможность есть и в инстеде. Я в первом сообщении это написал. Документировано.

  10. Antokolos

    Sep 2015 Омск User since 2014
    Edited last year by Antokolos

    Наверное, там, где надо искать дома шестигранный кубик.

    Эх, не понял народ моего стремления сделать игру максимально проходимой и с максимальным отсутствием смертельных концовок. Шестигранный кубик нужен в тех ситуациях, когда в нормальных книгах-играх пишут Game Over, типа Deus Ex Machina. Потому, собственно, и рандом не запрограммирован, потому и обе ссылки Вам повезло/Вам не повезло активны. Если понимаешь, что сейчас придёт пипец, то можно нажать Вам повезло и продолжить, а если скучаешь и хочешь открыть ещё одну смертельную концовку, нажимаешь Вам не повезло. Видимо, мы это недостаточно подчеркнули в описании. Народ, похоже, ждал суровых боёвок с обитателями джунглей :)

    Ладно, скоро будет кубик, надеюсь, осталось немного допилить.

    Конкретно в Ren'Py есть возможность поставить ссылки "Сохранить" и "Загрузить" прямо на экран игры

    Кстати, хорошая идея! Вот в связи с этим вопрос. У нас есть окно инвентаря, где можно ложить объекты-меню. Ему можно задавать координаты. А сильно сложно сделать несколько "инвентарей", которым можно было бы каждому независимо координаты задавать? Типа, настоящий инвентарь в одном месте, а кнопки Save/Load в другом?
    Можно, конечно, всё сделать на спрайтах с использованием модуля click, но хочется ведь как попроще... :)

  11. peter

    Sep 2015 Administrator Земля(Москва) User since 2014

    То что есть только окно инвентаря и окно сцены - это (увы) архитектурное ограничение. Нужен инстед 3 :)

    1. можно click ловить на конкретные координаты а сами кнопки нарисовать на подложке без спрайтов. Или наложением. Или спрайтами :)
    2. можно внедрить в основной инвентарь
    3. можно разрешить делать сохранение в каких то местах самой игры.
    4. autosave может быть включен или принудительно писаться из игры - чтобы закрыл открыл игру с того же места.

    Других способов не знаю.

  12. Antokolos

    Sep 2015 Омск User since 2014

    Посмотрел видео, поржал.
    Игрок спрашивает: где тут настройки, хотя прямо в центре написано: Game preferences.
    Игрок только к середине прохождения удосужился нажать на кнопку меню. Её надо было сделать размером с полэкрана, чтобы он её заметил?
    Игрок ни разу даже не открыл save/load
    Игрок три раза пытался переключить тему, хотя Инстед ему говорил, что это невозможно.
    Игрок практически не читал текст
    Игрок не понял, что фраза "Попробовать ещё раз" означает начать основное приключение с тем же составом партии и заявил, что это "infinite loop". Опять же, только к середине прохождения он понял, что можно перезапустить игру из меню.
    С другой стороны, хорошее наблюдение, что надо сделать. Правильно говорят умные дядьки от геймдева: смотрите, как люди играют в ваши игры и делайте выводы...

  13. skiminok1986

    Sep 2015 Постоялец Курган User since 2014

    Antokolos Правильно говорят умные дядьки от геймдева: смотрите, как люди играют в ваши игры и делайте выводы...

    Так игры стали казуальным кинцом =)

  14. Antokolos

    Sep 2015 Омск User since 2014

    Начал редактировать менюшки Инстеда, с целью исключения тревожащих пользователей пунктов.
    Получилась вот какая штука. Начало писать (null), когда стёр строчки Масштаб шрифта и Текст по ширине.
    Ещё, если в настройках звука удалить строчки
    \n\
    Качество: <a:/hz-><<</a> %dГц <a:/hz+>>></a>\n\
    то Инстед падает с ошибкой.
    Если же удалить только <a:/hz-><<</a> и <a:/hz+>>></a>, то всё хорошо, пишет качество без возможности изменения.

    P.S.: А что такое Режим прокрутки, фильтр мышки и режим клавиатуры? :)

  15. peter

    Sep 2015 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    Эхех. Все что угодно удалить не получится. Можно исключить только строки меню высокого уровня и то, что я выше написал. Дело в том, что это строки перевода, и в коде самого инстеда выводятся все эти штуки в местах %s.
    Фильтр мышки: отсеивает дребезг клика. Вреден для аркад.
    Режим клавы: способ управления игрой с клавиатуры. Как ходить по ссылкам.
    Режим прокрутки: это возможнлсть таскания фона для прокрутки
    В след версиях я подумаю что можно сделать.

  16. v.v.b.

    Sep 2015 Постоялец Нижний Новгород User since 2014

    Antokolos Начал редактировать менюшки Инстеда, с целью исключения тревожащих пользователей пунктов.

    нужно ли это делать вообще? раньше игроки проходили непонятные игры без манулов, без описаний и вообще. мы же таким подходом ::сознательно:: одебиливаем игроков. им даже думать не нужно. знай жми ДАЛЕЕ, ДАЛЕЕ, ДАЛЕЕ...
    я считаю это в корне неверным подходом. хочешь поиграть -- напряги чуток мозг.

  17. Antokolos

    Sep 2015 Омск User since 2014

    v.v.b. , согласен и увиливать не буду. Похоже, это неприятный, но, к сожалению, неизбежный аспект коммерциализации.
    Если игра забесплатно: дарёному коню в зубы не смотрят, а не хочешь -- не играй, твоё дело.
    Если ты пытаешься игру продавать, то каждый вот такой негативный отзыв от тех, кто "ниасилил" -- это потенциальная потеря игрока, а то и не одного, который, прочтя такой негативный отзыв, пройдёт стороной.
    Видимо, надо учиться делать игры, в которых отзывы о такой мелочи потонут в куче восторженных восхвалений.

  18. v.v.b.

    Sep 2015 Постоялец Нижний Новгород User since 2014

    Antokolos, хорошо ответил. больше вопросов нет.

  19. epoxa

    Sep 2015 User since 2014

    Да, хорошо сказано! К сожалению, попсовость и коммерческий успех очень сильно коррелируют.

  20. jhekasoft

    Nov 2015 Постоялец Мариуполь, Киев User since 2014

    А как насчёт GNU/Linux? Меня больше интересует даже не standalone, а скомпилированный INSTEAD со всеми библиотеками чтобы запускался на всех дистрибутивах. Antokolos, ты такое делал знаю. Не подскажешь, как лучше компилить? Вот тут есть скомпилированная версия с игрой: http://nlbproject.com/public/games/redhood . Мне просто нужен INSTEAD для моего нового менеджера. Планирую сразу с INSTEAD распространять. Дал уже нескольким людям затестить MacOSX-версию, так играют и рады.

  21. Newer ›

or Sign Up to reply!