Холиварофорум

Не все, что говорят на Холиварке — правда!

Вы не вошли.

Объявление

Холиварка празднует День Чтеца!
Ознакомиться с праздничными чтениями можно в соответствующем разделе

#26 2020-02-18 12:39:08

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

На форуме в кои-то веки задали интересный вопрос по коду: можно ли сделать так, чтобы цвета статов менялись в процессе игры со стандартного красное-синее на что-нибудь еще. Аж подписался на обсуждение и затаился. Похрен, что у меня это будет использоваться только в одном редком случае, во время которого вряд ли кто-то будет на статы смотреть, мне это НАДО  :smoke:

шакальная гифка

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

Сежу. Надеюсь, в тему вопроса забежит кто-нибудь из тамошних админов с объяснениями, можно так делать или нет. У "Донора" с его временным недопуском к публикации все же кастомный код был для внутриигровых механик, а не для внешнего вида. Если скажут, что можно, походу пойду учить джаву, чтобы моя шидевра была еще прекраснее  :lol:

Отредактировано (2020-02-18 12:40:09)

#27 2020-02-18 22:01:16

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Таки админы пришли, таки сказали, что нельзя. Любое изменение стандартных скриптов - и публиковать придется самостоятельно.

Боль и страдания  :sadcat:

#28 2020-02-24 14:09:17

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

На одном из фандомных дискордов обсуждали перенос сохранений. Анон решил, что нунахуй, в его шидевре переноса не будет, и, радостно гогоча, убежал в закат.  :rainbow:

Я уже здесь рассказывал, что в демках есть возможность прикрутить к игре энное количество слотов для сохранений. У уже выпущенных игр такая возможность тоже есть, но работает она иначе. В демо, насколько анон понял, сохранки хранятся в браузере (?) игроков. В выпущенных играх - где-то на серверах CoG/HG. Причем во втором случае сохранений в процессе игры может и не быть, но если это часть серии, то в конце будет предложено ввести свою почту, на которую будет записана сохранка с данными на момент эндгейма.

И вот тут зарыта собака: такое эндгеймовое сохранение выгружает все статы и их значения. Но если в следующей игре в startup-файле какой-то из этих статов не будет прописан, игра крашнется с ошибкой об отсутствии переменной. Вторая зарытая собака: как известно, хорошая мысля приходит опосля, и часть авторов-серийников банально забывала добавить трекеры на какие-либо решения или события, которые нужно вспомнить в следующей книге. А между тем добавление новой переменной крашит все предыдущие сохранения.

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

В общем, анон асуждает, аж кюшать не может. Если забуду впилить какой-нибудь трекер в первую шидевру, во второй прикручу возможность повторного выбора.  :lenin:

#29 2020-03-24 20:46:35

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

В теме Chronicler внезапно разгорелся небольшой недосрач с админами на тему лицензий на язык чойзскрипта и на публикуемые игры. Строго говоря, это было почти три недели назад, и недосрач уже давно потух, да и в целом полыхал вяло потому что в тему хрониклера мало кто ходит.

Автор хрониклера выкатил апдейт своей программы, расширив функционал и сделав ее чуть более удобоваримой для написания текстовой игры с выборами и развилками. Все еще не Twine, но уже не такое неповоротливое. Но ввиду технических ограничений самого чойзскрипта новая версия программы его не поддерживает. Автор обещал добавить в будущем эту поддержку, когда разберется как прикрутить в чойзскрипт новые фичи программы.

Казалось бы, ну апдейтнут позже, прошлую версию из интернетов никто не удалял в конце-то концов. Но первый же комментарий под новостью о новом хрониклере - от админа чойсов. Даже не модера. И весь комментарий сводится к тому, что автор хрониклера, конечно, дохуя амбициозный, и проект у него интересный, но раз программа сейчас не поддерживает чойзскрипт, то на форуме его имя отныне - Алёша, и ему тут не рады. И  :vanga: скоро интерес к его программе на этом форуме полностью угаснет, и вот тогда-то он задумается, и вот тогда-то он поймет. И вообще, Twine создавала куча народу, так что куда он лезет такой красивый в одиночку.

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

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

В целом по результатам срача:
1) Если в игре используется чойзскрипт, но публикуется и продается она не в CoG/HG/HC, то за использование языка согласно коммерческой лицензии нужно платить 25% от прибыли. Тут у анона-бухгалтера очень свербело ворваться и уточнить - от прибыли или от выручки от продажи (в тексте было profit, но вы, блядь, не представляете, как часто его используют вместо revenue), но разговор уже давно закончился, да и готовой игры у анона еще нет, так что его могут тоже нахуй послать с его вопросами.

2) Книгу-игру, уже опубликованную в CoG/HG/HC потом нельзя публиковать и продавать через другие площадки. Даже если вы вытащите из нее весь код чойзскрипта и замените какой-нибудь джавой. Физических копий книг они не печатают, и см. предыдущее предложение - нельзя адаптировать игру в интерактивную новеллу "если А, то переверни на страницу Б" и распечатать через сервисы Амазона. Можно выпустить ту же самую книгу в качестве обычной новеллы без каких-либо выборов. Насчет того, как это применимо к лицензии на сеттинг - скорее всего, никак (но без чтения самого соглашения я, понятное дело, зуба прораба не дам). Судя по комментариям админов и тексту в разделе "опубликуйте у нас свои истории!", лицензия передается только на конкретную историю и ее продажу/публикацию. Право авторства остается у вас, как и должно быть. Хуй его знает, есть ли у этой лицензии срок - в открытых источниках инфы нет, а издавшиеся авторы крайне неохотно говорят о процессе ревью/издания.

Да, кстати. Согласно тем же издавшимся авторам их доля в выручке от продажи их книг через HG - менее 5%. Живем  :sacrasm: У издатых в CoG - доля 25% и до 7,500 USD аванса (зависит от количества слов) или 10% и 10,000 USD аванса (тоже количество слов + дополнительная выплата в течение 3 месяцев после публикации). Не знаю точно насчет HC - это новая хуйня, но, вроде, представляет собой гетто любовных романов романсово-ориентированных игр CoG, так что, скорее всего, для них правила те же.

#30 2020-04-14 21:12:18

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Пытался вспомнить, какие еще интересные выверты геймплея помимо мини-игр я видел, и таки вспомнил. Два основных персонажа. Перфекшн, хоть для моей шидевры и ненужный.

Один из интересных вариантов видел в The Cursed Lady and The Weakest Knight (випка, последнему обновлению недавно исполнился год, это уже считается мертвым?). Здесь игрок не столько создает своего персонажа, сколько выбирает из двух премейдов - собсна, Проклятой Леди и Слабейшего Рыцаря - и потом играет за выбранного персонажа как будет угодно в рамках геймплея. Второй персонаж при этом становится спутником. В плане кода тут все очень просто: у героев свои уникальные переменные, а сюжетные линии прописаны как одна развилка в каждой сцене. Т.е. игрок Леди читает один абзац, игрок Рыцаря читает другой абзац, ничего общего они не увидят из-за разницы ПОВов. Это просто в коде, но довольно геморно для написания сюжета: для каждой сцены за исключением каких-нибудь описаний местности понадобится писать в два раза больше. У этого автора данная проблема была частично решена через скудность выбора: сюжет (в рамках демки) линеен, возможных опций в выборах в среднем по две штуки из разряда сказать да/сказать нет. Автора за это несколько хаяли, но у анона еще на первой встрече Леди и Рыцаря лицо от умиления треснуло, так что малое количество опций я почти не заметил.  :lol:

Второй пример - Highlands, Deep Waters, хтонические культы, нуарный детектив и тоже два ГГ. Детали немного спойлерны, так что под кат их.

Скрытый текст

Второй с половиной пример - серия Fallen Hero. ГГ здесь технически один, но есть второе настраиваемое тело и еще на сдачу маскировка для публики. И вот тут в отличие от предыдущего пункта есть не только проверка совпадений переменных, но даже ачивка, если игрок сделает второе тело таким же, как первое. И неписи это будут замечать. Хотя у некоторых жопочуй срабатывает и без ачивки.

#31 2020-04-19 00:53:32

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

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

Еще столкнулся с какой-то странноватой проблемой. Поставил вывод двух последних букв текстовой переменной. Быстро, дешево и сердито через:

*temp let_1 0
*temp let_2 0
*set let_1 length(name)
*set let_2 (let_1-1)
*if let_1>2
  "...${name#let_2}${name#let_1}..."
*if let_1=2
  "...${name#let_2}..."
*if let_1=1
  "..."

Подозреваю, что было более изящное решение, но моя лень велела мне добавить костылей.

По задуманному тут создаются временные переменные let_1 и let_2, которые принимают значение последней и предпоследней букв переменной name. Дальше в зависимости от того, сколько букв было в имени (переменная name), выводится либо две последних, либо одна, либо нифига. И в самой игре это работает, я проверил. Хотя с длинными именами выглядит так себе, но об этом я подумаю позже.

И вот квиктест почему-то выдает ошибку на строке с "...${name#let_2}${name#let_1}...", мол, нет в слове минус первой буквы, исправь. Но в этой строке не используется переменная со значением -1, что не так-то  :fuuu: как будто из-за того, что name тоже переменная, он не воспринимает кусок *set let_1 length(name) как присвоение нового значения и в рамках теста считает, что let_1 по-прежнему равняется 0, а значит let_2 будет равно -1.

Но при этом даже если при создании этих временных переменных сделать их равными 2, то эта ошибка сохранится. А без исправления ошибки квиктест дальше не проверяет.

Ну, в теме сиасайда я пока писать об этом не буду, т.к. я себя знаю: 90% ошибка в каком-нибудь тупом и очевидном месте, но замечу я ее слишком поздно, и все узнают, какой я тупенький временами анон  :lol:

Отредактировано (2020-04-19 01:01:52)

#32 2020-04-25 19:58:36

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Нашел решение проблемы, кто бы, блядь, сомневался, через десять минут после того, как запостил вопрос на форуме чойсов.  :lol:  :facepalm:

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

В общем, проблема была даже не в этом куске, а в самом первом, мать его, стартап файле, где создаются основные переменные. Потому что там было *create name " " (на самом деле между кавычками не было пробела, но без него bb холиварки съедает кавычки, даже если они находятся в блоке кода, и я только сейчас это заметил  :fuuu: )

" ", понимаете. Слово с нулем букв. Потом, конечно, идет фрагмент, где переменной присваивается то значение, которое введет игрок, но поскольку это не через команду *set сделано, для квиктеста в этой переменной все так же ноль букв.

Угнетен собственным кодом, ачивмент анлокд.  :sadcat:

Пока пихал костыли вспомнил, как в далеком девятом классе сдавал экзамен по информатике. Там нужно было написать на паскале какую-то коротенькую и простую программу. Я даже не помню, в чем она заключалась. Решение уравнения, что ли. Полный уверенности в себе, анон ее написал, как учили, и запустил. Программа не работала. Уже чуть менее уверенный в себе анон написал ее с нуля, проверив и перепроверив все, что можно, но программа все еще не работала. Тогда анон плюнул и написал все через оттакенную жопу. Программа заработала, анону поставили пять  :facepalm: видимо, с тех пор я такой.

Отредактировано (2023-12-24 22:38:58)

#33 2020-05-01 17:38:17

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Снова интересное из вопросов с форума чойсов.

Там обсуждали, нет ли каких-то неочевидных ограничений или багов, если используется *fake_choice вместо *choice (напоминаю, что и то, и другое дает игроку возможность выбора, но фейк не требует перехода к заголовку при помощи *goto после каждой опции). Пока сошлись на том, что функционально никаких известных ограничений нет, и авторы пользуются *choice в основном только чтобы не запутаться в многоуровневых развилках.

Но потом в тред ворвались с ценной информацией: два года назад разработчики чойзскрипта выпустили апдейт, в котором была введена новая фича: implicit control flow. Она убирает строгую необходимость в *goto после команд *choice, *else и *elseif. Для этого в стартап файле, где создаются переменные, ачивки и т.д., нужно прописать:

*create implicit_control_flow true

Потом в других файлах в ходе игры можно будет переключать true/false при помощи *set implicit_control_flow true

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

Т.е. вместо

*choice
  #aaa
  *if b>0 #bbb

с implicit control flow должно быть:

*choice
  #aaa
  *if b>0
    #bbb

Сам пока не решил, стоит ли отсутствие головной боли с *else другой головной боли с этими условиями, но штука довольно интересная.

А еще пока читал тред увидел забавную заебашку про бесящие слова и выражения: часть авторов откровенно бесит слово фейк в *fake_choice. Мол, ну почему фейк, игроку же дается выбор. Настоящий выбор! Куда не ткни, везде несправедливость  :lol:

#34 2020-05-01 21:16:30

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Раз уж я об этом упомянул, расскажу еще об одном верном способе поджечь игроку жопу: статчеки в выборе.  :cool: Т.е. команды, благодаря которым игрок сможет выбрать какую-нибудь фразу или действие, только если сложатся звезды, солнце встанет на западе и опустится на востоке, высохнут моря и ветер унесёт горы, как листья... в общем, только если будет выполнено назначенное вами условие.

Эти команды ставятся прямо перед блокируемой ими опцией (или уровнем выше, если вы используете ICF). Т.е. это будет выглядеть так:

*choice или *fake_choice
  #просто опция
  *команда #опция с подвохом

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

Вот, например, фрагмент из "The Passenger". Три первых опции заблокированы, потому что это ЛИ, а анон никого не романсил. Отдельно мне здесь доставляет тот момент, что четвертый вариант "о ком бы подумать" это еда, а пятый - местный антагонист  :lol:

Скрытый текст

2) Если игрок не выполнил условие, то опция вообще не видна. Это делается при помощи простого *if.

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

3) В случае, если к одному и тому же выбору возвращаются несколько раз (например, если игроку нужно задать все-все-все вопросы из списка, иначе ваша справка по сеттингу пропадет зря), то уже использованные опции можно заблокировать при помощи *disable_reuse. Уже просмотренные опции при этом сереют, и повторно их выбрать нельзя.

Вот пример из того же "The Passenger".

Скрытый текст

4)...Или их можно вообще скрыть после просмотра при помощи *hide_reuse.

5) При этом если вам сегодня лениво, или повторяться должен только один вариант из нескольких, то *hide_reuse можно поставить перед командой *choice, а один из вариантов пометить *allow_reuse. В этом случае если игрок выберет отмеченный вариант, то игра снова вернется на сцену с выбором (если там будет *goto, конечно), но скроет все неотмеченные варианты.

Забавное применение такого цикла (с возвращением к одному и тому же выбору) я видел в Donor. Там в один момент вампир решает, что он юморист дохуя, и предлагает гг и второму человеку сыграть с ним в одну игру. До тех пор, пока гг выбирает "неправильный" ответ, игра будет повторяться снова и снова. Но после 50, кажется, итерации подельник вампира психанет и прервет эту игру.  =D К слову, там эту фичу добавили после того, как один из игроков сказал, что он выбрал "неправильный" ответ 100 раз. Мол, жалко, ачивки за это нет.

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

Скрытый текст

#35 2020-05-07 16:39:15

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Увидел @ схоронил
Разрешение изображений, которые будут использоваться в игре (если выпускать ее через HG, конечно) - иконки, промо-арт, заглушки в самой игре и т.д.

Icon: 1024×1024, but mobile devices will resize it down to 48×48. This icon should NOT include the name of your game.
Splash Screens: This screen will be displayed briefly as the game starts (on various devices) and will act as the first screenshot in the store.
480×800 portrait (Android)
640×960 portrait (iPhone 4)
1242×2208 portrait (iPhone 5+)
1536×2048 portrait (iPad portrait)
2048×1536 landscape (iPad landscape)
Other Promotional Art: These landscape images can include the name of your game in a large font.
1024×500 landscape
1400×560 landscape
480×320 landscape

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

Надо будет потом еще поискать про иконки ачивок. Я пока еще не видел, чтобы кто-то их менял, но теоретически это должно быть возможно. Тем более, что игра может быть выпущена на нескольких платформах, включая Стим.

Отредактировано (2020-05-07 16:39:56)

#36 2020-05-13 08:47:49

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

В истории форума чойсов был период, во время которого там завелся один ебанат. Вообще ебанатов там много, конечно же, но именно этот отличился тем, что пару недель заходил в каждую новую или свежеподнятую тему с игрой, у которой нет тега nonbinary-inclusive (гг можно объявить небинарной снежинкой или хотя бы просто кастомные местоимения назначить), и ныл о том, что вот, он весь такой небинарный, а ему недодают возможности полного селф-инсерта, а пачиму, а вот игра стала бы куда лучше, если бы там была небинарная опция для гг. Заебал тогда пиздец как, до уровня ъуъ съка от одних только воспоминаний. Чсх, в темах, где этот тег был, этот ебанат вообще не появлялся. Ведь там нельзя поныть, что не додают репрезентации, не растет кокос.

У многих авторов есть в их играх такая фишка, как настройка пола не только для гг, но и для некоторых ключевых нпс. Особенно для тех, кого можно заромансить. Т.е. игрок в самом начале (реже - уже в процессе знакомства) выбирает, будет ли охрениэль его мечты мужчиной или женщиной. Этот метод хорош тем, что при минимальных трудозатратах число романсовых опций фактически увеличивается вдвое. Нужно только завести дополнительные переменные для местоимений и добавить несколько незначительных вариаций во взаимодействии с этими нпс. Благо, английский в этом плане очень удобно не требует изменения слов в зависимости от рода существительного.

Эти два факта слились в экстазе (к счастью, без участия того ебаната) в недавнем обновлении одной випки. Там тоже есть персонаж с возможностью романа и с настраиваемым полом, но в обновлении автор добавил этому персонажу помимо стандартного м/ж еще и небинарную опцию. Для персонажа это получилось довольно органично, и все бы хорошо, но автор использовал местоимение they. Которое меняет форму связанных глаголов.  :smoke: Когда анон полез смотреть код, ахуение было не передать словами. Сам трюк с изменением был выполнен через мультизамену и был достаточно простым, но при этом автору пришлось во всех абзацах про этого персонажа поставить мультизамену на каждое местоимение и каждый глагол.  :smoke:

Для использования мультизамены нужна отдельная переменная. В основном используют переменные со значением true/false, но также можно использовать и переменные с простым числовым значением (1, 2, 3...). Сама команда мультизамены выглядит так:

@{переменная "текст 1"|"текст 2"}

При использовании переменной true/false первым идет текст для значения true, потом для значения false. Для числовых переменных - по возрастанию, сперва текст для значения 1, потом для значения 2 и т.д. Не знаю, будет ли оно работать для текстовых переменных.

Согласно вики эта фича была добавлена в язык где-то в 2017 как раз после жалоб о том, что иначе для персонажей с местоимением they требуется хренова туча *if, из-за которых текст выглядит как пиздец. Но за все то время, пока я шарюсь по коду чужих игр, это первый раз, когда кто-то использует эту фичу именно для таких целей, причем для персонажа, которого в тексте ахуеть много.

#37 2020-05-13 11:16:53

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Анон пишет:

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

Уважаю чувака, вот это усидчивость :heart:

#38 2020-05-13 11:49:54

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Анон пишет:

Уважаю чувака, вот это усидчивость

Да вообще.  :love: чтоб я так же хорошо работал.

При этом изменение это было уже после написания публичной демки. У которой общий объем - почти 152к слов со всеми развилками. И персонаж - один из четырех возможных романов и в целом один из основных сюжетных двигателей. А это навскидку - редактура примерно трети от общего объёма. Мне как-то даже немного стыдно стало, что я ною, когда вычитываю свою шидевру по 15-20к слов за раз  =D

Отредактировано (2020-05-13 11:50:35)

#39 2020-05-15 15:28:05

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Два дня уныло ковырял уже написанное, правил мелкие опечатки и ошибки как в коде, так и в логике ("вы можете управиться с мечом, но не так хорошо как с мечом", блеать  :facepalm: ).

Привело к неожиданным результатам: теперь на холиварке мне очень не хватает нумерации строк в поле сообщения и выделения тегов цветом  :lol:

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

#40 2020-05-18 12:00:45

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

В общем, как ни пытался, не нашел подтверждения, что иконки ачивок можно кастомизировать.  :bubu: единственное упоминание - в треде шестилетней давности, когда ачивки только-только прикрутили. И то в контексте "кажется, не меняется".

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

В шидевру добавил пока только одну ачивку. Надо бы побольше, пусть это и самое начало - по количеству рутов хоть. Жалко, что нельзя посмотреть, какой процент игроков получил ту или иную ачивку. Ужасно интересно, оказывается, наблюдать за тем, какой рут люди выбирали, и что на этом руте делали.  =D когда дело дойдет до концовок, я, наверное, буду орать от восторга, как только кто-нибудь выпадет на секретную концовку. Особенно если выпадет случайно, без гайдов и прочего. :evil: Чужое охуение (в хорошем смысле) просто восхитительно.  :cool:

Правда, пришлось подкорректировать планы на вторую шидевру. Там я задумывал дать игроку внутриигровую возможность пройти историю заново. Что-то вроде new game+, теперь и с лорным обоснуем. И делать это хотел через проверку наличия эндгеймовой ачивки. Но тут есть подводные камни: ачивки-то остаются в профиле, и хрен его знает, как на это среагировала бы та конструкция, которую я хотел навертеть, при начале обычной новой игры за другого гг. Придется заменить на проверку переменной, наверное.

#41 2020-05-24 20:58:53

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Анон пишет:

В общем, как ни пытался, не нашел подтверждения, что иконки ачивок можно кастомизировать. 

Если тебе все еще это интересно, анон, то у Highlands, Deep Waters иконки ачивок в стиме кастомные, так что может быть и да. Но она не то, чтобы прямо только релизнулась.

#42 2020-05-24 21:33:59

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Анон пишет:

Если тебе все еще это интересно, анон, то у Highlands, Deep Waters иконки ачивок в стиме кастомные, так что может быть и да. Но она не то, чтобы прямо только релизнулась.

Охуенно  :heart:
Спасибо за информацию, я как-то не догадался ее в стиме посмотреть.

#43 2020-05-25 13:25:11

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

На форуме снова подняли интересную тему: ценник на игры.

В играх, выпущенных от CoG или HC цена устанавливается в зависимости от количества слов (хз, правда, учитывается ли общее количество или среднее прохождение). А вот для игр в HG цену устанавливают сами авторы. Издатели, конечно, могут изменить цену, но в основном решающим фактором остается все же мнение автора.

Пожалуй, самый разумный подход озвучил автор FH: посмотреть цены на прочие игры (первые у автора) и выбрать ту, которая не будет казаться слишком высокой для покупки чего-то от ноунейма, и в то же время не будет слишком низкой. К тому же обычно неделю или около того сразу после выхода игры на нее небольшая скидка предусмотрена.

И даже в этой теме кто-то проехался по четвертому тому SoH, что ж такое-то  :lol:

Отредактировано (2020-05-25 13:27:29)

#44 2020-06-06 19:23:54

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Анон пишет:
Анон пишет:

В общем, как ни пытался, не нашел подтверждения, что иконки ачивок можно кастомизировать. 

Если тебе все еще это интересно, анон, то у Highlands, Deep Waters иконки ачивок в стиме кастомные, так что может быть и да. Но она не то, чтобы прямо только релизнулась.

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

#45 2020-06-06 20:41:09

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Анон пишет:

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

Если я правильно понял, про какой дом ты говоришь, то можно.

Скрытый текст

#46 2020-06-10 00:59:29

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Наконец разобрался, как бахнуть на одну страницу два выбора с разными опциями. Или даже больше двух. Все во имя прокрастинации.

*choice first second
  #Set1_option1
    #Set2_option1
      *goto label
    #Set2_option2
      *goto label
  #Set1_option2
    #Set2_option1
      *goto label
    #Set2_option2
      *goto label

Это дает вот такую штуку:

Скрытый текст

С *fake_choice тоже прекрасно работает, в этом случае можно и переход к заголовку убрать.

Плюсы:
1) Н е О б Ы ч Н е Н ь К о
2) Максимального количества списков на одной странице, вроде бы, нет. Видел, как некто, храбрый духом, сунул аж четыре списка (первый на 10 пунктов, остальные на 6). Не в игре, а ради теста, но все же.

Минусы:
1) Строка текста перед выбором всегда будет начинаться с "Select a", и после нее можно добавить только одно слово. В коде это то, что идет после *choice. В данном случае - *choice first second. При этом нельзя сделать текстовую переменную из нескольких слов и подставить ее туда, я пробовал  :bubu:
2) Можно подумать, что это сократит количество строк, но нихуя. Дело в том, что опции из второго списка должны повторяться под каждой опцией первого списка. То же самое с третьим, четвертым и далее. У того храброго духом его эксперимент вышел на 4 800 строк. Кода, без сопроводительного текста для опций.

Снова вычитывал шидевру, снова нашел ошибки. Это, кажется, бесконечный процесс. Причем каждый кусок текста я проверяю дважды: сперва обычная вычитка и куцая проверка очепяток в сиасайде, а потом все это еще раз на граммарли. Шидевра анона на английском, так что второй этап обязателен, я до сих пор не ебу времена сложнее паст симпл. И то, и другое не панацея - I вместо нужного It спокойно прошло через обе проверки. Поначалу у меня были наполеоновские планы, как я буду могуч и сам! сделаю игру и на английском, и на русском. Но потом я сдулся здраво взглянул на свои возможности и решил, что ну нахуй, если с речью рассказчика я еще выкручусь при помощи множественного числа ("вы пошли", вы сказали" и т.д.), то делать два варианта каждого предложения в чужой речи о гг... ояебал, моя лень слишком сильна.

#47 2020-06-11 23:07:08

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

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

Первое - в те поля, где ответ нужно вводить вручную (чаще всего - имя персонажа), ставится blah blah. Надо будет не забыть добавить пасхалку на случай, если кто-то вдруг решит своего персонажа так назвать. Ради лулзов, вряд ли это увидят вне кода  =D

Второе - этот рандомтест читер :lol: в шидевре есть момент, где игрок может облажаться по-крупному, но поскольку это самое начало игры, для этого нужно постараться. Вкратце - нужно, чтобы совпали два числовых параметра, но это достаточно труднодостижимо, если не знать заранее. Когда я выкатывал апдейт с этим фрагментом, меньше 10% тестеров нашли эту возможность (20% после объяснений что и куда). Рандомтест нашел эту хуйню с первой попытки  :bubu: для кого я тут все усложняю вообще, спрашивается.

Третье - в шидевре есть трекер для отслеживания, насколько у гг едет крыша от происходящего. В конце пролога этот трекер проверяется, и если его значение ушло ниже 75 (при том, что на старте игры значение трекера 80), возвращает его на отметку 75. Типа гг поспал, и его/ее немного попустило. И во всех 10 вариантах, которые выдал рандомтест, этот трекер на конец первой главы был равен именно 75. Я уже хотел было поржать, мол, лол, ИИ, что ты там вытворяешь, почему твой персонаж сходит с ума все время. А потом посмотрел внимательнее на пролог, и похоже, что 75 - это максимум, которого там можно достичь. Придется теперь еще и в прологе распределение статов пересмотреть, или хотя бы вот эту проверку поправить, иначе хуйня какая-то.

Для проверки минимума/максимума статов такой метод, впрочем, оказался не очень. Все равно придется вручную проверять. Наверное, стоит в коде добавить комментарии со значениями в конце каждой главы, а то потом влеплю куда-нибудь невыполнимый скиллчек.

Отредактировано (2020-06-12 00:48:59)

#48 2020-06-15 21:03:59

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Перепроверил статы в прологе, и эта проверка выявила страшное: год назад анон был долбоебом  :facepalm: в статах пиздецовейший перекос - опций для увеличения одного чуть ли не в пять раз больше, чем для любого другого, включая его парный стат.Теперь сижу, грустно ковыряю все это. Переделал всего половину, а уже на стенку лезу: я хочу строчить про магию и меч, а не думать над балансом и вот этим вот всем  :sadcat:

Попутно обнаружил, что при выборе пола гг я забыл проставить назначение нужного варианта для местоимения him/her. Не слишком критично - в случае чего можно было бы легко назначить вариант на основе других местоимений. Но сам факт того, что это случилось, мне не нравится  :lol: Потому что я в таких случаях каждый раз вспоминаю чью-то кулстори про инди-разраба, жаловавшегося в своем паблике "я что, забыл добавить в игру ключевой артефакт? <...> я забыл добавить в игру ключевой артефакт!"

Для отслеживания какой стат где меняется использовал не по назначению Twine. Вообще это платформа для создания текстовой игры, только не на чойзскрипте, а, кажется, на html. Но мне удобнее использовать ее как доску с заметками. Обычной доски у меня нет, а с моим куриным почерком листы А4 с заметками не особо помогают. А тут красивенько.

слегка палевный огромный скрин процесса

#49 2020-06-21 14:12:13

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

На форуме чойсов завели отдельную тему под сообщения о технических ошибках в одной недавно вышедней игре. Впервые такое вижу. Обычно для игры, публикуемой в HG обязателен не только обычный бета-тест, но еще и проверка со стороны самих чойсов, в том числе проверка переноса сохранений. И в результате а) для сообщений об ошибках хватает обычного треда обсуждения игры; б) эти самые ошибки обнаруживаются и исправляются в пределах первых суток после публикации. А тут хрень какая-то - "нам поступает так много сообщений об ошибках, что мы не можем сами справиться, так что если у вас есть какие-то ошибки, мы бы хотели вами созвониться". Созвониться?  O_o

Хотя от перевода стрелок я поржал. "The game isn’t broken, that’s just what the author wrote."  =D лол, нет, судя по описаниям, оно действительно broken, и вы это пропустили в публикацию.


Еще из интересного: нашел обсуждение всяких нестандартных случаев использования чойзскрипта. В основном для всяких мини-игр, чтобы вы могли играть в игру, пока играете в игру, но также и для всяких геймплейных штук. Например, для скучающих по данжам Даггерфола сделали случайно генерируемый лабиринт. Не совсем на чойзскрипте - для генерации использовали скрипты на питоне, но сама рандомизация именно на чойсе. Звучит интересно, но с собой несет кучу новых проблем: разное разрешение экранов и т.д. К примеру, без изменения шрифта на monospace вместо лабиринта вам покажет вот такую фигню:

Скрытый текст

При просмотре со смартфона или планшета оно будет еще более покореженным, поскольку сожмется вдвое.

Еще другой фанат питона делал скрипты для введения системы инвентаря.

Из примеров с кучей таких мини-игр там вспомнили Missing Wings, но я ее потыкал палочкой, и оно чот не очень. Что в плане сюжета, что в плане качества текста, что в плане этих мини-игр. Еще там вспомнили ту самую визуальную новеллу на чойсе - Lunchtime (алярм, аниме штампы). Сам факт того, что это сделали, и оно работает, охуенен. Но на мой взгляд это удаление гланд через жопу: и разработчику намного проще использовать другие инструменты для создания визуальной новеллы, и игроку удобнее играть в другом интерфейсе. Но интересно, да.

Вообще такие внезапные мини-игры это довольно неплохой способ увлечь игрока. Особенно когда их отключить можно  =D "Донору" я тут уже пел дифирамбы. Сейчас вспомнил еще пример из SoH: помимо интересной детективной части в третьей книге, во второй был случай, когда игроку дается картинка с изображением доски с сёги, напарник дает подсказку, и тебе нужно выбрать чем и куда ходить. У меня тут горела жопа, потому что 1) это было не отключить, сюжетный момент и все такое 2) я нихрена не знаю о сёги и не умею читать кандзи 3) на тех картинках с фигурами сёги, которые я тогда нагуглил, были другие иероглифы  :lol:  но аутентично получилось, для не умеющего читать гг это был такой же темный лес.

Отредактировано (2020-06-21 14:13:23)

#50 2020-07-06 20:58:53

Анон

Re: [Левел-ап][Игры][YesCom] Да как так

Я уже которую неделю пишу и прокрастнирую, прокрастинирую и пишу, а глава все не кончается  :sadcat: а потом еще и оказывается, что за раз я написал пару сотен слов. Пичалька, но преодолеваемая.

Нашел на вики краткое руководство по добавлению всяких косметических плюшек к демке. Цвет статов поменять, шрифт поменять, добавить верхнее и нижнее подчеркивание к кнопке "следующая глава" и т.д. Теперь кошу на нее глазом и гадаю, что победит - моя лень или моя любовь к несвоевременным экспериментам  =D

Еще на тему косметических улучшений раздумывал об иллюстрациях. Раньше, когда речь заходила об иллюстрациях к текстовой игре, анон садился на завалинку, доставал клюку и начинал кряхтеть о том, что книжка с картинками это недостаточно илитно  :lenin: ну, точнее начинал бы, если бы мнение анона кто-то спросил. Но анон Неуловимый Джо, а потому его никто не спрашивал. Так анон счастливо избежал славы ебанашки  :lol: а теперь анон сидит и думает, может хоть хэдеры к главам запилить. Это новый раунд борьбы лени и несвоевременных экспериментов, т.к. я себя знаю, и а) меня задушит жаба заказывать комишшены б) я обязательно решу, что я ж шерстяной волчара, мои лапищи мощны, и я сам все могу нарисовать. Плюс еще проблемы с масштабированием. Но если совсем охренеть, и бы хотел иллюстраций вроде этого. Красиво же, ну.  :heart:

Подвал форума

Основано на FluxBB, с модификациями Visman
Доработано специально для Холиварофорума