Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 506 106 223
Interactive Fiction (IF) Thread Аноним 09/05/21 Вск 19:57:03 741998 1
e6d16eb20392747[...].0 161Кб, 750x567
750x567
cd67030d34c36ae[...].0 57Кб, 356x300
356x300
c488589a6ed880d[...].0 37Кб, 835x598
835x598
d48ed8deb552f28[...].0 120Кб, 760x428
760x428
Обсуждаем разработку интерактивных историй.

> Что это?
IF - жанр игр, где весь игровой процесс идет через (около)литературный текст.

> Какие IF бывают?
В основном разделяют два типа IF:
- Менюшки (Menu-based)
- Парсерные (Parser-based)

> Где почитать?
ifwiki.ru

> На чём писать?
Парсерные: Inform 6/7, RuTADS
Менюшные: Twine 2

Но есть большое количество и альтернативных движков, и ничего не мешает написать движок самому, благо это не так сложно.
Аноним 09/05/21 Вск 21:53:13 742016 2
>>741998 (OP)
> Обсуждаем разработку интерактивных историй.
Подписываюсь на тред.
За уже три года сидения в этом разделе я пришёл к выводу, что только интерактивки пилить меня и хватит.
мимографоман с сундучком охуительных историй
Аноним 09/05/21 Вск 21:56:45 742017 3
>>742016
Да, тащемта, сейм щит. IF-ки самые простые в плане реализации. Писать текст все умеют, а вот красиво рисовать, делать музыку, вот это всё - нет. IF отлично подойдет скучающему программисту.
Аноним 09/05/21 Вск 22:04:48 742019 4
>>742017
Моя проблема в том, что я настолько обленился, что даже графоманить лень. Просто мечтаю, глядя в потолок. Это пиздец. Совсем скатился.
Аноним 09/05/21 Вск 22:07:35 742020 5
>>741998 (OP)
На них можно хоть сколько-нибудь заработать? Если это не порнуха.
Аноним 09/05/21 Вск 22:08:59 742021 6
>>742019
Сейм щит. Правда, я скорее уперся в теоретическую базу IF. Как создать игру, с полноценным симулированным миром? Вот посмотришь на Game of Life, там буквально насколько правил в основе мира, а зато какое многообразие! Как такого добиться подобного (Simple Rules for Complex Behavior) для IF? Вопрос открытый.
Аноним 09/05/21 Вск 22:10:07 742022 7
>>742020
> На них можно хоть сколько-нибудь заработать?
Ну, если ты начнешь попытаться продать свое поделие, то тебя нахуй пошлют. Никому не хочется покупать кота в мешке.
Аноним 09/05/21 Вск 22:12:46 742024 8
>>742021
Любопытная тема. Предлагаю устроить итт мозговой штурм. Вброшу тезис для затравки. Использовать для симуляции мира систему навроде GOAP. В тексте это всё гораздо проще реализовать, чем во всяких там анимациях моделек.
Аноним 09/05/21 Вск 22:16:52 742026 9
1620587811257.png 67Кб, 326x202
326x202
>>742020
>>742022
Главное - реклама, парни. Если грамотно пропиарить, можно продать всё. Даже интерактивную книжку с белыми буквами на чорном фоне. И продаётся же. 10 лет Йоко Таро плохо пропиарил свою ИФку с элементами жрпг. И не продал. А потом хорошо пропиарил вторую часть ИФки (с элементами буллет хелла) и так хорошо пропиарил, что теперь и первая продаётся бойко.
Аноним 09/05/21 Вск 22:18:33 742028 10
>>742024
> GOAP
Вот здесь поподробней. Судя по гуглу, эта концепция создана для NPC? Это хорошо конечно, но это никак не объясняет, каким образом можно создать симуляцию полностью процедурного мира. У меня много опыта по этой теме, поделюсь ими в своих постах.
Аноним 09/05/21 Вск 22:19:44 742030 11
>>742026
Ну, AI Dungeon к примеру хорошо продается, и пиара много. Даже те, кто плохо знаком с IF играли в него.
09/05/21 Вск 22:21:00 742031 12
>>742030
Это не ИФ, там текст сам игрок пишет.
Аноним # OP 09/05/21 Вск 22:25:08 742033 13
>>742031
Это ты верно конечно сказал. GPT настолько часто несет бред, что это уже никакая игра не получается. Но справедливости ради, интерактивная литература может быть и такой, в которой игрок пишет историю, но используя при этом великую силу рандома и процедурную генерецию. Об этой концепции тоже как-нибудь напишу, её плюсы и минусы.
Аноним 09/05/21 Вск 22:31:57 742034 14
>>742028
> эта концепция создана для NPC?
Да. Но я заметил, что любая игровая сущность, будь то НПЦ или, скажем, погода в мире, или миграция стай/стад животных/зомби/самовоспроизводящихся разумных роботов может действовать по заранее расписанному плану с любой нужной тебе степенью сложности и разветвлённости.
Аноним 09/05/21 Вск 22:33:16 742036 15
>>742034
... И комплекс этих игровых сущностей, которые вместе образуют целый мир, тоже может действовать по заранее расписанному тобой глобальному плану.
Аноним # OP 09/05/21 Вск 22:38:36 742037 16
>>742034
Я тоже заметил, что любой ИИ можно выразить как грубый поиск (брутфорс) решения заданной задачи среди всевозможных действий. То есть можно скрытно всё просчитать не заморачиваясь. Даже если ИМ не знает, как правильно взаимодействовать с предметами, можно всё виртуально переиграть, и выбрать ту стратегию, которая по крайней мере не приводит к смерти.
Аноним # OP 09/05/21 Вск 22:41:15 742039 17
>>742036
>>742034
Вот только в твоем плане есть один огромных размеров минус. Как бы ты не хотел, у тебя не хватит сил расписывать последствие на каждое действие игрока.
Аноним 09/05/21 Вск 22:52:51 742040 18
>>742037
Ты только что китайскую комнату.
>>742039
И не надо расписывать каждое. Достаточно расписать реакции на 9 действий. 3 негативных, 3 нейтральных, 3 позитивных. Игроку подавать на вход меню с 3-5 вариантами действий, рандомно выбранными из вышеуказанной 9-балльной шкалы. Когда игрок догадается, что его действия не свободны, интерактивка уже к финалу подойдёт и время манибека закончится.
Аноним 09/05/21 Вск 22:58:01 742042 19
>>742040
Вы видите курицу, клюющую зёрнышки. Ваши действия:
1. Убить курицу клюшкой для гольфа (если клюшка есть в инвентаре).
2. Кудахтать по куриному (навык общения с животными).
3. Сочинить стих о курице (навык поэзии).
4. Попытаться поймать курицу (ловкость не менее 20).
5. Идти дальше.
Аноним # OP 09/05/21 Вск 22:59:54 742043 20
>>742040
> Игроку подавать на вход меню с 3-5
Это менюшка, это другое. Сейчас речь идет о парсерных, где ты можешь брать вещи сувать их в другие вещи, кидать их, жевать их, садиться на них, прыгать на них, чесаться ими.

В менюшках вообще с подобным заморачиваться не нужно. Менюшки - книги как есть. В них важен сюжет, герои. А свобода действий - так, на втором плане. Это не плохо, на самом деле можно на менюшках сделать невероятную годноту. Но у меня, как у Творца Миров, сердце не к этому лежит
Аноним 10/05/21 Пнд 01:12:50 742065 21
vIvjqbiYoB0.jpg 206Кб, 1079x1138
1079x1138
>>741998 (OP)
Делаю ИФ (рпг) игру, которая сочетает и менюшный формат и парсерный.
Все взаимодействия по клику переводятся в аналог действий парсерных, но пока всё ещё на зачаточной стадии.

Почитал тред - на самом деле по прям совсем имитации реальных взаимодействий - тут просто надо сесть и пилить их, но не для конктретных сущностей, а для каких-то свойств сущностей, а потом их навешивать процедурно. Насчёт процедуронсти - погугли как Dwarf Fortress 250 мать его лет истории мира генерирует перед началом игры. Среднестатистической игре любого жанра столько процедурности конечно совем не надо, но можно по аналогии с рогаликами какие-то вещи перенять. По реакции мира и НПС на действия игрока - тут можно опять же через entity component system навесить шаблонные реакции, которых штук 5 и они только на НПС какого-то региона повесятся, где ты что-то сделал. Тебе не надо влиять на весь мир прям и продумывать эффект бабочки, это просто не рационально.
Аноним 10/05/21 Пнд 12:08:51 742101 22
10/05/21 Пнд 13:44:33 742118 23
инстед и метапарсер ван лав
только нет гуя, сделайте гуй ему
Аноним 10/05/21 Пнд 18:48:12 742221 24
>игра
>читать текст в 2021
ебало представили?
Аноним 10/05/21 Пнд 18:49:07 742222 25
>>742118
> сделайте
Я???
Сами делайте. А вообще консолька ван лав. Разрабатывай пердачелло под консольку, сам потом мне спасибо скажешь.
Аноним 10/05/21 Пнд 18:50:42 742224 26
>>742221
Вполне. Ты видимо не в курсе, о чем в треде пиздели. Вспоминали Нир. Все ебала известны можешь на ютубе посмотреть, когда там посреди сюжета ИФка начинается вместо игоры. И ничо, хавают.
Аноним 10/05/21 Пнд 18:55:56 742226 27
>>742043
> речь идет о парсерных
I suppose you know English well, because in Russian you will fuck up with all the forms of words with their cases, declines and suits.
Аноним # OP 10/05/21 Пнд 19:08:18 742228 28
>>742226
Русская грамматика это хуйня. Главное иметь под рукой мощные средства для парсинга. К примеру, я использовал в одном своем неоконченном проекте язык пролог, у которого есть встроенные инструмент парсинга - DCG.
Аноним 10/05/21 Пнд 19:09:44 742229 29
>>742228
> мощные средства для парсинга
На примерах бы узреть. Гуглить впадлу.
10/05/21 Пнд 22:15:33 742249 30
>>742222
lucky ook, ты, старый долбоёб? кому нахуй нужна консоль в 2021 году?
>>742229
Аноним 10/05/21 Пнд 22:34:58 742251 31
>>742030
>AI Dungeon к примеру хорошо продается
Уже нет, лол. Тебя и вчерашний шторм не разбудил.
Ну и раз уж речь зашла, предлагаю обсудить использование нейросеток в играх.
Сразу говорю, что я нихера не понимаю в нейросетках, и очень немного понимаю в кодинге, так если кто знает побольше - было бы круто послушать мысли.

Собсно, как >>742033 и сказал:
> GPT настолько часто несет бред, что это уже никакая игра не получается.
Поэтому, естественно, на чистом ГПТ мы далеко не уедем. Что понятно, ибо её оригинальная цель - анализ и генерация текста, а не игрушки.
Но что если совместить его с классической игромеханикой?
Значится, у нас каждый объект в игре имеет атрибуты (характеристики, навыки, трейты, описания и тд), + куча функций определяющих взаимодействие этих объектов.
Соответственно, игрок пишет заявку, нейросетка анализирует заявку, определяет какие объекты, каким образом в заявке взаимодействуют, и выбирает какую функцию из имеющихся выбрать. Вызывает функцию, передав ей участвующие объекты, функция обрабатывает это дело, меняет атрибуты объектов, после чего нейросетка уже на основе заявки, контекста, и изменившихся атрибутов объектов генерирует описание и выводит его игроку.
Я думаю, таким образом можно будет улучшить стабильность и логичность нейросетки, ибо если ты отрубил гоблину ногу, и он получил трейт "безногий" нейросетка не должна внезапно начать описывать, как он быстро от тебя убегает.
Ну и за счёт каких-то фоновых процессов и взаимодействий, игра будет более... игрой и не будет требовать чтобы игрок её за ручку водил.
Ну и из минусов - при такой системе создание сценариев будет гораздо более сложным процессом.
Ну и я хз насчет технической возможности интеграции нейросеток с кодом.
Аноним 10/05/21 Пнд 23:28:22 742255 32
pricing-of-AI-d[...].jpg 33Кб, 750x383
750x383
>>742254
Ссылку нашел, а прочитать ридми не осилил. Это старая версия на гпт-2. За нормальную гпт-3 они требуют 30 баксов в месяц
Аноним 11/05/21 Втр 00:29:10 742258 33
Ну не знаю. Вы все щас куда-то не в ту степь завернули.
Мне совершенно не нужен рандомно генерируемый контент. У меня есть конкретные охуительные истории, в которых уже лично мной нагенерировано порядочно авторского контента, сладкого, деревенского, как в деревнях пекли. Соответственно и вариативность мне не нужна, ибо концовка у меня уже совершенно не стесняясь, по диктаторски нагло, цинично задумана одна единственная.
Аноним 11/05/21 Втр 00:31:27 742259 34
Аноним 11/05/21 Втр 00:32:14 742260 35
>>742258
Пиши книгу тогда.
Аноним 11/05/21 Втр 09:51:02 742293 36
>>742022
> > На них можно хоть сколько-нибудь заработать?
Можно. Месяц назад где-то вышла "Жизнь и страдания сэра Бранте" - и отлично всем зашла. /v ссался в штаны от восторга
Аноним 11/05/21 Втр 12:46:23 742350 37
Как-то я делал внутриигровую консольку. Как в ТЕСачах.
Вместо того, чтобы писать километры if a, if b, if c при парсинге чего-либо, я придумал записать все существующие команды в список с объектами, а затем в цикле проходить по массиву одним for (i=0, i<list.size, i++) if (command == list.key) process(list.action); где key команда из базы команд, action описание действия, которое эта команда делает, оно подаётся аргументом в функцию-процессор, а command - это слово введённое в консоль (в самом простом случае слово, потом я усложнил до парсинга целой строки с пробелами, как во взрослых консолях). Потом оказалось, что я просто перенёс огромный свич в процессор и отказался от процессора и в поле action начал хранить имена ивентов, функций и вызывать напрямую.
Я правильно понимаю, что я самостоятельно изобрёл так называемый паттерн "токенизатор"?
Аноним # OP 11/05/21 Втр 16:02:44 742444 38
>>742229
Прости, что долго не писал. Есть такой язык богов - Пролог. Он расширяем, и в нем есть такие концепции как DCG и CHR.
DCG (Declarative Grammar Rules) - правила грамматики. Как это можно применить в IF?
Вот пример парсера:
verb("взять") --> "взять".
female("ручка") --> "ручк".
causative(X) --> female(X), "у".
parse(Verb, Obj) --> verb(Verb), " ", causative(Obj).

С помощью этих правил парсинга, можно легко парсить грамматики любой сложности.

Далее, а что такое мир в IF? Это набор фактов. К примеру: "В комнате есть стул, на стуле находится игрок, игрок держит ручку."

Пролог - это про программирование фактами, по этому он идеален для подобного рода задач.

CHR (Constraint Handling Rules) - правила обработки ограничений. Они нужны для прямого логического вывода.

К примеру:
X is item, X is in Room, player is in Room ==> player can take X.
Можно прочитать как "Если X это предмет, X находится в комнате Room, игрок находится комнате Room, то игрок может взять X"

Как видите, ООП сосет с проглотом у логического программирования в задаче создания интерактивных историй.
Аноним # OP 11/05/21 Втр 16:30:11 742452 39
>>742451
> Главное !cut не заебаться ставить
В CHR вообще нет cut. CHR это прямой логический вывод (forward chaining), в нем cut просто не имеет какого-либо смысла.
Аноним # OP 11/05/21 Втр 18:23:36 742474 40
>>742472
> Это все равно поиск по дереву.
В CHR факты создаются во время исполнения, в стандартном backtracking из статичных фактов исходит доказательство. В CHR просто не нужен cut, ибо ты контролируешь вывод фактов почти что вручную (через замещение одного факта другим).
Аноним 11/05/21 Втр 22:55:24 742533 41
>>742474
Я не желаю учить пролог.
Лучше и дальше буду сосать ООП. Иди нахуй.
Аноним # OP 11/05/21 Втр 22:59:37 742536 42
>>742533
> Лучше и дальше буду сосать ООП.
Пиздец, представляю твою боль.
Аноним 14/05/21 Птн 20:40:33 743236 43
Алсо, я сделал небольшой движок, с интересной концепцией геймплея.
https://github.com/ostov-larion/noir
Движок еще нужно доработать (скоро выпущу новую версию), однако DSL движка расширяем, потому если нужны какие-то дополнительные функции, то их можно просто добавить.
Аноним 03/06/21 Чтв 16:24:31 746438 44
Так же удобно рассматривать IF-игры как конечные автоматы состояний. Главное не наткнуться комбинаторный взрыв.
Аноним 19/06/21 Суб 01:09:40 749393 45
>>742293
>Жизнь и страдания господина Бранте

После успеха этого сырого дерьма окончательно убедился, что продать можно все что угодно.
Аноним 19/06/21 Суб 09:21:05 749410 46
>>749393
Разве Dear Esther и Stanley Parable вопрос не закрыли?
Аноним 19/06/21 Суб 10:54:46 749421 47
>>749410
В первое не играл, а парабола на мой взгляд совсем не сырой вышла, а даже интересной. Да и просили за нее, помнится, сильно меньше чем за бранте, а усилий вложено очевидно намного больше.
Аноним 19/06/21 Суб 12:15:37 749446 48
>>749421
>В первое не играл
Ыыы. Так никто не играл. Потому что это и не игра была, а просто неинтерактивная говнокнижка.
Но продавалась как игра.
Аноним 19/06/21 Суб 12:30:22 749452 49
>>749446
>неинтерактивная
Да ты тогда охуел ее в один ряд с параболой ставить
Аноним 19/06/21 Суб 12:47:27 749462 50
>>749452
В параболе тоже ходьба, только с разветвлениями. Ну, на ползалупки выше эстер, конечно, да.
По уровню дроча "критиков-инфлюэнсеров" они одинаковы.
Аноним 19/06/21 Суб 13:06:57 749469 51
>>749462
Соре, меня не особо волнует кто сколько дрочит
Аноним 19/06/21 Суб 18:31:31 749536 52
>>749516
В параболе есть хоть какая вариативность, и в самом повествовании и в концовках. В моем понимании это уже нечто большее чем обычный ширпотреб.

>>749518
А вот это скорее симулятор сломанного калькулятора, но это еще ничего, если бы вся вариативность не была в итоге липовой.
Аноним 19/06/21 Суб 19:21:33 749542 53
Аноним 19/06/21 Суб 19:56:50 749544 54
Присматриваюсь к Twine как к движку для написания/прототипирования разветвленного сюжета. Есть тут пользователи оного, какие подводные камни?

Вижу что выгружать в виде текста он умеет только все разом, как для редактуры, а в остальном вроде normalno
Аноним # OP 20/06/21 Вск 12:02:46 749619 55
>>749544
> Есть тут пользователи оного
Ну я допустим.
> какие подводные камни?
Никаких. Это прекрасный движок с большими возможностями.
Аноним 21/06/21 Пнд 11:49:04 749784 56
>>742251
>использование нейросеток в играх
Искусственная нейросеть - грубая модель биологических нейросетей. Поэтому сама по себе она умеет только выводить в себе некие формулы, связывающие между собой вход и выход. Чтобы научить нейросеть делать какую-то полезную для тебя работу, нужно скормить нейросети миллионы примеров, отмеченных метками "правильно" и "неправильно" (можно обойтись без меток, но с ними проще). К примеру, чтобы обучить нейросеть распознавать котят, нужно вручную отсортировать миллион фото котят и миллион фото без котят. А для обучения AI Dungeon, нейросеть кормили книгами и, возможно, записями интерактивных историй из обычных игр. То есть нейронке потребовалось переживать тонны текста, чтобы научиться генерировать что-то подобное тексту.

В твоём же случае тебе придётся каким-либо образом создать огромное число примеров поведения монстров, неигровых персонажей и других объектов игрового мира, чтобы скормить эти примеры нейронке. Так что не думай, что нейронка сама выдумает то, что тебе лень вручную описывать. И не думай, что её результаты будут лучше простого Random(), если ты сделаешь для неё недостаточно правильных примеров. Если бы у тебя был уже готовый массив данных, как в случае с фото котят и электронными книгами, тогда нейронка тебе могла помочь, а так получается что ты будешь делать всё вручную.

Преимущество нейронки - вычислив формулы из ограниченного количества примеров, она начинает применять те же формулы на все остальные возможные комбинации входных данных. Но если в твоей игре возможных комбинаций не так уж много, то смысла в нейронке вообще нет, ты примеров сделаешь для неё почти столько же, сколько возможно комбинаций. Пример: есть 2 типа предметов и 2 места для их размещения, следовательно всего 9 вариантов генерации - для нейронки тебе потребуется описать их все, но какой толк в нейронке, если ты уже описал все возможные варианты? Проще уж через Random().
Аноним 21/06/21 Пнд 12:07:05 749788 57
>>742444
>Пролог - это про программирование фактами, по этому он идеален для подобного рода задач.
Возможно, но что на счёт компиляторов/интерпретаторов? Интерактивные истории программно настолько просты, что сделать их можно на чём угодно, даже не буду упоминать ассемблер. Следовательно решающим фактором является распространённость/портируемость языка, а не какие-либо другие его качества. В этом смысле сегодня лидирует JS, потому что веб-браузер есть в каждом чайнике, а в браузере - интерпретатор JS.

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

А удобство написания парсера значения не имеет. Парсер пишется всего один раз, всё остальное время нужно писать саму игру. Кроме того, на мобильных устройствах парсерные игры по определению менее удобны для большинства пользователей, следовательно нужно копать в сторону менюшек.
Аноним # OP 21/06/21 Пнд 13:12:59 749794 58
>>749788
> Возможно, но что на счёт компиляторов/интерпретаторов?
Для веба есть Tau-propog. На десктопе есть SWI-prolog, который кроссплатформенный.
> Интерактивные истории программно настолько просты
Не совсем. Это зависит от мощности симуляции. Как только ты захочешь сделать огромную симуляцию, где можно взаимодействовать с каждым камнем тут могут помочь только встроенные DSL в функциональных или логических языках (Haskell, Prolog, Lisp). Когда приду в общагу, покажу скриншоты своего микро DSL для интерактивных историй.
> В частности, насколько сложно разрабатывать на прологе под андроид/иос?
SWI-пролог есть на андроид, но я не знаком с разработкой под андроид, потому сказать ничего не могу. Однако можно просто прикрутить WebView и запускать Tau-prolog (это самый логичный вариант).
> А удобство написания парсера значения не имеет
Имеет. Нет смысла писать парсер процедурно. Логичней использовать RegExp, или контекстно-свободные или контекстно-зависимые грамматики (в прологе это DCG).
> Кроме того, на мобильных устройствах парсерные игры по определению менее удобны для большинства пользователей
Это факт.
Аноним 21/06/21 Пнд 13:38:32 749802 59
>>742021
>Как создать игру, с полноценным симулированным миром?
Для начала нужно понять, что такое "полноценная симуляция мира". На самом деле, тебе нужна не игра, а модель мира, в которой описаны все возможные объекты, явления, действия, правила и т.д. Симуляция - это пошаговое выполнение всех правил модели. А то, что мы видим на экране - это интерпретация модели, созданная с помощью какой-либо графики или текста. Для примера, мы можем взять bmp-картинку - это последовательность нулей и единиц на диске. Мы можем изобразить это как цвета пикселей, можем как наборы символов, можем как наборы чисел, можем как символы псевдографики. А можем вообще вывести не сами данные, а их текстовое описание, хоть простое "здесь 120 КБ данных", хоть сложное "кошка лежит на клавиатуре". То есть исходный набор данных не зависит от того, как мы пытаемся его изобразить. И вот симуляция мира - это работа с этим исходным набором данных.

>Вот посмотришь на Game of Life, там буквально насколько правил в основе мира, а зато какое многообразие!
Что тебе мешает реализовать те же правила в интерактивной истории? Представим, что клетки поля - это комнаты, а их состояния - это переключение источника света в комнате. Получается, игрок видит:
>В этой комнате светло.
Или:
>В этой комнате темно.
И может ходить в любую из 4 сторон, ждать на месте, зажигать и тушить свет. Вся симуляция происходит либо по таймеру, то есть независимо от выбора игрока, либо после каждого выбора игрока. На практике игрок может найти комнаты, в которых всегда светло, комнаты, в которых всегда темно, и комнаты, свет в которых мигает с определённой частотой; также он может повлиять на ход симуляции переключением света в комнате.

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

...вообще, если вкратце, симуляция мира это:
1. Последовательно перебрать все объекты в мире;
2. Для каждого объекта применить его правила;
3. Вернуться на шаг 1.
Всё остальное зависит от того, какие объекты ты создашь и как ты будешь описывать их текстом, то есть что будет видеть игрок.
Аноним 21/06/21 Пнд 14:08:00 749809 60
>>749794
>Для веба есть Tau-propog
Ок, ладно. Я думал пролог никому не нужен и остался в прошлом веке)

>Это зависит от мощности симуляции
Симуляция не имеет отношения к интерактивным историям. По факту, интерактивная история - лишь интерфейс, такой же, как рендерер любого универсального движка. Почему симуляцию мира для юнити-игр пишут на встроенном в движок C#, а не на божественном прологе? Наверное, потому, что симуляция мира спокойно пишется на любом ЯП. И ООП тут даже в помощь, ибо рассматривает все части программы как материальные объекты.

>Как только ты захочешь сделать огромную симуляцию, где можно взаимодействовать с каждым камнем тут могут помочь только встроенные DSL в функциональных или логических языках (Haskell, Prolog, Lisp).
Не вижу никакой причины использовать перечисленные тобой языки для создания симуляции. Тем более что в них, насколько я знаю, нет концепции объектов, лучше бы взял что-нибудь типа Smalltalk, в котором всё - объект. А в чистом функциональном языке симуляция вообще невозможна из-за свойства иммутабельности, то есть создав что-то, его невозможно изменить, в то время как в реальном мире все объекты непрерывно меняются. ООП ближе к реальному миру.

>Нет смысла писать парсер процедурно.
Ты напишешь его один раз. Возможно, в прологе есть встроенный парсер, но это ничего не меняет - внутри он всё равно опирается на императивные языки (тот же машинный код процессора, или машину JS в случае с Тау-поолог). Вот только парсер пролога ты не можешь разобрать и модифицировать, а свой парсер у тебя под полным контролем.

>Логичней использовать RegExp,
Взять самый сложный синтаксис @ называть это логичным выбором.

>>749803
>А как же они в своих мессенджерах тонны текста высирают?
Так же как я пишу этот пост. Разница в том, что в мессенджере ты высираешь текст другим людям, у которых нет удобных кнопок, а у программы эти удобные кнопки могут быть. Кроме того сейчас популярны аудиосообщения в тех же мессенджерах, а в мобильных клавиатурах есть распознавание речи, но всё это - костыли, которые не подходят для игр. Что лучше - нажать пару кнопок или набрать/произнести несколько слов? Очевидно, кнопки лучше.

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

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

Кстати, кроме чат-ботов есть игры, которые по скриншотам показывают что-то вроде мессенджера, но с сюжетом. Правда, наверное, там всё-таки менюшки и ограниченная свобода, но не суть - идея давно не нова.
Аноним # OP 21/06/21 Пнд 14:32:48 749817 61
162427512952520[...].jpg 47Кб, 600x1200
600x1200
>>749803
> с закосом под мессенджер
Уже есть тащемта. Играл похожую игру, как на пикриле. Интерфейс был как у месседжера
Аноним 21/06/21 Пнд 14:46:26 749820 62
>>749817
Я думаю, он имеет в виду суть мессенджера (общение с людьми), а не интерфейс. Интерфейс-то сделать легко, сложно сделать ботов, понимающих речь.

>>749811
>голосовой ввод в игре
1. Не всем и не в любой ситуации удобно. Список ситуаций и людей, которым этот способ не подходит, можешь сам составить, проще описать когда и кому это подходит: полностью здоровый не закомплексованный человек, находящийся днём один в тихом собственном жилище. Всем остальным голосовой ввод будет только мешать.
2. Если твоя игра поддерживает стандартную клавиатуру андроида, то голосовой ввод у тебя считай что есть по умолчанию. Кому надо - нажмут специальную клавишу на своей клавиатуре и надиктуют. Шансы того, что одинокий двачер сделает распознавание речи в своей игре лучше, чем сделал гугл... не внушают оптимизма, знаешь ли.
Аноним # OP 21/06/21 Пнд 14:51:05 749821 63
>>749809
> А в чистом функциональном языке симуляция вообще невозможна из-за свойства иммутабельности
Похоже ты не знаком с функциональным программированием. Иммутабельность не значит, что ты не можешь менять свойства объектов. Функциональщина просто даёт возможность контролировать стейт.

И нет, по сути ты не будешь программировать на этих языках, ты будешь программировать DSL, которые в свою очередь написаны на Haskell/Lisp/Prolog. Эти языки тем и удобны, что на них можно создавать формальные системы на все случаи жизни. Все остальные языки либо вообще не подходят для создания DSL либо эти DSL вообще нельзя верифицировать.

> Взять самый сложный синтаксис @ называть это логичным выбором.
В RegExp простой синтаксис. Для парсинга комманд тебе вообще не придется использовать ничего кроме (word1|word2) и (.+?)
Пример простой команды:
/(взять|поднять) стул(ьчик?)/

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

Пример:
Сейчас солнечно.

Когда игрок смотрит в окно: если на окно можно посмотреть И на улице солнечно -> игрок видит солнце.
Если окно НЕ прикрыто шторками -> в окно можно посмотреть.
Если игрок смотрит в шторы -> вывести "Ты видишь солнце".

Т. я описываю мир как факты. В ЯП эти факты можно записать в виде списков слов, или в виде строк.
Аноним # OP 21/06/21 Пнд 14:51:50 749822 64
>>749820
> Я думаю, он имеет в виду суть мессенджера (общение с людьми), а не интерфейс.
Ну так епта, я же его и создал.
scafe-forum.herokuapp.com
Наработка первая OP 21/06/21 Пнд 15:45:50 749830 65
image.png 138Кб, 1366x768
1366x768
Снимок экрана ([...].png 118Кб, 1366x768
1366x768
Снимок экрана ([...].png 67Кб, 1366x768
1366x768
Язык: Prolog.
Тип: Парсер.
Концепция: Модель игры представляет собой конечный автомат состояний (FSM). По сути, это гибрид парсера и менюшки, где переход между состояниями представляет из себя ввод команд игроком. Сам движок занимает 62 строки.
Аноним 21/06/21 Пнд 15:51:08 749831 66
>>749823
>В функциональном языке старый объект удаляется и вместо него возвращается новый, с другими параметрами.
Ага. А теперь представь как будет выглядеть "огромная симуляция", которая должна обновляться каждый тик таймера, на каком-нибудь ARM, и описанная на необычном не императивном языке (т.е. до машинного кода несколько этапов преобразования). У меня не слабый смартфон и некоторые даже старые игры умудряются тормозить из-за того, что какой-то гений геймдева вызывает деструкторы одинаковых монстров в момент их смерти (лол), а умирают они, разумеется, пачками по 20 штук каждую секунду. Так что ФЯП хороши в теории, а на практике потенциальный вред перевешивает сомнительную пользу ("он не позволит тебе изменить твои данные - это так полезно и совсем не похоже на константы!").

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

>ECS смотри
Смотрел и даже пробовал реализовать. По сути это тот же ООП, только вместо наследования используется агрегация, и вместо описания жёстких классов один универсальный класс набивается произвольным числом классов-компонентов. Это если не ударяться в оптимизации. На практике не всегда удобно - это не золотой молоток. Где-то удобно наследование, где-то агрегация, всему своё место. Но объекты остаются объектами, ецс только вариант ооп.

>>749821
>Похоже ты не знаком с функциональным программированием
Я пытался, но как и 99% кодомартышек ниасилил. Для меня программа - набор приказов "что делать", всё остальное выглядит непонятным. Нет, конечно, ещё я понимаю декларативные языки, и даже сам писал простые интерпретаторы, но это другое.

>DSL
Я писал интерпретатор самодельного языка на Паскале. Это просто. Всё, конечно, зависит от того, каких мозговыносящих извращенств ты запихнёшь в спецификацию языка, но я не вижу причины делать сложный язык для описания игрового контента. И нет, мы тут не на олимпиаде по программированию и не пытаемся написать интерпретатор в 10 строк, мы как бы хотим игру сделать, так что, повторюсь, интерпретатор ты сделаешь за день, а игру будешь пилить очень долго. Своему самодельному языку, я, кстати, практического применения не нашёл и потому забил, всё что мне нужно можно сделать на готовых языках, хотя кого я обманываю, я только в игры играю, аниме смотрю и в интернете сижу, вот и вся моя никчёмная жизнь.

>Пример простой команды:
>/(взять|поднять) стул(ьчик?)/
1. Ты забыл про: подцепить, зацепить, приподнять, поддеть, подвинуть, сдвинуть, придвинуть, надвинуть, задвинуть, забрать, обнять и т.д.
2. Стул и стульчик вещи разные. А в игровом мире несколько стульев могут иметь разные параметры, а называться одинаково "стул".

>Имеет и еще какое
Повторяю, не имеет.
Симуляция мира - это работа с моделью мира.
Текстовая игра - это интерфейс между моделью и игроком.
Ты можешь сделать модель мира и симулировать её жизнь, не обращая внимания на то, какой интерфейс будет использоваться для взаимодействия с этой моделью. Интерфейс не обязательно должен быть текстовым или графическим, не обязан использовать выбор кнопок в меню, ввод текста или нажатия WASD. Интерфейс, по сути, никак не влияет на модель мира, хотя для более сложных интерфейсов может потребоваться более сложная модель (в частности для полноценной 3D-игры имеет смысл учитывать координаты объектов в трёхмерном пространстве, а не просто список имеющихся в комнате вещей, которого достаточно для простой текстовой игры).

Ты слишком много думаешь об инструментах и мало думаешь о самой игре.
Наработка вторая : Noir OP 21/06/21 Пнд 15:56:45 749832 67
Снимок экрана ([...].png 144Кб, 1366x768
1366x768
Снимок экрана ([...].png 40Кб, 1366x768
1366x768
Язык: JS
Тип: Менюшно-подобный
Концепция: в игре на Noir'е нужно выделять подчеркнутые слова (предметы), и производить над ними действиями. В основе работы с состоянием мира так же лежит FSM. Поддерживает собственный DSL, расширяемый макросами.
Наработка третья OP 21/06/21 Пнд 16:14:47 749833 68
Снимок экрана ([...].png 176Кб, 1366x768
1366x768
Снимок экрана ([...].png 81Кб, 1366x768
1366x768
Снимок экрана ([...].png 93Кб, 1366x768
1366x768
Снимок экрана ([...].png 106Кб, 1366x768
1366x768
Язык: Prolog
Тип: Парсер
Концепция: Самый серьезный с технической точки проект.
Используется CHR и DCG. Для симуляции мира наиболее мощен. Всё что вы видите на пикрилах это ванильный пролог. Просто объявил несколько операторов и подключил библиотеку для CHR. За расширяемость пролог и полюбил.
Наработка четвертая : Storle OP 21/06/21 Пнд 16:23:54 749834 69
Снимок экрана ([...].png 44Кб, 1366x768
1366x768
Снимок экрана ([...].png 38Кб, 1366x768
1366x768
Я бы не назвал это игрой - скорее генератор историй. Пользователь вводит :ключевое слово:, и оно заменяется на процедурно сгенерированный текст. При большом количестве ключевых слов, в это можно будет даже играть. Напоминает Solo Tabletop RPG, только в браузере и в виде текста.
Аноним 21/06/21 Пнд 16:26:14 749835 70
>>749833
>Самый серьезный с технической точки проект.
>Для симуляции мира наиболее мощен.
>За расширяемость пролог и полюбил.
Ты меня, конечно, извини, но ты не игрой занимаешься, а сексом с прологом. Сколько бы кайфа тебе не доставлял секс с прологом, не забывай о том, ради чего ты вообще начал. Я понимаю, легко увлечься и начать делать идеальный движок для определённых игр, но потом окажется, что движок никто не использует и ты сам его ни разу полноценно не использовал...

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

Кстати, симуляция мира тебе нужна для песочницы или для сюжетной игры?
OP 21/06/21 Пнд 16:29:16 749837 71
>>749831
>Я писал интерпретатор самодельного языка на Паскале.
Я говорю о embedded DSL (eDSL). Т.е о DSL без собственного парсера. Пример я кидал в >>749833.
>Симуляция мира - это работа с моделью мира.
Про неё я и говорю. И модель в парсерных игр это самое важное для достижения наилучшей интерактивности.
Аноним 21/06/21 Пнд 16:34:29 749839 72
>>749834
О, я что-то похожее делал, только не для историй, а для генерации любых данных, в том числе бинарных, в том числе из внешних файлов. Что-то вроде декларативного языка, на котором описываются генераторы, при обращении к которым происходит генерация данных. Правда, серьёзного применения не нашёл и забросил (для моих изначальных задумок - текстуры и 3D-модели - такой способ генерации не подходил, с музыкальным форматом мне было лень разбираться, а для генерации внятных текстов нужны переменные, а не просто случайная подстановка).
OP 21/06/21 Пнд 16:38:59 749841 73
>>749835
>Ты меня, конечно, извини, но ты не игрой занимаешься, а сексом с прологом. Сколько бы кайфа тебе не доставлял секс с прологом, не забывай о том, ради чего ты вообще начал. Я понимаю, легко увлечься и начать делать идеальный движок для определённых игр, но потом окажется, что движок никто не использует и ты сам его ни разу полноценно не использовал...

Отчасти согласен, конечно. Из меня плохой писатель, потому мне проще движок дописать, чем текст игры. Скажу ВНЕЗАПНУЮ Истинну™: похуй на чем писать, главное чтобы игра была интересной игрокам. В игре может быть мало интерактивности, но зато интересные персонажи и сюжет. Тот же БЛ, к примеру (правда игру очень вывозит визуал и саунд, без него было бы крайне уныло).

>>749835
>Кроме того, нужно различать текстовые игры и "интерактивные книги". Тред ты создал вроде как для интерактивных книг, а делаешь текстовую игру.
Тред про Interactive Fiction, а этот жанр включает как менюшные игры-книги, так и парсеры (текстовые игры в твоем определении).
Почитать статьи об сабже можно тут: ifwiki.ru

OP 21/06/21 Пнд 16:50:40 749843 74
>>749839
>Что-то вроде декларативного языка, на котором описываются генераторы, при обращении к которым происходит генерация данных.
Долго делал? Много кода? На самом деле подобное делается просто:
Есть функция, которая выберает рандомный аргумент:
choice(arg1,arg2,arg3,...)
А теперь комбинируем эти функции в дерево (которое по является грамматикой).

let bad_or_good_f = () => choice('хорошая', 'плохая')
let weather = () => choice(`${bad_of_good_f()} погода`)
let text = () => `На дворе стояла ${weather()}`
Аноним 21/06/21 Пнд 17:04:06 749845 75
>>749837
>Я говорю о embedded DSL
Ясно. Имхо, внешние файлы всё-таки лучше. Я пробовал расширяемые языки, но они очень быстро становятся непонятными - все эти расширения накапливаются как снежный ком. Да и отдельный файл защищает программу от внесения опасных модификаций, а сам этот файл - от зависимости от программы (программу можно обновить, не трогая файл, если спецификация языка не меняется).

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

Можно описать схему такой игры:
1. Расшифровка ввода игрока;
2. Воздействие на модель мира;
3. Определение следующего состояния модели;
4. Генерация и вывод текстового описания модели;
5. Запрос ввода у игрока и возврат к пункту 1.
Здесь каждый этап должен быть независим от остальных.
Модель может быть вообще набором числовых ID, смысл в них появляется только после обработки генератором описания. Логика в модели, а в описании только внешняя оболочка логики - слова или, например, картинки.

Кстати, если разделение будет чётко соблюдено, перевести игру можно будет на любой язык практически без проблем, т.к. переводить придётся лишь генератор описаний и интерфейс ввода (кнопки/парсер), а модель останется без изменений. В этом и суть - какой бы мы язык не использовали, модель мира не зависит ни от естественного языка, ни от языка программирования.
OP 21/06/21 Пнд 17:22:26 749851 76
>>749845
>Имхо, внешние файлы всё-таки лучше.
Как сказать, это последняя артиллерия. Поддерживать DSL с собственным парсером достаточно сложно. eDSL же бесконечно расширяемые.

>выводятся игроку/вводятся игроком
Как раз таки нет.

Парсер, вывод игрока, и внутренняя модель в >>749833 логически разделены, просто запускаются на одинаковых вычислительных системах. Есть правила только для вывода текста, есть правила, которые контролируют модель, есть правила, которые контролируют ввод. Ничего не смешанно. Всё продуманно.

>В этом и суть - какой бы мы язык не использовали, модель мира не зависит ни от естественного языка, ни от языка программирования.
технически - да, просто придется костылить. К примеру, эту систему придется долго писать на JS. А тут всё уже приготовлено.
Наработка пятая OP 21/06/21 Пнд 17:35:59 749858 77
image.png 53Кб, 1366x768
1366x768
image.png 49Кб, 1366x768
1366x768
image.png 44Кб, 1366x768
1366x768
Ну, и наконец, последняя наработка. Идея проекта была приудмана тогда, когда я понял, что для настоящей интерактивности нужно по крайней мере настоящий ИИ. Настоящего, сильного ИИ у нас нет, зато есть собственный, естественный.

Тогда я решил сделать scafe, форум, где можно ролеплеить, играя в полу-консольном интерфейсе. Игра ведется двумя людьми - игроком и мастером. Мастер отвечает за мир и NPC, игрок, собственно, за игрока.
Аноним 21/06/21 Пнд 17:53:08 749865 78
>>749841
>Из меня плохой писатель
Тогда начинай с малого. Короткий интерактивный рассказ сложнее запороть.

>Interactive Fiction, а этот жанр включает как менюшные игры-книги, так и парсеры
Что на счёт MUD? Это вроде как текстовые ММОРПГ из древних времён, бродишь по подземельям, убиваешь монстров, качаешь персонажа, общаешься или сражаешься с другими игроками, всё в виде текста в консоли. По-твоему это тоже вариант IF?

Вики потом почитаю.

>>749843
>Долго делал?
Самое сложное было придумать удобный синтаксис. Уже описывал где-то на этой доске, но вкратце главная часть синтаксиса выглядит как-то так:
:генератор список ?выбор =текст "длинный текст" @файл $C0DE # комментарий
:имя - объявляет новый блок с именем "имя"
имя - включение содержимого как есть (изначально было так: !имя)
?имя - выбор случайного элемента
=текст - данные без пробелов
“текст" - данные с пробелами
@файл - данные из файла
$ABCD - данные в HEX-формате
# - игнорирует всё до конца строки
Я хотел расширять, но чёт депрессия навалилась и смысл проекта был утрачен. Кстати, вдохновлялся Forth, и даже пробовал писать свой интерпретатор форта, но потом опять депрессия и вообще зачем я этим занимаюсь...

>Много кода?
Твой код на прологе после трансляции разворачивается на огромные конструкции, которые вместо тебя составляли разработчики языка. Так что нечего хвастаться количеством кода.

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

>let bad_or_good_f = () => choice('хорошая', 'плохая')
>let weather = () => choice(`${bad_of_good_f()} погода`)
>let text = () => `На дворе стояла ${weather()}`
Нечитабельно. С моим синтаксисом было бы:
:оценка =хорошая =плохая
:погода ?оценка " погода"
:текст "На дворе стояла " погода
# можно продолжить:
:где "На дворе" "На улице" "В мире" "В комнате"
:кого =телевизор =холодильник =человека =кошку =автомобиль
:обнимала " обнимала " ?кого
:что-делала " стояла" " лежала" " шла" " танцевала" обнимала
:делала-где-то ?где ?что-делала
:текст2 делала-где-то погода # да, это бредогенератор, и она гордится своей ролью
Я вообще не люблю, когда слишком много спецсимволов. Но пришлось использовать в синтаксисе спецсимволы, чтобы не привязывать синтаксис к какому-либо языку и не смешивать визуально пользовательские идентификаторы с символами языка. Т.е. упор на читабельность.

А вообще всё это бред, на одном рандоме ничего толкового не сделать.
Аноним 21/06/21 Пнд 18:10:37 749870 79
>>749851
Ладно, тебе удобно делать на прологе - никто тебя переубеждать не будет. Кроме него есть ещё куча расширяемых языков, тот же Forth или Seed7, но сфера применения ограничена велосипедами-для-одного, потому что никто в твоих велосипедных монстрах разбираться не будет/не сможет.

>бесконечно расширяемые
Они расширяемы ровно до того момента, пока у тебя в голове есть место для всех тех выдумок, которые ты сочинил. Даже на обычном языке через месяц уже видишь свой код как чужой, а на расширяемом будешь видеть как письмена на доисторическом/мёртвом/инопланетном языке. Также со временем у тебя закончатся все короткие идентификаторы и ты начнёшь лепить длинные, а это даже меня выводит из себя. Так что ничего бесконечного...

>>749858
Смотрю на чат. Потом на твою "наработку". Потом снова на чат. Странно, но твоя "наработка" не на коне... В чём отличие твоей программы от чата? Только в графическом оформлении "а-ля консоль"?

К тому же, это банальный ролеплей. Люди родеплеят везде. Вообще везде. В любой онлайн-игре, на любом форуме, в любых чатах. У твоего чата нет никаких преимуществ, ради которых люди могли бы в него заглянуть, тем более вместе с друзьями. Раскрутить можно всё что угодно, конечно, но зачем?
Аноним # OP 21/06/21 Пнд 18:11:54 749871 80
>>749865
> Что на счёт MUD?
MUD это скорее MMO RPG, чем литература. Хотя, ИМХО, MUD это просто многопользовательские IF. MUD был дедом современных FRPG (зайди в /wr/).

> Нечитабельно.
Потому что тут только семантика. Синтаксис можно и RegExp'ами прикрутить, что я и сделал в Storle.
Формат скриптов там такой:
:качество (ж):
[хорошая / плохая]

:погода:
:качество (ж): погода

:предисловие:
На дворе стояла :погода:

С помощью {% %} можно вставлять обычный JS, на тот случай если не хватает какой-то фичи.
Аноним # OP 21/06/21 Пнд 18:23:25 749879 81
>>749870
> велосипедами-для-одного, потому что никто в твоих велосипедных монстрах разбираться не будет/не сможет.
Да тащемта это и не нужно. "Рынок" уже поделен такими крупными движками как TADS, Inform, Twine. Главное, чтобы самому программисту было удобно.
> Также со временем у тебя закончатся все короткие идентификаторы
Это работает только с нерасширяемыми языками. На расширяемых языках такой проблемы нет, ибо можно прикручивать такие вещи как глаголы и прилагательные.
> отличие твоей программы от чата?
По сути - чат. Только:
- Анонимный.
- На двух человеков.
- Специализирован под ролеплей.
- Нет цензуры. Никакой. Я как админ могу чистить спам, но из принципа не буду удалять игры потому что они мне не нравятся.
> У твоего чата нет никаких преимуществ, ради которых люди могли бы в него заглянуть, тем более вместе с друзьями.
Это да. Даже не знаю, что туда можно добавить. Есть идеи, с которыми из форума получится вишенка? В основном проблема - ни игорь, ни игроков нет. Где брать - хз, чем привлекать - хз.
Аноним # OP 21/06/21 Пнд 18:26:14 749881 82
>>749879
> Inform
Честно говоря, я бы очень хотел бы использовать Inform 7. Это такой сексуальный движок. Однако использует только английский язык. Писать русские игры не получится, ибо движок написан на древнем говне (C вроде) и юникод не поддерживает.
Аноним 21/06/21 Пнд 19:37:27 749903 83
>>749879
>Анонимный.
Анонимные чаты не редкость.
>На двух человеков.
Такие анонимные чаты тоже не редкость.
>Специализирован под ролеплей.
В чём специализация-то? Технически это как-то выражается?
>Нет цензуры. Никакой.
Кагбэ в чатах на двоих и не может быть цензуры.
С другой стороны, если сервис станет популярным, это тебе аукнется.
>Я как админ могу чистить спам
Ага, то есть ты ещё и переписки чужие читаешь, никакой приватности)
Тем более, стань сервис популярнее, тебе придётся этот спам лопатой расчищать, или сервис захватят боты, как это обычно происходит со всеми анонимными чатами. Регистрация в "анонимных" чатиках как раз для этого, чтобы не приходилось вычищать спам лопатами.

>чем привлекать - хз.
Вот это самый главный вопрос, на который ты должен был ответить до того, как сел писать код. Сервис без каких-либо преимуществ не привлечёт к себе никого.
Аноним # OP 21/06/21 Пнд 20:01:51 749919 84
>>749903
> Ага, то есть ты ещё и переписки чужие читаешь
Это ролеплей, чувак. Но вообще прикрутить RSA шифрование надо бы, но пока на это похуй.
> В чём специализация-то?
Создавался специально для ролеплей, а не для скидывания, к примеру, ЦП.
Аноним 21/06/21 Пнд 21:10:28 749950 85
1.jpg 606Кб, 1080x2340
1080x2340
2.jpg 527Кб, 1080x2340
1080x2340
3.jpg 575Кб, 1080x2340
1080x2340
4.webm 8471Кб, 480x1040, 00:01:30
480x1040
>>741998 (OP)
В тему "менюшки vs парсер".

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

Алгоритм был такой: выбираем что-то в первом меню, рядом с ним появляется второе, выбираем во втором - появляется третье, и так пока не введём все нужные параметры команды или не нажмём кнопку "ок" для подтверждения выбора. На практике это оказалось не так-то просто для пользователя, к тому же в мобильных браузерах стандартное html-меню разворачивается на весь экран. Тогда меня посетила вторая, теперь уже точно гениальная мысль: написать своё меню, в котором не нужно будет делать лишних телодвижений.

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

Конечно, такой интерфейс не лишён недостатков. К примеру, последняя версия не позволяет игроку принять сразу несколько решений за один ход, хотя версия на выпадающих меню такую возможность в теории поддерживала (т.к. можно добавить сколько угодно выпадающих меню в один ряд, вторичные действия могли добавляться через меню со словом "и" или как отдельный блок). Но в целом, насколько я понимаю, большинство текстовых игр ограничивается одним действием игрока за один ход, поэтому это не такая уж большая проблема. Просто я вдохновлялся порнографической текстовой игрой, в которой игрок во время секса может контролировать сразу несколько частей тела своего персонажа, а для этого нужно несколько отдельных меню. Есть второе ограничение, глубина вложенности меню: вложенные блоки немного меньше внешних, поэтому в какой-то момент текст перестанет умещаться на кнопках. Но у меня с вертикальным экраном уместилось 10 уровней, а это очень много - чаще всего действия в таких играх ограничены 2-3 словами (уровнями меню).

В техническом плане прототип так и остался сырым, т.к. после доведения графического интерфейса до ума я осознал всю сложность разработки подобной игры и потерял к ней интерес. Можно походить по статичным комнатам и осмотреть предметы, вот и всё. Нужно было прорабатывать структуру хранения мира, но... Короче, у меня что-то типа БАР, депрессия волнами накрывает - кажется, в тот раз был очередной эпизод. Хоть что-то делать могу только когда накрывает маниакальная волна, но депрессивные чаще и сильнее.

Прикреплённое:
1. Одна из стадий разработки, сверху видно старую систему с выпадающими меню и кнопкой "ок", снизу набросок новой системы с вложенными кнопками.
2. Тест глубины вложенности новой версии системы с вложенными кнопками, решил располагать кнопки компактнее и выделять уровни разными цветами.
3. Окончательная версия меню, теперь с кнопкой "далее".
4. Сегодня записал видео, так должно быть понятнее.

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

А сегодня, пока читал тред и вспоминал этот проект, задумался: а правильно ли я сделал, что на первом уровне глаголы, а на втором существительные? Может, логичнее группировать как-то иначе? Вообще, как думаете, насколько такая система меню практична для игрока и разработчика?

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

Да, всё на голом JS, который мне в целом понравился, хотя раздражает отсутствие простого способа сохранять данные на диск. Без сохранения и загрузки произвольных файлов ни о какой симуляции и песочнице речи быть не может, если только не делать серверную часть. Сам мир описывается не помню уже точно как, но наверняка буду переделывать, т.к. помню что было неудобно добавлять новые сущности.
Аноним 21/06/21 Пнд 21:28:13 749958 86
>>749919
>Это ролеплей
>прикрутить RSA шифрование надо бы
Лол. Вообще я говорю про то, что если это переписка между двумя людьми, пусть и анонимная, но должна быть какая-то гарантия что никто тайком не подсматривает. Типа, на старых форумах система личных сообщений обычно скрыта от всех, включая админов; зарыться в БД и достать сообщения, наверное, можно, но через обычную админку этого не сделать. Ну или заявляй с порога, что переписки публичные и любой может подключиться как зритель, почему бы и нет.

>Создавался специально для ролеплей,
Это-то понятно. Но чем ты можешь гарантировать, что люди там будут именно ролеплеить? Что им мешает начать любой обычный диалог? Я к тому, что тебе придётся либо вручную всех выгонять, либо смириться с тем, что реально ролевой игрой занимается лишь некоторый % пользователей. В тех анонимных чатах, что я видел, могли быть ролевики, но никто не думал принуждать к ролеплею, всё по желанию, а так это просто чат со случайными людьми.

>а не для скидывания, к примеру, ЦП.
Ну вот что мешает людям завалиться в твой чятик и начать распространять там ЦП, тем более если ты прикрутишь шифрование (лол)? Будет ещё один рассадник ЦП, только с надписью "это площадка для ролевых игр". Ну и если говорить про ЦП, то ролевой отыгрыш маленькой девочки, которую сексуально совращают - это тоже ЦП, пусть и в текстовом виде. Получается, что хотя пользователи и соблюдают правило "только ролевые игры", они всё равно нарушают определённые законы о ЦП, особенно если их переписку можно каким-то образом достать с сервера. Короче, тут больше организационные вопросы, чем технические. И, имхо, не стоит оно того, слишком много затрат, а способы монетизации сомнительны (всё, что приходит на ум - донатные фичи типа "поднять приглашение на чат выше", да классические рекламные баннеры, с которых всё равно нихрена не заработаешь без большой аудитории).
Аноним # OP 22/06/21 Втр 00:11:12 750005 87
>>749958
> Ну или заявляй с порога, что переписки публичные и любой может подключиться как зритель, почему бы и нет.
Нет, не могут. Доступ к DB только у меня есть.
Аноним 22/06/21 Втр 02:09:33 750018 88
>>750007
В случае с гуглом и фейсбуком всю работу делают машины, какие-нибудь самообучающиеся программы. Даже если люди имеют доступ к письмам и сообщениям, они не могут просмотреть их все вручную, да и времени на слежку за кем-то нет, насяльник и так загоняет. Плюс у таких больших корпораций и отдел безопасности сильный, а он нужен в том числе для защиты корпорации от действий её же сотрудников - любое неловкое движение в сторону данных и усё, пакуй чемоданы. А когда речь идёт о каком-нибудь мелкосервере на 3.5 пользователя, так и представляешь себе какого-нибудь вуайериста, потому что иную причину заводить сервер в его случае трудно представить) Ну и сами подумайте, какие сценки зачастую разыгрывают ролевики (не все, разумеется)? Различные извращения, конечно же. Обычное фэнтези только вершина айсберга, которую видно только потому что никто не запрещает демонстрировать. Анонимность и отсутствие цензуры развязывает руки, соответственно и аудитория набирается соответствующая. Тут как с фурфагами, толпа самых разнообразных извращенцев под скрывающими личность масками животных, одобряющие любого, кто с ними, будь ты хоть некропедозоофил... и это даже не шутка, лол.

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

Да, кстати,
>>749858
>нужно по крайней мере настоящий ИИ.
>Настоящего, сильного ИИ у нас нет,
Если "настоящий сильный ИИ" будет равносилен человеку, то он опять же не будет являться игрой/игровой программой. И договариваться о ролевой игре с ним придётся почти как с человеком. Так что подобное тоже выходит за рамки тематики раздела, имхо. И вообще появление сильного ИИ убьёт большую часть игр, ведь зачем играть, когда можно поболтать с ИИ-другом, или зачем играть в полном одиночестве, если можно поиграть вдвоём. Ну да, всё индивидуально, но большинство всё-таки страдает от скуки и одиночества, а не от желания участвовать в фэнтезийных приключениях.
Аноним 22/06/21 Втр 22:16:52 750207 89
Кто-нибудь знает как называется мультиплатформенный (Windows, Linux) движок для if-игр, написанный русскоязычным разработчиком то ли на С, то ли на Lua, то ли в нём можно использовать Lua для разработки, движок довольно старый по словам его автора (автор писал, что разработал его в нулевых), который год-два назад опубликовал статью на Хабре о нём с рассказом об игре, что он сейчас делает на этом движке. На одном из скриншотов был автомобиль таз (ВАЗ, советский).
23/06/21 Срд 00:23:31 750217 90
>>750207
instead
кроме него считай движков и нет
а у него нет гуи))))
метапарсер единственный ру парсер который околоработает
Аноним # OP 23/06/21 Срд 03:50:26 750224 91
>>750217
> мнение скобкодебила
Аноним 23/06/21 Срд 22:56:21 750382 92
>>750217
Да, это Instead, благодарю.
Аноним 24/06/21 Чтв 14:43:05 750487 93
>>750224
>создал тред для серьёзных обсуждений
>сам же флудит в нём однострочным гринтекстом
Ты бы лучше расписал, с чем и почему не согласен. Ты считаешь что гуи не нужен для движка текстовых игр? Только консолька, только хардкор? Или что есть по каким-то параметрам более подходящие движки, чем instead? Или что метапарсер не единственный рабочий русскоязычный парсер? Я вот не понимаю, чему именно ты возражаешь (кроме использования смайликов).

Понимаешь, нуб заходит в тред, смотрит последние посты, а там вот такой пук гринтекстом без каких-либо аргументов кроме указания на употребление скобок, да ещё и от ОПа треда. Что нуб решит? Почитай вот: https://ru.wikipedia.org/wiki/Теория_разбитых_окон
Аноним # OP 24/06/21 Чтв 16:39:42 750536 94
>>750487
> Ты считаешь что гуи не нужен для движка текстовых игр?
Нет, я просто приебался к вконтактлу-скобкодебилу.
Аноним 28/06/21 Пнд 01:03:04 750968 95
hX6tnURADm.png 34Кб, 944x432
944x432
>>749619
Это была прекрасная идея, использовать Twine для прототипирования. Теперь совершенно не нужно морочить голову о том, как показывать или пересылать кому-то ветки.

К слову о возможностях, я вряд ли когда либо использую хотя бы половину из них. А вы уже что-то написали? Подумал, что интересно было бы взглянуть на сами игры на нем.
Аноним 28/06/21 Пнд 02:15:37 750977 96
>>750968
> А вы уже что-то написали?
Не фанат менюшек.
Аноним 28/06/21 Пнд 03:24:37 750981 97
>>750977
Зачем же вам тогда Twine?
Аноним 28/06/21 Пнд 07:58:23 750988 98
>>750981
Ну, для общего развития.
Аноним 28/06/21 Пнд 16:53:49 751046 99
>>741998 (OP)
Кек, я 19 лет назад запилил ReLife, про него даже писали в статье про интерактивные истории.
Аноним 28/06/21 Пнд 16:55:20 751047 100
>>751046
Сейчас загугли, оказывается маняме с таким названием сделали
Аноним # OP 30/06/21 Срд 11:35:56 751320 101
>>749831
> Ага. А теперь представь как будет выглядеть "огромная симуляция"
Ну, для конкретно логического и функционального программирования это не проблема.
В ЛП:
Программа это DB. А DB можно менять. Конкретно в прологе это предикаты assert (добавить запись) и retract (удалить запись). По производительности это тоже самое, что и стейт в OOP. К тому же, для удобного управлением стейта есть CHR, который позволяет представить мир игры как формальный набор законов.

В ФП:
В Haskell есть монада State. Компилятор оптимизирует стек так, чтобы записывать только изменения объекта, а не объект целиком. В этом и прикол персистентных типов данных. В конце каждого цикла программы, в память записываются только итоговое состояние объекта, который получается через монаду.
Аноним 10/07/21 Суб 16:47:08 752878 102
>>742043
Парсерки без стронг ии ненужны, чейндж май майнд.

Менюшки не обязаны быть фиксированными, можно менюшки делать в виде конструктора с многими степенями свободы.
Аноним 10/07/21 Суб 16:52:28 752880 103
>>742444
Для этого ненужен пролог, достаточно встраиваемого рулес енжина.
Аноним 10/07/21 Суб 16:55:04 752882 104
>>743236
А, ну в принципе это довольно похоже на то, о чем я выше говорил (меню со свободой).
Аноним 10/07/21 Суб 18:05:21 752896 105
>>749809
Ты несешь хуйню, потому что не знаком с предметом, о котором рассуждаешь.
Аноним 10/07/21 Суб 18:14:57 752898 106
>>749834 и прочие посты-наработки
Мужик сказал - мужик сделал. Мое увожение.
Аноним 10/07/21 Суб 18:24:02 752900 107
>>749950
Прикольно, что-то такое и нужно, да. Глаголы или существительные - непонятно, нужно оперировать не конечными инструкциями, а fuzzy-тегами какими-то, чтобы из "хочу то, не знаю чего, но связано с Х" выуживать из игрока конкретную инструкцию. Основная проблема зачастую в дискаверабилити же.
Аноним 10/07/21 Суб 18:25:26 752901 108
>>750018
>В случае с гуглом и фейсбуком всю работу делают машины, какие-нибудь самообучающиеся программы.
Нет, у обычных мясных сотрудников тоже есть доступ ко всем твоим письмам и чатикам.
Аноним 10/07/21 Суб 20:35:23 752939 109
>>752880
> Для этого ненужен пролог, достаточно встраиваемого рулес енжина.
Вот только его собирать надо. А тут всё из коробки работает.
>>752878
> Парсерки без стронг ии ненужны, чейндж май майнд.
Никто не спорит. Тоже так считаю. Но пытаться стоит.
Аноним 11/07/21 Вск 17:14:57 753037 110
>>752939
>Вот только его собирать надо.
М? Не, есть десятки мачурных библиотек на любой платформе. Я к тому и говорил, что необязательно ебаться с отдельным япом, можно в любом %мейстримный-язык-нейм% то же самое библиотекой сделать, и даже необязательно встраивать целый логический движок, достаточно его сабсета для этой задачи.

Более того, некоторые прям пишут обычную игровую логику (и не только) на рулес инжинах спойлер: все упирается в производительность с одной стороны и упорядочивание эффектов с другой:
https://github.com/oakes/odoyle-rules
https://github.com/paranim/pararules
Аноним 11/07/21 Вск 20:08:29 753080 111
>>741998 (OP)
Помню пилил что-то на Choice Script, но это было давно и не правда.
Аноним 10/09/21 Птн 17:44:44 769031 112
Аноним 16/09/21 Чтв 14:06:59 769802 113
BUXbXavij5SMB1s[...].jpg 14Кб, 200x200
200x200
А игры то будут?
Аноним # OP 16/09/21 Чтв 14:25:02 769804 114
>>769802
У меня есть в голове идея для игры.
Однако, тут надо выбрать: менюшка или парсер. Скорее всего менюшку выберу, или своем движке Noir сделаю.
Аноним 16/09/21 Чтв 16:46:39 769818 115
>>741998 (OP)
Заинтересовался вашей темой и решил попробовать поиграть в пару игр, но столкнулся с проблемой. При запуске URQ 1.4 выскакивает ошибка
>Не удаётся продолжить выполнение кода, поскольку система не обнаружила MSVBVN50.dll
Я понимаю, что тред не столько про игры, сколько про их создание, но я бы не обратился сюда, если бы этот софт был хотя бы сколько-нибудь известен интернету. Помогите. компьютер на 10 Windows.
Аноним # OP 16/09/21 Чтв 16:56:47 769821 116
>>769818
Чел, это легко фиксится. Открываешь папку с URQ, находишь там exe. Затем открываешь браузер и вводишь там MSVBVN50.dll, скачиваешь его и кидаешь в папку рядом с экзешником.
Аноним 16/09/21 Чтв 17:51:16 769836 117
>>769821
Сделол, теперь проит просит comdlg32.ocx
Я его скачал и в папку к URQ закинул и заодно скопировал в system32, но всё равно требует comdlg32.ocs

Аноним 16/09/21 Чтв 17:52:30 769838 118
>>769836
>но всё равно требует comdlg32.ocs
.ocx
фикс
Аноним # OP 16/09/21 Чтв 18:01:28 769840 119
>>769836
Ты где качал то? Может ну это говно, и скачать интерпретаторы для Inform? Типа WinFortz.
Аноним 16/09/21 Чтв 18:16:42 769845 120
>>769840
URQ? Да вроде с официального сайта... Рипсофт народ или что-то вроде.
>интерпретаторы для Inform? Типа WinFortz
Может, но будут ли они работать? Я то в этих штуках вообще не шарю. В описании игры было указано, что она на ripURQ работает, я и пошёл качать, по пути быстренько разобравшишь, что это 1.4 версия...
Аноним # OP 16/09/21 Чтв 18:18:35 769846 121
>>769845
> Рипсофт народ или что-то вроде.
Чел, это же типичное название для пиратского форума!
> Может, но будут ли они работать?
А почему не должны?
Аноним 16/09/21 Чтв 18:29:49 769852 122
>>769846
>А почему не должны?
Незнаю
Аноним 22/10/21 Птн 21:05:18 774241 123
Аноним 22/10/21 Птн 22:00:26 774247 124
>>769818
>URQ 1.4
Попробуй отсюда разные версии скачать: http://urq.plut.info/soft
Сам никогда не пробовал и сайт впервые вижу.

>MSVBVN50.dll
Это часть виртуальной машины Microsoft Visual Basic. Одной этой библиотеки, разумеется, будет недостаточно.

>>769836
>comdlg32.ocx
Это тоже кусок виртуальной машины Бейсика.

Короче, твой URQ написан на Бейсике и предполагает наличие виртуальной машины Бейсика, которую то ли удалили из винды в последних версиях, то ли всегда нужно было вручную ставить. Попробуй другие интерпретаторы того же формата (URQL), либо можешь попробовать поставить Visual Basic (он вроде бесплатным был когда-то, если не ошибаюсь).

>>769846
>Чел, это же типичное название для пиратского форума!
И чо? RipURQ - это название интерпретатора. А народ.ру - полудохлая сеть сайтов, которую Яндекс кинул юкозу, по сути убив большинство сайтов. Пиратских среди них (народных, до юкоза) особо не было, большинство сайтов - хомяки уровня веб 1.0, когда ещё соцсетей не было.

>А почему не должны?
Потому что разные интерпретаторы - разные языки, которые они интерпретируют. Ему нужен именно интерпретатор URQL, чтобы конкретные игры запустить.
Аноним 22/10/21 Птн 22:08:53 774249 125
>>769846
>>Рипсофт народ или что-то вроде.
>Чел, это же типичное название для пиратского форума
Лол, нашёл расшифровку:
https://ifwiki.ru/URQL
>Universal Ripsoft Quest Language - язык, служащий для написания игр на платформе URQ.
https://ifwiki.ru/URQ
>Аббревиатура URQ расшифровывается как Universal Ripsoft Quest, по названию первой программы-интерпретатора, выпущенной 5 мая 2000 года.
Так что зря паникуешь, это просто "фирма" такая, Ripsoft.
А сайт - вот он: http://ripsoft.narod.ru/Ripsoft.htm
Как я и предполагал, типичный веб 1.0 хоумпейдж. Только теперь с поганой рекламой от юкоза из-за предательства Яндекса...
Аноним 24/11/21 Срд 01:55:09 778398 126
Есть, что нового?
Аноним 26/11/21 Птн 21:31:55 778716 127
>>741998 (OP)
>Менюшки (Menu-based)
Можно использовать https://tiddlywiki.com/ в качестве удобной платформы/движка для менюшной текстовой игры или, как минимум, интерактивной книги.

Есть такой пример менюшной игры, там можно ходить по комнатам кнопками, брать предметы в инвентарь и т.д., использует только макросы: http://zorklike.tiddlyspot.com/
>I decided to see if it was possible to make some sort of game using only the core tiddlywiki with no plugins or javascript. I made a very bare bones zork/interactive fiction type game. It is currently the simplest thing I could make and claim it was a game, but I may add on to it in the future. It uses the 5.1.5 prerelease because the action-setfield widget saved lots of work making macros.
>One goal of this is to use nothing besides what is contained in the core tiddlywiki, so there is no javascript and no plugins.

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

Одна из возможных полезностей - по умолчанию новые странички открываются ниже предыдущих, т.е. если в книге все страницы уникальны (без повторов), тогда получается последовательная история. Либо можно переключиться в режим отображения только одной странички за раз. Есть кнопки "закрыть всё" и "закрыть всё, кроме этого".

И, конечно, доступна вся мощь HTML/CSS/JS, если очень надо.
Аноним 26/11/21 Птн 21:33:45 778718 128
>>778716
Больше выглядит как некий велосипед, когда есть Twine 2, который по сути тоже самое, но лучше.
Аноним 26/11/21 Птн 21:51:14 778719 129
>>778718
>Twine 2
Попробовал только что. Интерфейс глючный в мобильном браузере, смог только создать историю, дальше нужен даблклик, которого на мобильных тупо нет))

>лучше
Чем лучше?

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

Вообще, я просто предложил как альтернативу, если кто-то интересуется подобными альтернативами. Вряд ли тут кто-то делает текстовые игры с прицелом на рынок и прибыль, это же хобби - как и хобби ковыряния в интересных альтернативных инструментах, движках, исходниках и т.д.
Аноним 26/11/21 Птн 21:54:27 778721 130
>>778719
> Чем лучше?
Карта комнат, разные форматы разметки (бери любой, что понравился), режим дебага, и полноценное IDE для всего workflow.
Аноним 26/11/21 Птн 22:13:57 778731 131
>>778721
>Карта комнат
Вроде видел плагин для создания графа тидлеров, но сам не использовал. В целом, не думаю, что есть смысл в графической карте комнат, если давать им адекватные имена.

>разные форматы разметки
Зачем? Чтобы потом запутаться в них?

>режим дебага, и полноценное IDE для всего workflow
Звучит как overkill для простой интерактивной книги.
Аноним 03/12/21 Птн 02:07:28 779644 132
>>741998 (OP)
Сап, анон. Юнити-разраб в треде. Юзаю ярн (клон твайна) внутри самой юнити. Есть ли в треде писаки сюжетные, которые бы хотели скооперироваться?
03/12/21 Птн 15:11:22 779678 133
Аноним 04/12/21 Суб 02:13:58 779770 134
>>779678
Да захуярить текстовый квест в духе КР с миниигорями и прочим. Благо движок позволяет делать вот чо угодно.
Если те ок, то можно хуйнуть по порнотематике и выйти на патреон. Кодить умею, моделить умею, а вот сука писать НИХУЯ не умею.
Аноним 04/12/21 Суб 02:14:53 779771 135
>>779770
Да, бля. Уточню, я то бумер: КР - космические рейджеры
04/12/21 Суб 15:13:41 779818 136
>>779771
я тожо бумер, но кр не фанат. ответь мне, ты случайно не сорокалетний токсик из комьюнити ИНСТЕДА?
я изучал этот вопрос, нахожусь в юрисдикции без ст.242, но я не нейтив англюсика - и это будет проблемой
Аноним 04/12/21 Суб 23:38:38 779840 137
>>779818
>ты случайно не сорокалетний токсик из комьюнити ИНСТЕДА?
Никогда Инстед не изучал, анон. С гамака на юнити перепрыгнул.
> но я не нейтив англюсика - и это будет проблемой
В целом не думаю, ес что - переводчика подтянуть, да комьюнити подрубить формирующееся
05/12/21 Вск 00:47:18 779848 138
>>779840
кмк, делать прон на русском смысла мало, я бы лучше сделал маленькую бсплатную игру для мобилок (чтобы овчарки не смеялись в лицо, когда я показываю им портфолио)
в идеале с парсером или распознавалкой голоса гугла от/через aimylogic - бесплатного тарифа за глаза хватит, а вау эффект (и ебля с поддержкой) многократны

пили фейкопочту или чтото, можно и нефейко
Аноним 05/12/21 Вск 03:45:52 779859 139
>>779848
>я бы лучше сделал маленькую бсплатную игру для мобилок
Я и так в этом говне варюсь в гк сегменте. Заебало что пизда, хоть и зп нормальные. Именно по этому чот для души порнушное и хотел. Выйду на 50 баксов на патреоне - уже заебись
05/12/21 Вск 04:34:20 779863 140
>>779859
ну дык и отлична, значит сумеешь нормально продвинуть часовой проект хотя бы в гк чатиках и на дтф))))

я не против патреона, есть заготовка, прон кто рисовать-то будет? описывать пульсацию вен за щекой у Баффи я изи, но как показывает анализ рынка, чисто на текст никто не будет теребить
Аноним 05/12/21 Вск 09:17:40 779874 141
>>779863
Я вот вполне себе на текст тереблю, куда 50$ закидывать?
05/12/21 Вск 14:04:32 779909 142
>>779874
если на русском, то ты окупил нашу разработку, кидай прям в тред
Аноним 07/12/21 Втр 02:15:39 780178 143
image.png 1110Кб, 1920x1015
1920x1015
>>779863
> прон кто рисовать-то будет?
Я. Яж триде макака, ало.
Аноним 07/12/21 Втр 10:30:30 780201 144
>>780178
Там вроде сейчас есть какие-то бесплатные генераторы тушек и паки таких телец и голов, да?
07/12/21 Втр 12:09:44 780212 145
>>780178
тогда решено, давай контакты, мне надо квартиру купить до нг
Аноним 07/12/21 Втр 16:57:43 780273 146
>>780201
Да вродь есть, я руками моделирую
Аноним 03/02/22 Чтв 03:06:26 788908 147
03/02/22 Чтв 04:01:34 788912 148
>>780212
не дал ты мне контактов и квартиру я не купил(
Аноним 03/02/22 Чтв 18:11:43 789071 149
Аноним 19/06/22 Вск 17:35:20 808413 150
Делаю детективчик в твайне на шугар кубе. Но т.к. вообще не секу в этом говне, то гуглю каждый элемент. С простыми проходами определился, но вот дальше пиздец. Два вопроса.
Как мне сделать так, чтоб в какой-то сцене количество собранных улик считалось в фоне и игра их навсегда запоминала и выдавала уникальные диалоги, если количество улик из какой-то сцены >= заданному числу?
Алсо, как мне на одной странице сделать интерактивный диалог? Я пытался гуглить, нашел только вот такое, но это буквально одиночная развилка, которая ведет все равно на один текст и сделать это получается один раз на сцену. Я чувствую, что это надо через js делать, но я все равно не могу нихуя нагуглить.

<span id="DIALOGUE1">\
<<link "11111">>\
<<replace "#DIALOGUE1">>\

TEXT
<span class="colortext">"TEXT"</span> TEXT <span class="colortext">"TEXT"</span>
TEXTTEXTTEXTTEXTTEXTTEXTTEXT
<span class="colortext">TEXT</span> TEXT <span class="colortext">TEXT</span>
<span class="color2text">TEXT</span>
TEXTTEXTTEXTTEXTTEXTTEXT [[next->next]]

<</replace>>\
<</link>>

<<link "22222>>\
<<replace "#DIALOGUE1">>\

TEXT
<span class="colortext">"TEXT"</span> TEXT <span class="colortext">"TEXT"</span>
TEXTTEXTTEXTTEXTTEXTTEXTTEXT
<span class="colortext">TEXT</span> TEXT <span class="colortext">TEXT</span>
<span class="color2text">TEXT</span>
TEXTTEXTTEXTTEXTTEXTTEXT [[next->next]]

<</replace>>\
<</link>>
</span>


Аноним 19/06/22 Вск 19:39:26 808452 151
Аноним 19/06/22 Вск 20:20:56 808468 152
1436431844405.gif 671Кб, 434x360
434x360
Аноним 20/06/22 Пнд 00:13:33 808529 153
16493575133140.jpg 100Кб, 804x648
804x648
>>808468
Почему же. Может и с картинками. Но картинки в IF выполняют ту же роль, что и в книгах.
Аноним 20/06/22 Пнд 07:18:42 808539 154
Аноним 20/06/22 Пнд 07:23:10 808540 155

Даю хинт для неосиляторов-гуманитариев:
1. Качаешь AXMA (суперпростой редактор вроде Twine, лицуха стоит рублей 500, можно экспортировать в html5+JS).
2. Ссылки на ресурсы делаешь локальными, чтобы новелла не лезла в интернет.
3. Экспортируешь свой высерок в html5 с блекджеком и шлюхами.
4. Обмазываешь в APK в Android Studio, Cordova или даже MIT App Inventor.
5. Выкладываешь в магазин приложений.
6. Ты - еба-разработчик игорь.

неосилятор-гуманитарий
Аноним 20/06/22 Пнд 07:26:58 808541 156
>>808539
ВН это немного про другое.

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

ВНки так не умеют, так что тред не про них.
Аноним 20/06/22 Пнд 07:31:00 808542 157
>>808541
Да есть наверное и такие, там делов то
Аноним 20/06/22 Пнд 07:32:08 808543 158
>>808540
А нахуй тебе AXMA если уже есть идеальный во всех отношениях Twine?

Особенно Harlowe с его механикой storylets.
Аноним 20/06/22 Пнд 07:39:20 808544 159
>>808542
> Да есть наверное и такие
В ВН есть взаимодействие с миром, но из-за визуальной составляющей необходимость именно вводить команды отпадает. И важно учесть, что в ВН взаимодействие с миром крайне низкое. Они в основном рид-онли, и выбор дают только для нарративной развилки.

А IF может быть близкой как с "Скайриму" (где можно лизнуть каждый камень), так и к "Мертвые Души" (где ты в основном только читаешь). Внезапно, весьма широкий жанр. ВН куда уже.
Аноним 20/06/22 Пнд 07:56:49 808545 160
Уже сделали что нибудь? Я бы поиграл...
Аноним 20/06/22 Пнд 08:10:17 808546 161
Аноним 20/06/22 Пнд 08:46:59 808550 162
38f60ad930aae56[...].jpg 152Кб, 1080x1620
1080x1620
e93752b0a528ecc[...].jpg 76Кб, 774x1032
774x1032
tyler-edlin-013.jpg 532Кб, 1920x923
1920x923
landscape22bych[...].jpg 124Кб, 1248x640
1248x640
>>808545
Мне бы писателя и художника. Сам я не писатель (и не художник), а дизайнер-программист.

А так бы запилил бы ламповое фентези с атмосферой пикрилов.
Аноним 20/06/22 Пнд 09:29:15 808555 163
>>808552
Почему? Куда лучше западенщины. Лучше ламповый аниме-мирок плавно перетекающий в гримдарк (передаю привет Цукуши), чем западные скучнейшие поделия.
Аноним 20/06/22 Пнд 09:56:37 808558 164
>>808452
Он же для кинетик новелл.
Аноним 20/06/22 Пнд 10:05:38 808559 165
image.png 9Кб, 1104x227
1104x227
image.png 21Кб, 613x248
613x248
image.png 39Кб, 485x629
485x629
Я короче спиздил диалоговое окошко из другой игры. А теперь объясните мне, как поменять цвет разделительной полосы с белого на черный? Единственная строчка с white это цвет текста.
Аноним 20/06/22 Пнд 10:32:13 808561 166
>>808558
Во-первых, Harlowe есть сторилеты, а это отличный паттерн для сложной логики и недревовидного повествования.
Во-вторых, кинетик новеллы подразумевают ограниченный выбор, а в Harlowe (как и во всех других форматах) ничто тебе не мешает создавать развилку сюжета на каждый пук ГГ.
Аноним 20/06/22 Пнд 10:49:22 808562 167
>>808544
Любитель серого невзрачного визуала напоминающего его жизнь в снг ты?
Аноним 20/06/22 Пнд 10:49:45 808563 168
Аноним 20/06/22 Пнд 10:50:23 808564 169
>>808559
Взять ренпи и не страдать фигнёй.
Аноним 20/06/22 Пнд 12:07:25 808573 170
>>808564
И да поясняю мамкиным набирателям текста что все проблемы которыми они мучаются внки переболели ещё 30-40 лет назад. И в движках уже по умолчанию есть уйма инструментов для форматирования текста и палеток, а так же для скриптовой логики, плюс интеграция с полноценными яп, а не огрызками текстовых редакторов.
И да текст это тоже графика, без возможностей создавать хорошие стили, отступы, масштабирование, окантовку, использования всевозможных тегов и прочего он будет выглядеть как бесформенное говно.
Аноним 20/06/22 Пнд 12:07:30 808574 171
>>808564
Для ренпи надо арты рисовать
Аноним 20/06/22 Пнд 12:13:13 808576 172
>>808574
Зачем? Используй как текстовый редактор. Но он как минимум из коробки отрисует нормальные градиентные палетки с прозрачностью и предоставит эффекты для их вывода и скрытия, вроде мувов, дизольва, фейда и т.д. Для плавного выведения текста, всяких индикаторов, а для эстетов и любого извращения с текстом через анимацию - типо инвертирования букв по оси, покачивание, дрожание, шлейф, распад строчки, на что фантазии хватит.
Аноним 20/06/22 Пнд 12:55:59 808586 173
61387f31c4f5848[...].jpg 75Кб, 736x1382
736x1382
>>808576
А можно просто взять Twine и не ебать мозги. В нем CSS есть.
Аноним 20/06/22 Пнд 14:41:34 808610 174
изображение.png 41Кб, 551x604
551x604
изображение.png 31Кб, 534x410
534x410
>>808586
Чем css отличается кроме паршивого синтаксиса, тормознутости и раз так в 100 меньших возможностях по сравнению с openGL?
Аноним 20/06/22 Пнд 15:08:58 808620 175
>>808576
Ренпай говно, братюнь. Питоновский ебучий синтаксис этот, говно говна. То ли дело редакторы на языках разметки.
Аноним 20/06/22 Пнд 15:26:45 808627 176
>>808620
Я не удивлён почему потом в треде вопросы как перекрасить линию. Может сперва освоите яп на уровне if else или разметку движков прежде чем в раздел заходить?
Аноним 20/06/22 Пнд 23:22:51 808786 177
>>808627
>Может сперва освоите яп на уровне if else или разметку движков прежде чем в раздел заходить?
Ну вот можешь сидеть, дрочить, а потом ныть как сучка, что люди вопросы задают. А люди зададут вопрос и пойдут делать игру дальше, а ты продолжишь сидеть и ныть.
Аноним 21/06/22 Втр 06:20:04 808798 178
>>808627
Но я умею в Питон на этом уровне, функции понимаю тоже.
Банально дольше писать чем на языке разметки. Плюс в Ренпае нет визуального представления параграфов, нет их подсчета, да нихуя нет. Плюс файл экспорта тяжелее.
Короче говно этот ваш Ренпай.
Аноним 21/06/22 Втр 06:27:47 808800 179
Аноним 21/06/22 Втр 10:31:28 808806 180
>>808798
Постой, но ты же умеешь в питон, и не можешь написать пару функций типо подсчёта параграфов? Долго делать командами в духе '''бла бла бла''' at centre? Сдаётся мне кто-то тут нагло брешет.
И да в твайне не сделать интерактив как хотят выше для этого нужен полноценный яп, это поделие для совсем бак скорее, которым сложно неделю потратить на гайды по простым командам.
Аноним 21/06/22 Втр 10:46:51 808810 181
>>808806
> И да в твайне не сделать интерактив как хотят выше для этого нужен полноценный яп
J S
S

Аноним 21/06/22 Втр 13:26:13 808829 182
>>808806
>не можешь написать пару функций типо подсчёта параграфов?
Я могу написать функцию подсчета параграфов, но зачем мне об
этом думать? Алсо я могу и графику выводить через PyGame, но зачем мне она нужна? Я хочу концентрироваться на тексте, а не на технических вопросах.
>И да в твайне не сделать интерактив как хотят выше для этого нужен полноценный яп
В твайне, если я правильно понимаю, можно запускать сценарии JS, этого достаточно.
То есть желающий попердолиться может попердолиться.
Аноним 21/06/22 Втр 15:48:07 808856 183
>>808829
>я могу и графику выводить через PyGame
Но игру ты сделать не можешь на нём. А знаешь почему? Потому что даже 2D движок вроде ренпи подтирает твои все так называемые "ненужности" в 95 случаях из 100. И для игры нужно уйма просто гора разных функций, особенно для игры с развитой интерактивностью, возможность бека, квик сейва где намешано 100500 вариантов поворота. И на твайне это не сделать, поэтому на что это просто приложуха для веба, а не полноценный движок.
Вы напоминаете мне тех бак которые пытаются городить собственный огород вместо того чтобы взять готовые решения по движкам для жанров, которые развивались не один десяток лет. Определись что ты хочешь сделать, игру которую можно издать в стиме и в которую кто-то будет играть или просто имитацию разработки игры чтобы потешить себя ненадолго.
Аноним 21/06/22 Втр 17:23:08 808871 184
>>808856
> возможность бека, квик сейва где намешано 100500 вариантов поворота
Всё это можно сделать в браузере. В чем проблема?
Аноним 21/06/22 Втр 18:50:44 808885 185
>>808856
Сколько твоих игорь было в магазинах?
Аноним 21/06/22 Втр 19:40:37 808899 186
>>808871
Делай... в чём проблема?
>>808885
Определись со своими, лол.
Аноним 22/06/22 Срд 00:22:31 808925 187
image.png 25Кб, 666x446
666x446
Вот это ренпи. Все просто настолько, что даже ебанат вроде меня понимает. Как это же сделать в шугаркубе?
Аноним 22/06/22 Срд 01:26:27 808928 188
>>808925
Ты какой-то совсем глупый. Harlowe:

:: Меню
#Меню
(set: $gift to nothing)
[Купить ягуану]
[Купить черепаху]
[Вернуться к Славяне]

:: Купить ягуану
Ты купил ягуану!
(set: $gift to "ягуана")
[Вернуться к Славяне]

:: Купить черепаху
Ты купил ягуану!
(set: $gift to "ягуана")
[Вернуться к Славяне]

:: Вернуться к Славяне
# У скомейки
Славяна вопрошающие смотрела на тебя.
(if: $gift is "ягуана" or it is "черепаха")[Какая милая!]
(else:)[Увидев тебя с пустыми руками она надулась, и отвернулась от тебя.]
Аноним 22/06/22 Срд 01:27:38 808929 189
>>808928
> :: Купить черепаху
> Ты купил черепаху!
> (set: $gift to "черепаха")
> [Вернуться к Славяне]
Быстрофикс
Аноним 22/06/22 Срд 01:45:46 808930 190
Аноним 22/06/22 Срд 01:55:22 808931 191
>>808930
А нахуй тебе шугаркуб, если харлоу по умолчанию стоит?
Аноним 22/06/22 Срд 01:57:09 808932 192
>>808931
Функционал больше
Аноним 22/06/22 Срд 03:41:26 808937 193
image.png 7Кб, 306x144
306x144
Как думаете, какой объем нужен для первого публичного релиза? Ну чтоб был баланс между "слишком мало, даже не запомню названия" и "слишком дохуя, лень столько читать"?
Аноним 22/06/22 Срд 03:47:54 808939 194
>>808937
Смотри не на объем, а на содержание.
Никому не будет интересно читать текст без сюжета, цепляющих героев, и без нормальной симуляции окружения.
Аноним 22/06/22 Срд 11:52:21 808961 195
>>808937
Зависит от типа новеллы. Если у тебя story-driven новелла, то есть 1 параграф = 1 кусок сюжета, пробегаемого без возврата в параграф, то 100 параграфов.
Если у тебя puzzle-driven новелла, и параграфы повторяются как локации, на которые возвращаешься, то хватит и 50, но при условии что на этих локациях есть что делать.
Аноним 22/06/22 Срд 12:18:20 808968 196
>>808937
Минимум час-полтора, это в районе 40-50 страниц текста вордовского. Ну или объём обычной повести.
Насчёт лень читать если читателя не забайтить за первый час, то скорее всего ему будет лень читать сколь-нибудь большой объём. Всё как и с обычной игрой.
Аноним 22/06/22 Срд 12:57:40 808976 197
image.png 16Кб, 324x302
324x302
Пролог все
Аноним 22/06/22 Срд 14:30:24 808985 198
Аноним 22/06/22 Срд 15:10:22 808992 199
>>808976

Где флоучарт, почему выложил сраные квадратики вместо текста? Пили ингейм-скрины или публикуй свое поделие, не украдут, не боись.
Аноним 25/06/22 Суб 18:07:50 809745 200
>>808985
>>808992
Нет, пока не выкачу в паблик нихуя вам не покажу. Один раз уже показал, а потом у мудака на ф95 увидел 1в1 мой текст.
Аноним 25/06/22 Суб 20:41:04 809833 201
Аноним 28/06/22 Втр 12:41:56 810557 202
Я не понимаю, как в шугаркубе спрятать рандомный вариант, если он уже выпадал. Есть что-то типа <<if $xxx != 1>>, что ебануть перед рандомным вариантом, чтоб он не выпадал, если ты уже получил переменную на страницу этого варианта? У меня уже голова кругом, нихуя не могу сообразить.
Аноним 01/07/22 Птн 11:45:25 812375 203
>>810557
Так сделай проверку переменной, в которую занесешь сведения о посещении параграфа с выбором рандомного варианта. If uzhe_byl_tut == false; randomny variant = rand (huy, pizda) etc.
Аноним 18/11/22 Птн 19:31:30 840685 204
Что думаете насчёт того, чтобы просто использовать bash для создания минималистичной интерактивной литературы?
Используем read, зацикливаем, пару слов $verb $object просто выполняем как bash-функцию.
Аноним 18/11/22 Птн 19:52:40 840689 205
Я не понял, это МУДы что ли?
Аноним 18/11/22 Птн 21:37:51 840694 206
>>840689
>это МУДы что ли?
MUDы относятся к жанру текстовых игр, но MUD - это ММО текстовая игра.

>>840685
>Что думаете насчёт того, чтобы просто использовать bash
Конечно, можно сделать текстовую игру и так. Только кто её сможет запустить и кто захочет в неё играть? Целевая аудитория текстовых игр и без того очень маленькая, а ты предлагаешь делать под линуксовую консоль на ПК. Сейчас текстовые игры неплохо заходят на мобилках, но там всё же нужно хотя бы минимальное графическое оформление и GUI-шные удобства, а не голая консоль.
Аноним 18/11/22 Птн 23:47:53 840704 207
16676504768420.jpg 728Кб, 1887x1352
1887x1352
>>840694
Игра от гика для гиков. Планирую создать расслабляющую минималистичную игрульку.

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

Максимальный минимализм.
Аноним 19/11/22 Суб 00:03:20 840708 208
>>840704
>Потому решил двигаться в обратном направлении.
>Максимальный минимализм.
Максимально минималистичный интерактивный рассказ можно в блокноте за пару часов набросать, будет несколько страничек и пара-тройка развилок. Нечего решать, садись да пиши - если есть какая-то идея сюжета. Без идеи такая игра не получится, т.к. основа - сюжет, а не геймплей. Если же хочешь геймплей без сюжета, можешь попробовать сделать текстовую бродилку, типа найти ключик от двери в комнате со множеством предметов.
Аноним 19/11/22 Суб 01:44:53 840726 209
>>840708
Всё описания так или иначе генерятся программно, так как что-то изменять в мире можно даже с небольшим количеством действий.

Генерятся тексты просто - есть список объектов, и мы поочерёдно выводим их описания.

А по сеттингу - вы живёте с лолей в доме на дереве. Вокруг ни души, нет вообще никого кроме вас. Есть горячие источники, охота, рыбалка, посидушки у костра.
Аноним 19/11/22 Суб 06:10:21 840737 210
>>840726
Я б поиграл. Ламповое выживание тип? Поподробнее б
Аноним 19/11/22 Суб 19:25:11 840835 211
>>840737
> Ламповое выживание тип?
Да.

> Поподробнее б
Да я сам план разработки ещё не написал.
Аноним 19/11/22 Суб 19:47:24 840841 212
1665569948750.png 1667Кб, 1882x690
1882x690
>>840726
>вы живёте с лолей в доме на дереве. Вокруг ни души, нет вообще никого кроме вас. Есть горячие источники, охота, рыбалка, посидушки у костра.
Слышал про такое еще лет 5 назад в VR.
Аноним 19/11/22 Суб 20:56:55 840854 213
>>840851
Угу просто иногда это 1000 летний вампир (shinobu simulator)
Аноним 19/11/22 Суб 21:05:28 840856 214
Wgwb5U.png 507Кб, 594x596
594x596
>>840851
>ни одной лоли нет
Сочувствую.
Оригинал: https://sgthale.itch.io/game
Опенсурс, в который перешёл оригинал:
https://viva-project.org/
https://github.com/OpenViva

>>840854, опередил меня)

>>840726
Пробовал начать делать что-то похожее, 1.5 года назад постил прототип здесь. С одной стороны это не так уж сложно, но с другой - это полноценная игра со своими проблемами, а не простая интерактивная книга (интерактивную книгу можно изготовить из бумаги).

Так что лучше возьми нормальный скриптовый язык - я не думаю, что bash будет достаточно удобен для разработки полноценной игры, пускай даже текстoвой. Алсо рекомендую всё же выбрать веб как основную целевую платформу, если хочешь чтобы в игру могли поиграть с любого устройства, а не только с компьютера на линуксе. Даже сложная текстoвая игра в современном вебе будет работать как обычный одностраничный сайт с кнопками, без установки и без долгих загрузок.
Аноним 19/11/22 Суб 23:14:35 840890 215
>>840856
> я не думаю, что bash будет достаточно удобен для разработки полноценной игры
Да вполне. Одни команды переписывают другие команды, образуя таким образом контекстное дерево, описывающее состояние мира и действия.

> веб
Bloatware.
Аноним 20/11/22 Вск 20:47:03 840963 216
>>840890
>описывающее состояние мира и действия
А там есть объекты ООП или хотя бы Dictionary?

>Bloatware.
Ты ж от него никуда не денешься. Сюда ты тоже с какого-то браузера пишешь ведь? И наверняка у тебя это не единственная вкладка браузера. Можно использовать более лёгкий браузер, но поддерживающий основные фичи HTML и JS, чтобы играть в игру.

Тяжёлые, раздутые сайты в интернете рождаются из-за использования тяжёлых фреймворков, библиотек или универсальных генераторов сайтов. Никто не мешает написать сайт/игру на голом JS и она будет летать пулей по сравнению с этими раздутыми сайтами. Просто вебмакакам платят за любое поделие, лишь бы оно открывалось на компьютере заказчика, поэтому вебмакаки вообще не парятся об оптимизациях.
Аноним 20/11/22 Вск 21:45:24 840977 217
>>840963
> А там есть объекты ООП или хотя бы Dictionary?
Переписывания функций образует контекстное дерево.
Аноним 21/11/22 Пнд 04:25:55 841091 218
Screenshot2022-[...].jpg 217Кб, 1080x2400
1080x2400
Принимайте пополнение.

Решил написать текстовый квест на самописном движке под андроид. Оказалось что писать нелинейные тексты в обычном редакторе неудобно. Решил написать редактор. Потом понял что хранить джисонину тоже неудобно, решил генерить код на котлине из сценария.
Короче сейчас у меня есть редактор нелинейных текстов в виде веб сервиса. Он позволяет писать в markdown и сохраняет в json. Есть компилятор из json в код на котлине + ресурсы под андроид. И есть тестовое приложение под андроид.
Сейчас работаю над переменными и условиями чтобы мир менялся от действий пользователя, ну в поняли.

Ах да, ещё я написал пару сцен из продакшен сценария который в голове и вообще куча идей ждёт реализации.

Когда будет более-менее готова хотя бы одна ветка сценария пойду искать художника. Уже сделал пару закладок на индихудожников в вк и инсте, может кто-то заинтересует.

Пикрил - сцена из тестового сценария.
Аноним 21/11/22 Пнд 04:49:29 841093 219
>>841091
Над дизайном поработай. От цветовой палитры у моих глаз рвота.
Аноним 21/11/22 Пнд 04:55:50 841094 220
>>841093
Само собой. Только я не дизайнер, я погромист и писатель. Хз как сделать чтобы нормально выглядело. У меня вообще нет вкуса к интерфейсам, меня любой устраивает. Наверное просто сделаю тёмный текст на белом фоне. Типа как чтение текста в моей любимой мракопедии.
Аноним 21/11/22 Пнд 19:37:49 841268 221
Mozhno-nenado-m[...].jpg 108Кб, 800x571
800x571
>>841091
>Может быть нажать одну из них?
Можно не надо?

>на самописном движке под андроид
Подробности опиши. Java?

>Оказалось что писать нелинейные тексты в обычном редакторе неудобно.
Зависит от сложности... Слишком нелинейно всё равно не напишешь, т.к. количество необходимой писанины увеличивается слишком быстро. Не задумывался, почему игры в большинстве случаев линейны, а вся "нелинейность" чаще всего фейковая или ведёт к гейм оверу?

>хранить джисонину тоже неудобно
Это почему? Интересно узнать нюансы.

>>841094
>Наверное просто сделаю тёмный текст на белом фоне.
Как минимум нужна тёмная тема. И чисто чёрная - для OLED.
Аноним 21/11/22 Пнд 21:27:44 841300 222
>>841268
> Подробности опиши. Java?
Только Котлин. Обычный Android SDK. Для редактора использовал ktor. Парсинг json - gson. Парсинг md - регэкспы. Что ещё интеерсно?

> Зависит от сложности... Слишком нелинейно всё равно не напишешь, т.к. количество необходимой писанины увеличивается слишком быстро. Не задумывался, почему игры в большинстве случаев линейны, а вся "нелинейность" чаще всего фейковая или ведёт к гейм оверу?
Я думаю сделать несколько ключевых сцен куда сходятся предыдущие ветки, потом снова расходятся, за это время набираются разные состояния и финальные сцены разные в зависимости от набраных состояний. Ну и какое-то количество плохих концовок на всему сценарию.

> Это почему? Интересно узнать нюансы.
Во-первых тогда любой васян вытащит её из ресурсов и в лучшем случае узнает все концовки, а в худшем спиздит в свой проект. А так у меня все переходы будут обфусцированны, тоже конечно можно вытащить, но намного сложнее. Во-вторых тогда будет дублироваться логика в редакторе и в приложении. В-последних я просто люблю кодогенерацию и перлолиться с кодом.

> Как минимум нужна тёмная тема. И чисто чёрная - для OLED.
Надеюсь что будет, только бы мне не бросить всё это.
Аноним 21/11/22 Пнд 22:06:41 841303 223
>>841300
> Парсинг md - регэкспы
Напиши ка такой текст у себя, и посмотри что выйдет `тест`.
Аноним 22/11/22 Втр 09:48:48 841346 224
>>841303
Сейчас это будет параграф сцены. Так и будет `тест`, апострофы специально не парсятся. У меня такая модель: квест, сцена квеста, параграф сцены и действие сцены.
Но я планирую сделать в апострофах скрипты. То есть

* Открыть дверь ключом
`isVisible == hasKey`

будет парситься как действие "Открыть дверь ключом", которое будет видно если у игрока есть ключ.
Аноним 22/11/22 Втр 22:10:36 841474 225
>>841346
просто возьми инстед и не страдай хуйнёй
Аноним 23/11/22 Срд 00:01:24 841495 226
>>841474
Ага чтобы ца была ещё меньше.
> не страдай хуйнёй
Какой тогда смысл?
Олсо, я вчера написал токинайзер, сегодня написал простой парсер в дерево, но он работает неудовлетворительно. Завтра буду писать алгоритм Дейкстра для обратной польской нотации и уже её разбирать в граф.
Аноним 23/11/22 Срд 10:36:27 841502 227
>>808976
А где в твайне показывается количество слов/проходов в хохлы и прочая статистика? Твайн только недавно накотил, сахарныйкубик разобрал, пасседжи леплю пока.
Аноним 23/11/22 Срд 12:41:48 841512 228
1594119315370.gif 1205Кб, 1920x1080
1920x1080
Пилю потихоньку свой текстовый движок, сегодня оживил картинку из оп опста.
Аноним 23/11/22 Срд 13:31:06 841519 229
>>841512
Выглядит годно. Расскажи какой стек (вижу что си) и какие игровые механики.
Аноним 23/11/22 Срд 16:48:53 841535 230
Каков алгоритм ветвления сюжетов?
Аноним 23/11/22 Срд 22:26:29 841599 231
>>841519
Пока нечего особо рассказывать, третий день делаю. Стек помесь C++17 и древнего Си, ncurses/PDcurses, сборка CMake под DOS/WinXP (DJGPP), Windows CMD/PowerShell и Linux.
Аноним 23/11/22 Срд 22:27:13 841600 232
>>841519
Механики пока не придумывал, могут быть всякие квесты, миниигры, QTE на реакцию.
Аноним 23/11/22 Срд 22:39:07 841604 233
>>841600
Дополнительно к вводу текста, конечно. Но в эту сторону не копал особо пока.
Аноним 24/11/22 Чтв 00:43:42 841621 234
>>841495
оборачивается в андроедобилд даже гуманитарием типа меня за один день, есть ПАРСЕР
дурак ты ей богу
Аноним 24/11/22 Чтв 08:33:38 841645 235
>>841535
Алгоритм? Ветвление сюжетов это не алгоритм, а структура данных, а именно граф.
Аноним 24/11/22 Чтв 15:50:41 841683 236
>>841495
>обратной польской нотации
Тогда уж можно сразу FORTH использовать...

>>841535
Что ты имеешь в виду?

>>841645
>Ветвление сюжетов это не алгоритм, а структура данных, а именно граф.
Необязательно. Игра может генерировать сюжеты по сложной системе правил, а не следовать заранее заданным в данных маршрутам.
Аноним 24/11/22 Чтв 18:44:52 841729 237
>>841683
и будет кал - как любая генерированная хуйня
Аноним 25/11/22 Птн 01:12:43 841781 238
>>841729
У ИИ в этом есть продвижения. По крайней мере Character AI ведёт себя осмысленно - строит аналогии, имеет абстрактные понятия о вещах не привязывываясь к конкретному языку.
Но ебучая скрытая цензура всё портит.

А альтернатив пока нет. Kobold AI и NovelAI не мультиязычны, в отличии от character AI.
Аноним 25/11/22 Птн 11:20:27 841799 239
>>841781
я глубоко копал и для ифни, и для в целом для игр - сраный ЗОРК до сих пор ебёт все данженАИ не вставая с дискеты
Аноним 25/11/22 Птн 15:32:37 841836 240
>>841799
Можно ли в ZORK трахать лолек? В AI-решениях можно.
Аноним 25/11/22 Птн 16:06:16 841842 241
>>841836
>трахать лолек
К твоим услугам: https://vrelnir.blogspot.com/

>В AI-решениях можно.
Эти "AI-решения" постоянно забывают, что происходило, и несут бессвязную чепуху. Это больше напоминает сновидение, только ещё более абсурдное: объекты пропадают и появляются, события то происходили, то уже не происходили, персонажи непрерывно мутируют в нечто новое или пропадают и появляются. В частности, твоя лоля очень быстро мутирует в товарища майора прямо во время секса, а решения этой проблемы в текущих "AI-решениях" не существует.

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

>цензура всё портит
Приличный человек тоже не будет публично рассказывать то, за что его могут наказать - оштрафовать или даже посадить в тюрьму. Однако, внутренняя самоцензура этого человека не делает его рассказ бессвязным бредом шизофреника, правильно? Правильно. Настоящий человек (ИИ) может сочинить рассказ с учётом всех ограничений цензуры и этот рассказ будет приятно читать. Так что не кати бочку на цензуру, в данном конкретном случае она ни в чём не виновата.
Аноним 25/11/22 Птн 16:29:51 841849 242
>>841842
> К твоим услугам: https://vrelnir.blogspot.com/
Не парсер. Нельзя выбрать сеттинг, да и нельзя играть за мужика.

Может я хочу повеселиться с лолей на горячих источниках, а потом сесть с ней в повозку и поехать дальше искать приключения на жопу?

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

> Эти "AI-решения" постоянно забывают, что происходило, и несут бессвязную чепуху
У моделей у которых меньше 13 миллиардов параметров - безусловно.

"Stack more layers". Почитай "Bitter Lesson" Ричарда Саттона, хорошая статья об этом.

> Так что не кати бочку на цензуру, в данном конкретном случае она ни в чём не виновата.
Виновата, ибо тот же Character AI прилюбых попытках начать описывать сексуальную сцену с лолей тут же начинает морозиться.
Аноним 25/11/22 Птн 17:18:03 841858 243
>>841849
>да и нельзя играть за мужика.
Можно, но сложно
Аноним 25/11/22 Птн 17:45:32 841862 244
>>841849
понимаешь, это не тренажёр для даунов с афантазией, у него нет такой медицинской цели
Аноним 25/11/22 Птн 17:46:18 841863 245
>>841849
>Не парсер
Так даже лучше.
>Нельзя выбрать сеттинг
Играй в другие игры. Их буквально десятки тысяч на сегодняшний день.
>да и нельзя играть за мужика
Более 9000 игр про мужика в главной роли, а тут тебе дают уникальный шанс играть за лолю, и ты ещё чем-то недоволен? Шёл бы ты в /vg/ или откуда ты сюда пришёл, тебе тут не рады.

>Может я хочу
>Ну или я хочу
Знаешь что, если ты реально хочешь, то почему бы тебе просто не фантазировать? Или ты можешь освоить осознанные сновидения, чтобы управлять своими снами. Графика будет на нереально реалистичном уровне по сравнению со всеми ААА, а возможностей куда больше, чем даже в реальном мире. И никаких затрат электричества! Чем это хуже чтения высеров от нейросетки? Давай сравним по пунктам:
- высер от нейросетки не имеет чёткой структуры, а твоя фантазия/сон - имеют, и не какую-то там выведенную из миллионов рандомных текстов, а твою собственную, которая тебе нравится;
- высер от нейросетки не способен поддержать одного персонажа дольше нескольких абзацев, а твоя фантазия/сон могут поддерживать одного персонажа буквально десятилетиями (тульпа);
- высер от нейросетки не имеет графики и озвучки, а если и имеет - то крайне нестабильно и очень медленно, а твоя фантазия/сон работают мгновенно и практически без ограничений;
- высер от нейросетки ты можешь прочитать только с компьютера или телефона, пока у тебя есть электричество и доступ в сеть, а твоё воображение доступно всегда, а сон - каждую ночь;
- читая высеры от нейросетки ты тратишь силы и устаёшь, а фантазирование и сновидения расслабляют и придают тебе сил, пока ты лежишь на своей кровати или свободно сидишь.

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

>13 миллиардов параметров
>Stack more layers
>Bitter Lesson
У человеческого мозга 6 слоёв в новой коре мозга. ШЕСТЬ. Площадь большая, да, но глубина отдельной колонки всего шесть слоёв. И каждая колонка занята какой-то одной концепцией. Современные нейронки до такого ещё не дошли, хотя предложения были очень давно. Но проблема куда глубже, чем кажется - одна только новая кора мозга может только впитывать информацию, она не имеет жёстких предустановок и множества важных, стабильных систем. Мозг без некоторых из этих систем вообще лишается всей человечности, так что кора - это просто-напросто огромный накопитель данных с ассоциативными связями между файлами, т.е. ссылками. Мы пока не можем повторить кору по её объёму, но даже когда мы её повторим, без важных нижележащих систем эта виртуальная кора будет только запоминать, что ей скажут. Что мы и видим у современных нейронок - они тупо запоминают всё подряд и всё. Это тупиковый путь, нужно создавать конкретные захардкоженные структуры и системы мозга, а не пихать тонны данных в накопитель данных, пусть даже если в этом накопителе создаются какие-то ассоциативные связи. Конечно, без огромного накопителя эти структуры не смогут действовать очень уж умно, но они будут куда лучше современных бредогенераторов - примерно как некоторые птицы, обезьяны, дельфины и прочие животные обходят любую искусственную нейронку, хотя и не могут запомнить столько же, сколько способен запомнить человек (объёма накопителя не хватает, несмотря на присутствие нужных систем мозга).

>при любых попытках начать описывать сексуальную сцену
Так эти нейронки на любой сцене бессмысленную чепуху несут.

И потом, пытаясь "играть" с такой нейронкой ты, по факту, совершаешь очень много работы самостоятельно - ты сам, лично, своими руками печатаешь много текста в виде запросов нейронке... Скажи мне, зачем это нужно? Не проще ли написать целиком самостоятельно историю про то, как ты поехал с кем-то на горячие источники, потом оправился на приключения, а в конечном итоге нашёл артефакт и всех в мире уничтожил? Ты же, по сути, сделаешь всё то же самое, только быстрее, стабильнее и интереснее, чем нейронка. А ещё ты можешь вообще ничего не печатать, а только фантазировать - что будет намного быстрее и лучше, чем любая игра. Какую задачу в данной ситуации решает нейронка? Задачу генерации рандомного бреда? Не сомневайся, наш мозг способен генерировать бред - нужно только сбавить сознательный контроль, например, с помощью вхождения в транс или засыпания.
Аноним 25/11/22 Птн 18:02:10 841867 246
>>841863
Все таки фантазировать самому это не тоже самое, что играться с нейронкой. Это как заменитель живого человека
Аноним 25/11/22 Птн 20:58:44 841900 247
>>841863
> Так даже лучше.
Не лучше. Ну может при ограниченных вариантах действий и лучше, но точно не для того типа IF, которые пытаются симулировать мир.

> Играй в другие игры
И которые точно подойдут по запросу. В такой-то нишевой среде.

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

> Шёл бы ты в /vg/ или откуда ты сюда пришёл, тебе тут не рады.
Никогда не сидел в /vg/

> Знаешь что, если ты реально хочешь, то почему бы тебе просто не фантазировать?
Теряется элемент игры, элемент неожиданности. В этом нет ничего интересного.

> высер от нейросетки не способен поддержать одного персонажа дольше нескольких абзацев
Может, 13B модели могут держать персонажей сколько угодно долго, лишь бы TPU для вычислений было.

> высер от нейросетки не имеет графики и озвучки
Это не нужно в текстовых играх, я бы сказал даже вредно для этого жанра.

> У человеческого мозга 6 слоёв в новой коре мозга
Вот только нейронки и человеческий мозг это совершенно разные вещи, и похожи только если схемы на доске рисовать.

У них буквально ничего общего. Нейронка это просто математическая формула гигантских размеров.

> Не проще ли написать целиком самостоятельно историю про то
> интереснее
Я не хочу быть писателем. Я хочу быть игроком. Быть писателем и персонажем - это не одно и то же.

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

Нет, в этом нет никого интереса.
Аноним 25/11/22 Птн 21:03:05 841903 248
1669399383289.png 661Кб, 768x512
768x512
1669399383291.png 489Кб, 512x768
512x768
>>841900
Алсо, графику они имееют. Нейронки способны самостоятельно генерировать изображения для текста. Сделал ход, нейронка сгенерировала текст описания леса, а по нему и изображения. У NovelAI к примеру превосходный генератор изображений.
Аноним 25/11/22 Птн 21:14:04 841906 249
Алсо, как там с диалогами в классических IF, всё так же выбор из трех вариантов?
Аноним 25/11/22 Птн 21:38:55 841909 250
>>841863
>И каждая колонка занята какой-то одной концепцией.
Звучит как то толсто, френологию развенчали лет 200 назад.
>это просто-напросто огромный накопитель данных с ассоциативными связями между файлами, т.е. ссылками. Мы пока не можем повторить кору по её объёму
Да ничего больше и не нужно, если напихать в нейронку все что ты видел с детства, примерно такое же сознание и получится
Аноним 25/11/22 Птн 22:17:54 841914 251
>>841867
>...играться с нейронкой. Это как заменитель живого человека
Сходи в дурку или в дом престарелых, где у людей мозг полностью рассохся от старости, болезни или таблеток. Вот это будет твой "заменитель живого человека". Кому он такой нужен? Нормальные люди сдают таких "заменителей" в дурку или дом престарелых как раз потому, что те лишь создают проблемы, не принося пользы. С текущими нейронками ситуация идентична - проще написать историю самому, чем через нейронку, потому что сам ты пишешь постоянно вперёд, а с нейронкой нужно отменять бред нейронки и запрашивать снова, и так по 10 раз на реплику. Может быть, уже есть нейронки, которые с первой попытки пишут то, что хочешь именно ты? Сомневаюсь.

>>841900
>для того типа IF, которые пытаются симулировать мир
Даже если у тебя симуляция мира, в каждой конкретной локации с каждым конкретным набором предметов и персонажей может быть ограниченное множество действий. Это не только в играх так, в жизни та же ситуация, только множество действий всё-таки больше. Да только мы говорим об играх, а не о жизни. Какого хрена я должен играть в угадайку с программой, автор которой ПОЛЕНИЛСЯ вывести на экран набор кнопок?

>И которые точно подойдут по запросу. В такой-то нишевой среде.
Сделай сам. Мы в разделе /gd/, а не /vg/. Тут от анона ожидается, что он делает игры, а не играет в них. Или, во всяком случае, получает больше удовольствия от создания новых игр, чем от игры в уже существующие игры (да, такие есть, иначе бы не существовало всех этих геймджемов и видосов "как я создал 100 игр за год"). Впрочем, вряд ли ты сможешь сделать текстовую игру на базе нейронок, ведь ты только нахваливаешь уже существующие, а сам в их устройстве не разбираешься и с нуля сделать не сможешь.

>посоветовал бы играть ролеплеи с реальными людьми
Реальные люди не сильно лучше нейронки - да, они обычно не бредят, но тоже будут тянуть одеяло на себя и выводить тебя на какие-то свои, интересные только им, рельсы. Больше всего свободен ты можешь быть только сам с собой - в своей голове, да ещё при создании своей собственной игры на компьютере...

>Теряется элемент игры, элемент неожиданности.
Предрассудок. В реальности твоё воображение может тебя удивить. Но для этого, конечно, нужно приложить хотя бы минимальные усилия, которые могут показаться непривычными или бесполезными. При желании можно вообще войти в режим, когда ты только зритель, а не сценарист появляющихся перед глазами образов. Без каких-либо посторонних веществ и экстремальных действий. Хотя меня это всё мало интересует, я больше заинтересован в создании чего-то в реальном мире, что меня и привело к геймдеву...

>13B модели могут держать персонажей сколько угодно долго, лишь бы TPU для вычислений было
Не понимаю твоей уверенности. Есть какие-то рабочие образцы? При чём тут "TPU для вычислений", если, по факту, для удержания персонажа в памяти достаточно наличие этой памяти - HDD/SSD или RAM? Просто нужно вместо нейронок использовать другой подход, более приспособленный для компьютеров. Памяти-то у нас более, чем достаточно, мы просто ленимся писать программы для операций с этой памятью.

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

>Я хочу быть игроком. Быть писателем и персонажем - это не одно и то же.
>ты уже заранее знаешь что произойдет дальше.
Во-первых, что хорошего в том, что нейронка сгенерирует какой-то внезапный бред? Ты пишешь "я маг 80-го уровня, отправился на квест по убийству всего зла во всём мире", а нейронка тебе в ответ "ты вышел из города и на тебя упал кирпич, ты умер и жалеешь о том, что не смог спасти мир от зла". Что в этом хорошего? Тебе же нейронка весь кайф ломает. По-моему, такого рандомного бреда ИРЛ более чем достаточно, а игры должны быть как можно более предсказуемыми: если ты прокачал персонажа до максимального уровня, все монстры должны отлетать с одного щелчка, и никакой кирпич на голову тебе больше не страшен. Игра - это набор строгих правил, и если игра высирает на тебя какой-то рандомный бред, то это плохая игра. Да, нейронки могут впитать в себя некие правила из тех миллионов текстов, что им скормили, но эти правила хаотичны, нестабильны - совсем не такие, какие закладывает в игру геймдизайнер. Т.е. нейронка принципиально хуже классической игры.

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

Во-вторых, как ты уже, наверное, догадываешься, писательство - это не "знаешь всё наперёд". Я пробовал писать рассказы, и могу подтвердить это. Ты не знаешь заранее, что подкинет тебе воображение - это раз. Два - твои персонажи оживают в воображении и начинают вести себя независимо. Как минимум у 60% писателей наблюдается такой эффект оживления персонажей, остальные, скорее всего, просто не придают значение. То есть писатель не знает заранее, как поведёт себя персонаж, он только ставит какие-то рамки и наблюдает за тем, как ведёт себя персонаж в его воображении, и только потом записывает увиденное. Писатель и его персонаж - это не одна и та же личность, писатель - это ты, а твой персонаж живёт свою собственную жизнь и не подчиняется тебе на 100%, если ты хорошо его продумал. По этой же причине нейронка тупо ломает повествование, т.к. у нейронки, в отличие от твоего воображения, нет никакого чёткого "персонажа", она просто предсказывает следующие реплики, опираясь на статистику обучающих текстов.

>>841909
>френология
Это другое. Френология исследовала строение черепа, а не мозга.

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

>>841906
>как там с диалогами в классических IF
Но у текущих нейронок тоже всё плохо с диалогами: да, они высирают кучу бреда, отдалённо напоминающего осмысленную речь, но реально осмысленной речью их бред не является. Нейронке скормили кучу текстов, она статистически вычислила, что на вопрос "как дела" обычно следует ответ "у меня всё хорошо", и выводит этот ответ на этот вопрос, но ведь она не понимает, что такое "она" ("у меня") и не сообщает о своём реальном состоянии ("...всё хорошо"). Обычная, классическая программа способна ответить на вопрос "как дела" с чётким пониманием того, что обращаются лично к ней и запрашивают её состояние, поэтому когда эта классическая программа отвечает "200 OK", мы можем с уверенностью утверждать, что она поняла наш вопрос и ответила на него осмысленной речью - пускай и в виде специального кода, а не витиеватой фразы. В этом разница между нейронками и людьми/ИИ: нейронка высирает рандомный бред, а человек/ИИ отвечает осмысленно. В этом плане любая программа намного больше ИИ, чем нейронка.
Аноним 25/11/22 Птн 23:30:26 841928 252
>>841914
Хуя ты простыню родил. Ты бы лучше сценарии писал с таким запалом.
мимо
Аноним 26/11/22 Суб 00:14:19 841933 253
>>841914
> Есть какие-то рабочие образцы?
Kobold AI. Он способен самостоятельно вносить персонажей в World Info (постоянную память).

> если, по факту, для удержания персонажа в памяти достаточно наличие этой памяти - HDD/SSD или RAM?
Не совсем. Чем больше нейронке нужно сохранить, тем больше ей нужно обработать. С памятью проблем нет, а вот вычислительные мощности очень дорогие. GPT лучше всего работает на тензорных процессорах. Благо колаб эти возможности предостовляет.

> Во-первых, что хорошего в том, что нейронка сгенерирует какой-то внезапный бред?
Больше слоев, меньше бреда.
А потенциал большой, она сгенерирует тебе описание города, внешность NPC, и множество других полезных вещей.

> Даже если у тебя симуляция мира, в каждой конкретной локации с каждым конкретным набором предметов и персонажей может быть ограниченное множество действий.
Ты явно никогда не был Мастером Подземелий.
Это распространенная ошибка среди начинающих мастеров - попытаться предсказать все решения проблемы, чтобы тут же выдать игрокам результат.

Нет, игроки могут придумать СОТНИ решений поставленной перед ними проблемы.

Нет смысла продумывать всё, потому опытные мастера придумывают всё на лету. Иначе попадут в комбинаторный взрыв.

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

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

А классические IF (в жанре RPG) не оставляют игроку ничего кроме рельсов.

У разработчика IF по сути стоит задача запрограммировать мастера, который будет реагировать на действия игрока.

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

> Игра - это набор строгих правил
Можешь поступить как игроки solo TTRPG, которые используют правила какой-нибудь настолки типа D&D или Ironsworn совместно с ИИ, который играет роль GM и позволяет игроку играть не полагаясь на десятки таблиц для генерации локаций и персонажей.

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

Ты всегда знаешь, что произойдет до того, как сделает ход твой персонаж (то бишь ты).

Проблему можно решить многогранными дайсами и сотнями таблиц процедурной генерации (вплоть до "Таблица: Что ты увидел за углом дома"). У кого-то есть столько таблиц? И сколько бы у тебя не было таблиц, их всегда будет мало, ибо мир игры бесконечно широк, а таблицы конечны.

> Но у текущих нейронок тоже всё плохо с диалогами
И тут выходит на сцену Character AI, с которым ты можешь обсуждать танатологию, материализм Маркса, и делать это не английском, а на эсператно (грамматически верном эсперанто причем). Нейронки развиваются быстрее, чем люди успевают уследить за их развитием, если не специально наблюдать.

Это конечно всё китайская комната, но тем не менее, такая система диалогов дает богатый выбор.

Нет, конечно ты можешь запрограммировать глубокую симуляцию, где каждый NPC имеет знания, и ты можешь запрограммировать команды "спросить <имя_нпс> о <предмет>".
Однако ты обязательно попадешь в комбинаторный взрыв, причину описал выше.
Аноним 26/11/22 Суб 00:22:14 841935 254
Дополню тем, что все игры чем-то похожи на головоломки. Не интересно решать головоломку, которую ты сам придумал и знаешь решение заранее.
Аноним 26/11/22 Суб 04:09:09 841959 255
>>841935
Все намного веселее, если у тебя амнезия и ты через месяц уже забываешь.
Аноним 26/11/22 Суб 23:32:50 842103 256
>>841933
>Kobold AI
https://www.reddit.com/r/KoboldAI/comments/yxsepr/
>Think of it like very powerful auto-complete. If you notice it get more coherent throughout a story, that's just because it has more text to work with.
>That’s a pretty small story that will fit entirely. You’ll find pretty quick that stuff’s left behind. You can see in the console how much has been passed to the AI. The default is about three-four paragraphs worth.
Алсо, тебя не затруднит доставить наглядные примеры игры с этой нейронкой? С "Dungeon AI" было много скриншотов, но все уровня "гы-гы, смотрите какой лютый бред пишет эта штуковина".

>Чем больше нейронке нужно сохранить, тем больше ей нужно обработать.
Зачем? Сколько информации ты обрабатываешь, когда думаешь о чём-либо? Объём твоего мозга не увеличивается, а количество нейронов и нейронных связей непрерывно сокращается несмотря даже на процесс создания новых нейронов. Правильная искусственная нейросеть должна работать без остановки, постоянно принимая входящую информацию и отдавая исходящую, и не имея никаких проблем с объёмом памяти, если её удалось однажды запустить, ведь дальше она будет только "худеть". Только не начинай снова про миллиарды слоёв - у насекомых считанные сотни отдельных нейронов, но на данный момент даже они умнее всех этих бредогенераторов. Потому что насекомое оптимизировано для выживания в дикой природе, а нейронкам тупо скармливают текст и ждут от них чуда. И никакой это не ИИ, вот у насекомых в дикой природе "ИИ" есть, а в бредогенераторе его нет.

Но это нейронные сети. Классические программы могут вообще не обрабатывать сохранённые данные, пока они им не понадобятся. Подумай об играх: игра весом 100+ ГБ на жёстком диске прекрасно работает с оперативной памятью всего 4-8 ГБ, потому что в разные моменты времени ей требуются разные файлы. Пока игрок не прошёл в другую локацию, файлы лежат на диске и совершенно никак не используются процессором. Вот настоящий ИИ без нейронных сетей будет работать примерно так же - даже имея терабайты личных воспоминаний за все годы бесперебойной работы, в каждый момент времени он будет обрабатывать только мегабайты актуальной в данный момент информации. Подумай о ссылках. Тебе не нужно хранить в оперативной памяти все сайты из интернета, достаточно знать, по какой ссылке их можно открыть.

А нейронные сети не умеют в столь эффективное управление памятью, потому что они основаны на горсти изначально независимых биологических организмов (клеток), т.е. на совершенно другой архитектуре. Искусственные нейронные сети - это как запуск эмулятора устаревшего железа на несовместимом с ним современном - полезно для запуска устаревшей программы, но в повседневной работе ты всё же предпочтёшь современную программу для современного железа. Понимаешь меня?

>игроки могут придумать СОТНИ решений
Когда в реальной жизни перед тобой лужа, у тебя всего четыре разумных варианта действий:
1. Обойти лужу стороной.
2. Перепрыгнуть лужу.
3. Пройти прямо сквозь лужу.
4. Развернуться и уйти обратно.
Может, ты сейчас можешь придумать ещё 996 вариантов решения задачи "лужа на дороге", но все они будут как минимум неестественными. Поэтому разработчики игр не парятся, и если ставят на дороге лужу, дают игроку всего 4 варианта действий. В контексте текстовых игр: лучше дать игроку 4 кнопки доступных действий, чем заставлять его брутфорсить варианты, которые нормальному человеку в голову вообще не придут (типа "я толкнул свою младшую сестру в лужу и перешёл по её спине" - ты вообще в своём уме, игрок?) и поэтому в игре недоступны.

>Игрок всегда может придумать действие, которое было действительно логичным в данной ситуации, но о котором мастер даже не догадывался.
Игры так не делаются. Если перед игроком поставлена задача "преследовать поезд", он должен преследовать поезд, иначе будет фейл и рестарт. Разве это так трудно понять? Игры - это аттракцион, и ты должен следовать правилам аттракциона, чтобы получить удовольствие. Текстовые игры - такой же аттракцион, что и графические, только вместо графики описывают всё текстом. Но это не делает их чем-то кроме аттракциона. Да, даже если игра в жанре симулятора без чётко поставленной цели (т.е. песочница), это по-прежнему аттракцион. Для примера можно взять Minecraft - он как будто не ставит перед тобой никакого коридора, никаких сюжетных рельс, но ты по-прежнему находишься в тематическом парке аттракционов, которые работают по строгим правилам и никак иначе. Твои неоправданные ожидания лишь твоя проблема - все аттракционы исправны, пока следуют правилам. Все отклонения от правил - баг, ошибка, неисправность. Только ты виноват в том, что пытаешься сломать аттракцион неправильными действиями и недоволен результатом.

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

Правильнее рассматривать ИИ как второго игрока в игре или друга, который пошёл вместе с тобой в парк развлечений - кататься вдвоём на аттракционах. Аттракционы так и останутся глупыми механизмами, но с ИИ кататься на них будет интереснее, как может быть интереснее играть в онлайн-игры. Так и интерактивная литература никуда не денется - может, её будут создавать ИИ на базе своего личного опыта жизни в нашем мире, но эта литература останется аттракционом, не превращаясь ни в какого "мастера подземелий". Это просто разные жанры.

>совместно с ИИ, который играет роль GM
Какой ИИ? Нет пока никакого ИИ. Или его скрывают в секретных лабораториях. Даже Watson, к сожалению, всего лишь продвинутый поисковый движок.

>Твой случай может произойти, если только у тебя в голове несколько параллельных сознаний, думающих независимо друг-от-друга.
Что такое сознание-то? У тебя в голове только мозг. Мозг состоит из множества разнородных частей, и даже однородная кора имеет неоднородную организацию, запоминая разные вещи в разных своих частях. У нас есть некая "петля", которая замыкает деятельность мозга саму на себя: так мы можем запоминать и анализировать свои собственные мысли и чувства. Если эта петля прерывается, человек перестаёт себя осознавать (и обычно падает без сознания, но не всегда). Но кто эти "мы"? Что такое "я"? Совокупность сотен миллиардов независимых клеток, которые мы привыкли называть одним словом "я". Ключевое слово: привыкли. Если пронаблюдать за собой, на время абстрагировавшись от этой концепции "я", можно заметить, что нет никакого монолитного "я". Мы лишь привыкли называть и считать себя неделимой сущностью, но в реальности мы никогда не были и не можем быть неделимым "я". Абстрагируйся от своего "я", и ты увидишь, что его никогда и не было. Когда ты сможешь преодолеть этот барьер, ты сможешь разделить себя на столько частей, на сколько пожелаешь. Эти части не будут отдельными людьми, но они не будут и тобой. Ну, наверное, ты уже понял, к чему я веду.

>Ты всегда знаешь, что произойдет до того, как сделает ход твой персонаж (то бишь ты).
Если ты понял предыдущий абзац, наверное, ты уже знаешь, что я хочу сказать. Твоё "знание следующего хода" не является твоим знанием - это ход мысли твоего персонажа, которого ты сознательно или непроизвольно отделил от своего "я". Ваше сознание (та петля, которая замыкает мозг на себя) одно на всех, но вы не одно и то же. Самое главное здесь - осознать, что мысль не равна речи - мыслим мы без использования речи, а тот комментатор в наших мыслях лишь одна из наших частей. Комментатор может обращать мысли в мысленную речь, может озвучивать всех наших персонажей. Но мысли персонажей возникают куда быстрее, чем может прозвучать речь. Т.е. это вовсе не какие-то там глюки, а твои мысли - мысли без слов, которые ты отделил от своего "я" и присвоил "персонажу". Просто у некоторых людей это всё само собой происходит, без их сознательных желаний или усилий.
Аноним 26/11/22 Суб 23:41:49 842106 257
>>842103
>Когда в реальной жизни перед тобой лужа, у тебя всего четыре разумных варианта действий:
>1. Обойти лужу стороной.
>2. Перепрыгнуть лужу.
>3. Пройти прямо сквозь лужу.
>4. Развернуться и уйти обратно.
Кстати есть объяснение почему именно столько и именно этих? Я видел у психологов нечто подобное
Возможные решения проблемы
· изменить себя и своё поведение;
· изменить ситуацию;
· выйти из ситуации;
· изменить своё отношение к ситуации.
Аноним 27/11/22 Вск 00:22:51 842112 258
>>842106
>Кстати есть объяснение почему именно столько и именно этих? Я видел у психологов нечто подобное
Честно говоря, написал пример от балды, как возможный в реальности и во всех видах игр (в 3D играх могут быть лужи и всё перечисленное там обычно можно осуществить, хотя это ни на что не влияет). При этом можно выдумать огромное количество альтернатив, вроде "бросить что-то в лужу", "повалить дерево", "высушить лужу", "подождать её высыхания", "попросить прохожих перенести тебя на руках", "запрыгнуть на прохожего" и прочий бред. Нужна ли в игре такая вариативность действий для простой лужи? Если это симулятор луж - наверное, да. Всем остальным играм это вообще не нужно, даже если там есть лужи и мокрые ноги как-то влияют на геймплей. В смысле, игрок в любом случае выберет наиболее оптимальное решение и будет использовать его всегда, игнорируя те сотни вариантов, которые можно было бы придумать. Так зачем делать все эти развилки, если они никому не нужны? Кроме, разве что, фетишистов на лужи, которые будут останавливаться перед каждой лужей и дрочить на варианты взаимодействия с ней, насколько бы ограниченной в этом плане ни была конкретная игра (даже если можно просто стоять и смотреть - будут стоять и смотреть, ведь это их любимая ЛУЖА, зачем им что-то другое).

>>841935
>все игры чем-то похожи на головоломки. Не интересно решать головоломку, которую ты сам придумал и знаешь решение заранее.
В таком случае в игры бы вообще повторно не играли, а ещё никто бы не мог вытерпеть повторяющихся действий в играх. Но все игры завязаны на петли геймплея, которые повторяются огромное количество раз, и почти всех это абсолютно устраивает. Посадил растение > собрал урожай > посадил растение... Кто-то скажет, что игра превращается в работу, но ведь люди продолжают играть, значит, им это нравится. Такая же ситуация с решением головоломок - только посмотрите на соревнования по кубику Рубика, лол. Книги, если что, тоже перечитывают, особенно любимые, и им даже никакая вариативность не нужна для того, чтобы было приятно перечитать снова.
Аноним 27/11/22 Вск 14:15:08 842167 259
Короче сделал я парсер выражений и тут же оказалось что айдишники сцен у меня не целочисленные, а строковые. Поэтому переделываю парсер, а конкретно токинайзер, чтобы он выделял строки.
Держу в курсе.
Аноним 27/11/22 Вск 15:47:48 842174 260
>>842167
В чём проблема взять готовый?
Алсо, я не представляю себе, как ты умудрился писать парсер без постоянной проверки тестового файла. Если у тебя в тестовом файле строки в качестве ID сцены, то твой парсер должен был эпично зафейлиться, написав в консоль или куда ты там выводишь ошибки - "ошибка при чтении файла". Это же база. Как можно написать парсер и ни разу не протестировать его на данных?
Аноним 27/11/22 Вск 16:05:07 842177 261
>>842174
> я не представляю себе, как ты умудрился писать парсер без постоянной проверки тестового файла
Я ж писал на тестах. На реальных данных я его ещё ни разу не запускал.
Аноним 27/11/22 Вск 16:05:54 842178 262
>>842174
> В чём проблема взять готовый?
Недостаточная степень ебли.
Аноним 28/11/22 Пнд 22:58:10 842349 263
>>841849
>"Stack more layers". Почитай "Bitter Lesson" Ричарда Саттона, хорошая статья об этом.
Я прочитал эту статью. Твоя проблема в том, что ты неправильно понял посыл этой статьи. Там ничего не сказано о том, что нужно обязательно использовать искусственные нейронные сети, и тем более ничего не сказано про увеличение количества слоёв. Там сказано только, что в конечном итоге лучшими оказываются методы, которые можно масштабировать, а такими методами являются "поиск и обучение".

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

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

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

При этом такой виртуальный мозг должен будет проявлять качества человека даже с минимальным числом слоёв в его нейронках, как проявляют качества человека многие животные, у которых мозг имеет куда меньшую ёмкость, чем у нас, но очень похожую структуру.
Аноним 02/12/22 Птн 15:31:11 842921 264
Аноним 02/12/22 Птн 17:05:41 842952 265
Аноним 03/12/22 Суб 21:32:26 843173 266
image.png 28Кб, 894x220
894x220
image.png 129Кб, 826x1292
826x1292
image.png 95Кб, 1434x502
1434x502
image.png 141Кб, 478x942
478x942
Итак, я сделал парсер условий.
Пик 1 - как это выглядит в редакторе
Пик 2 - как это сохраняется в джисон
Пик 3 - какой из джисона автогенерится код
Пик 4 - как этот код выглядит запущенным
В принципе поддежриваются любые бинарные операции, числовые константы, строковые константы (правда всё хранится как строки, но это другой вопрос), переменные. По мере надобнсти буду допиливать, но пока что глубиной и силой ебли удовлетворён. Спрашивай свои ответы.

inb4 лучше бы цвета интерфейса поменял
Аноним 04/12/22 Вск 02:55:25 843215 267
>>843173
Почему используешь переменные для условий, вместо более продвинутого метода симуляции мира?
Аноним 04/12/22 Вск 07:17:56 843224 268
>>843215
Шта? Нет, я не делаю второй dwarf fortress, или о чем ты?
Аноним 04/12/22 Вск 15:53:31 843276 269
>>843224
> я не делаю второй dwarf fortress
Даже если и не делаешь, по мере расширения игры (= мира) код начнет превращаться в лапшу из if-ов.

Смотри на модель мира в Inform или Gruescript.
Аноним 04/12/22 Вск 16:08:47 843280 270
>>843276
Объясни в двух словах что там такого особенного.
Алсо, у меня будет именно что интерактивная фантастика, книга-игра с конченым числом вариантов прохождения.
Аноним 05/12/22 Пнд 02:14:35 843326 271
>>843280
> Объясни в двух словах что там такого особенного.
Предсказуемая объектная модель.

Если есть сундук и его можно открыть, а в нём есть какие-то ранломно сгенерированные предметы, без объектной модели никак не обойтись, особенно если сундуков может быть рандомное количество в комнате.

> Алсо, у меня будет именно что интерактивная фантастика, книга-игра с конченым числом вариантов прохождения.
Тогда там переменнные кроме как для score или еще каких stats не нужны.
Иначе повторюсь, будет каша и недочеты в логике.
Аноним 05/12/22 Пнд 15:29:10 843376 272
>>843215 >>843276 >>843326
Анон, успокойся, есть два класса текстовых игр:

1. Книги-игры. Это натурально КНИГИ, в которых читатель может выбрать, в каком направлении ему играть. Физическая книга-игра имеет страницы с такими надписями:
>Шёл-шёл наш герой, и вдруг - на дороге камень, а от камня две дороги - налево и направо.
>1. Герой пошёл по левой дороге (перейдите на страницу №20)
>2. Герой пошёл по правой дороге (перейдите на страницу №24)
>3. Герой решил развернуться обратно (перейдите на страницу №36)
Также физическая книга может быть стилизована под компьютер с бумажными "кнопками", которые являются по сути закладками на определённые страницы, которые видно только с определённых других страниц. Да, с точки зрения программиста - это кучка if-else.

2. Текстовые симуляторы. Это сложные системы, в которых визуализация внутреннего состояния происходит через описание текстом, а не через вывод графических изображений. В таких играх контент может генерироваться процедурно, может быть инвентарь и разные GUI-ишные фичи. Сделать такую игру в виде физической книги невозможно, если не заставлять игрока держать в памяти кучу параметров, бросать кубик и прочее подобное (настолки).

Так вот большинству достаточно сделать книгу-игру из пункта 1, не ударяясь в реалистичную симуляцию мира из пункта 2 с процедурной генерацией шмоток в сундуках и монстров в комнатах процедурного подземелья. Вся проблема этого треда в том, что выкладывающий свои заготовки анон не конкретизирует, что именно он планирует сделать. Но разделять тред на два бесполезно, потому что у нас и так 1.5 любителя подобных игр на весь раздел.

Можете считать игры из пункта 1 вариантом визуальной новеллы без визуала, но выгонять их в /ruvn/ бесполезно, потому что там любители ВИЗУАЛЬНЫХ новелл и вообще раздел у них дохлый.
Аноним 05/12/22 Пнд 16:52:55 843389 273
image.png 1356Кб, 780x1000
780x1000
>>843376
Двачую адеквата. У меня скорее 1, но с состояниями. Никоторые действия будут менять эти состояния, а потом это будет влиять на доступные действия в других сценах. Что-то такое было в моей любимой "Подземельня чёрного замка". Но там по очевидным причинам не могло быть много состояний (там бло наличи заклинаний, инвентарь, статы персонажа), а я могу много. Аналогично у меня будет инвентарь, тоже наличие и качество каждого предмета будет состоянием.
> с точки зрения программиста - это кучка if-else
С точки зрения плохо программиста, пофиксил тебя. Я-то хороший программист. Если интересно расскажу как у меня организована объектная модель, а вы меня обоссыте.

>>843276
> Inform
Я таки почитал пдэфку у них на сайте. Ну как прочитал, пробежался глазами. Нет, слишком конкретно. Как напирмер в этой модели комнат организовать воспоминания героя? "Вы вышли из воспоминания_1 и вошли в воспоминание_2"? Или диалоги? Или какие-то сцены (кат-сцены), не связанные с перемещением по комнатам. Хотя может я и невнимательно читал.
Аноним 05/12/22 Пнд 18:28:42 843409 274
>>843389
>>с точки зрения программиста - это кучка if-else
>С точки зрения плохо программиста
Но ведь в книгах-играх действительно тривиальная логика:
ЕСЛИ ты выбрал вариант Xi, ТОГДА переходишь на страницу Xip.
Конечно, ты можешь обмазать это ООП или ещё чем, но сути это не меняет.
Аноним 05/12/22 Пнд 19:57:18 843416 275
>>843409
Плохой погромист:

showScene(1)
val action1 = requestAction()
if(action1 == "a"){
showScene(2)
val action2 = requestAction()
if(action2 == "a"){
...
}else{
...
}
}else if(action1 == "b"){
showScene(3)
...
}else{
showScene(4)
...
}

Хороший погромист:

val state = initState()
while(state.isAlive){
val scene = getScene(state.sceneId)
val action = requestAction(state, scene)
action.process(state)
}
Аноним 05/12/22 Пнд 22:23:47 843433 276
>>843416
Плохой программист фокусируется на конкретном коде.
Хороший программист мыслит абстракциями, а не кодом.

Для самых маленьких, это:
>while not book.end:
>_ show_page(book.page.text)
>_ var action := ask_user(book.page.actions)
>_ book.page = action.page
То самое "если... то... если... то... если... то..." в огромном количестве. Да, тут нет ни одной команды "if". Но концептуально это огромное количество "если... то...". И я даже могу доказать это примером. Все эти "если... то..." записаны в той книге, которая грузится из файла book_name.json:
>[..., {
>"page": 123,
>"text": "текст на странице",
>"actions": [ { "text": "действие 1", "page": 124, }, { "text": "действие 2", "page": 125, } ],
>}, ...]
Разве ты не видишь тут "если... то..."? Вот же оно, прямо здесь - в данных.

Программа без "если... то..." - это программа без развилок. Программа без развилок всегда даёт один и тот же ответ: print(2 + 2), без каких-либо вариантов. Если у тебя калькулятор print(X + Y), то он уже не без развилок, только "если... то..." ты вводишь извне, с клавиатуры, выбирая два числа (X и Y) и получая соответствующий ответ, зависящий от ввода.

Для примера, нейросети - это КОЛОССАЛЬНЫЕ "если... то...", там каждый нейрон больше напоминает switch/case на стероидах, чем простой if/else. Да, в программе, которая симулирует нейросеть, может быть ни одной команды "if", но данные нейросети - это невероятно сильно разветвлённая структура, ветви которой могут в процессе обучения очень сильно изменяться. Органический мозг ещё более разветвлённая система, т.е. там "если... то..." на порядки больше. Если кто-то говорит, что у ИИ не должно быть "если... то..." - он либо плохой программист, либо его мозг сродни музыкальной шкатулке, т.е. глупее калькулятора, не то что ИИ.
Аноним 05/12/22 Пнд 22:49:36 843437 277
>>843416
Но ты это, не расстраивайся. Со временем дойдёшь до моего уровня.

Этапы развития программиста:
1. Первые попытки написать код, который сработает без ошибок.
2. Понимание, что код писать нужно так, чтобы человек мог его понять.
3. Понимание, что код ещё нужно расширять, исправлять, "поддерживать".
4. Понимание, что код - лишь малая часть одной из реализаций "системы".
5. ??? (выше 4 я пока не продвинулся, крыша и без того уже протекает)

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

Наверное, этому всему есть более точные термины. Я всего лишь самоучка-любитель.
Аноним 06/12/22 Втр 08:12:20 843460 278
>>843433
>>843437
Я сначала хотел подискутировать с тобой за разные функции активации нейронов и архитектуры сетей, но после
> Но ты это, не расстраивайся. Со временем дойдёшь до моего уровня.
я только спрошу о причине твоей попаболи.
Аноним 06/12/22 Втр 09:14:25 843462 279
>>843433
> Для примера, нейросети - это КОЛОССАЛЬНЫЕ "если... то..."
Вот только там никаких if нету. If - дорогая операция, там используется математическое суммирование, которое, естественно, транслируется в байт-код. Всякие пайтоны это всего лишь API.
Аноним 06/12/22 Втр 09:59:07 843465 280
image.png 4Кб, 240x120
240x120
image.png 6Кб, 226x112
226x112
image.png 8Кб, 240x120
240x120
Как же у меня бомбит с двачных манек, которые сами не понимают о чём говорят. Пик 1 - нейрон который и правда будет как if-then. Пик 2 - можно условно назвать if-then при некоторых значениях. Пик 3 - ну совсем не if-then. Любая может быть6 главное чтобы производная хорошо бралась, но даже это не обызательно. Говорить что нейронка тожественная большому количеству условий можно в той же степени, что и о любой компьютерной системе. Ведь количество состояний пусть и велико (очень велико, одних положений курсора на экране 3072 × 1920 = 5898240), но конечно, правда? Значит можно выразить через соотвествующие количество условий.
Нейронки почему так взлетели? Потому что они оперируют нечёткой логикой, то есть есть множество состояний между условными 0 и 1.
И вообще апеляция к НЕЙРОНКАМ это детектор пориджа, который датасатанизма не нюхал. Кроме нейронок есть ещё множество других моделей. И вообще самый буст метрик даёт подготовка и обработка данных и выделение признаков. А выбор модели это внезапно менее важная задача. Но пориджу с нейронкой межушного ганглия этого не понять.
А кроме слоёв с нейронами есть и ещё более интеерсные слои, свёрточные функции например.
К if-then всё свели, пиздец просто. Увидели картинку с ПЕРЦЕПТРОНОМ и пошли срать на двачах.
Аноним 06/12/22 Втр 10:36:11 843472 281
1670312171365.jpg 59Кб, 1080x880
1080x880
>>843465
> Пик 1 - нейрон который и правда будет как if-then.
Даже так не будет. Линейная функция активации у перцептрона (пик 1) - булева функция (x => x >= 0 && 1 || 0), там нет if.

Но в целом ты прав.
Аноним 06/12/22 Втр 11:34:42 843485 282
>>843465
>Пик 3 - ну совсем не if-then.
If cond but not cond2
Аноним 06/12/22 Втр 12:17:35 843491 283
>>741998 (OP)
Рефанднул 4 игру кста. Думал там будет реиграбельность и генерация, а там очевидно какой-то сюжет жестко прописанный.
Аноним 06/12/22 Втр 12:51:41 843502 284
Аноним 07/12/22 Срд 13:37:28 843704 285
>>843389
> этой модели комнат организовать воспоминания героя?
А чем условное воспоминание отличается от реальной локации с точки зрения движка? Никак.

Игрок пишет "пройти через дверь", движок пишет, что ГГ видит игрушечный вертолетик, и перемещает ГГ в комнату-флешбек.
Аноним 07/12/22 Срд 13:53:00 843706 286
>>841914
> Даже если у тебя симуляция мира, в каждой конкретной локации с каждым конкретным набором предметов и персонажей может быть ограниченное множество действий.
Неограниченное же. С помощью человеческих частей тела можно делать неограниченное количество действий.

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

И это только одна комната. А теперь представь, что перед тобой средневековый город.

Ни одному разработчику и жизни не хватит, чтобы написать ТАК много правил обработки комманд.
Аноним 07/12/22 Срд 15:55:37 843736 287
>>843706
Шизик, у тебя то непрерывная диффиренцируемая функция декомпозируется до конечного числа логических условий, то из конечного числа элементов получается бесконечное количество сочетаний. Ты либо определись, либо выпей свои таблетки.
Аноним 07/12/22 Срд 21:27:40 843809 288
>>843736
> конечного числа логических условий
Угу, а теперь напиши движок который будет обрабывать команду say.
Аноним 07/12/22 Срд 22:08:57 843833 289
>>843809
Могу обработать своим движком твой клюв.
Аноним 07/12/22 Срд 22:23:06 843840 290
>>843833
Быстро ты слился.
Аноним 07/12/22 Срд 23:03:19 843845 291
>>843840
Прямо тебе в шизоклюв.
Аноним 13/12/22 Втр 19:52:00 844528 292
Аноним 14/12/22 Срд 11:10:31 844581 293
>>844528
много букоф почти без кортинок в буквелле
Аноним 15/12/22 Чтв 04:51:53 844742 294
>>844528
Меньше картинок (можно вообще без картинок), и можно вводить команды, а не выбирать из трех вариантов.
Аноним 15/12/22 Чтв 20:31:04 844880 295
>>843502
А теперь на русском
Аноним 16/12/22 Птн 18:42:15 844986 296
Screenshot20221[...].png 148Кб, 1080x2280
1080x2280
Screenshot20221[...].png 147Кб, 1080x2280
1080x2280
Аноним 16/12/22 Птн 20:20:13 844990 297
>>844880
Проще говоря, stateless IF'ки. Включи переводчик и переведи, хуль.
Аноним 23/12/22 Птн 10:23:22 845966 298
image.png 248Кб, 1390x1400
1390x1400
Прикрутил marmaid-js к редактору. Олсо, в основном сценарии (который я пока не показываю) уже несколько десятков сцен. А дела у тебя, ифач?
23/12/22 Птн 15:52:07 846028 299
>>844990
За IF'ил тебе за cheeks, check it out.
Аноним 03/01/23 Втр 02:57:58 847847 300
Screenshot2023-[...].jpg 425Кб, 1080x2400
1080x2400
Сделал какое-никакое, но шифрование ресурсов. Теперь, если кому-то не похуй, смогу выкладывать сборки для закрытого тестирования.
Аноним 10/01/23 Втр 23:40:43 849416 301
Бамп
Аноним 11/01/23 Срд 00:04:43 849424 302
Как программировать состояние мира не особо заморачиваясь? Есть какие-нибудь лайвхаки?
Аноним 11/01/23 Срд 08:25:54 849455 303
>>849424
>состояние мира
>лайвхаки
1. Декомпозиция.
2. Разработка снизу вверх.
3. ??? //фикс багов
4. Эмерджентность!
Аноним 11/01/23 Срд 09:38:00 849460 304
image.png 187Кб, 1310x904
1310x904
image.png 227Кб, 1344x1034
1344x1034
Аноним 11/01/23 Срд 10:02:59 849465 305
>>849460
Напиши ему, что имеются в виду текстовые игры.
Аноним 11/01/23 Срд 10:07:22 849467 306
image.png 207Кб, 1346x974
1346x974
Аноним 11/01/23 Срд 10:33:26 849473 307
>>849467
А менее бесполезные советы ИИ давать может?
Аноним 11/01/23 Срд 10:35:54 849474 308
>>849473
Попробуй задавать более конкретные вопросы.
Аноним 11/01/23 Срд 10:37:55 849475 309
>>849474
Окей, как сконструировать систему управления состоянием мира, какие методики используются, и так далее. Естественно в контексте текстовых игр.
Аноним 11/01/23 Срд 10:45:56 849477 310
>>849475
Ну ты и душнила. Смотря что у тебя за мир, насколько детализированный.
У меня например заведено тупо несколько переменных. И затем некоторые сцены и некоторые действия появляются и исчезают в зависимости от этих переменных. Вот я выше кидал пример >>843173 действие "Взять ключ" становится видимым если соответствующая переменная равна нулю, то есть ключа нет. То есть мир описан конечным множеством состояний.
Но такой подход не подойдёт если ты захочешь чтобы ключ можно было положить в любом месте или воткнуть в любое отверстие. Но в моей задаче этого и не требуется.
Кстати может мне как-то назвать свой движок? Уже написано очень много кода, а названия всё ещё нет.
Аноним 11/01/23 Срд 10:49:37 849478 311
>>849477
> Смотря что у тебя за мир, насколько детализированный.
Желательно открытый, процедурно сгенерированный мир.
Аноним 11/01/23 Срд 10:58:30 849480 312
>>849478
Тогда мой подход тебе не подойдёт. Как ты представляешь игровой процесс в своей игре?
Аноним 11/01/23 Срд 11:03:10 849481 313
>>849480
Главная задача - выжить как можно дольше. А так - иди куда хочешь, делай что хочешь.
Аноним 11/01/23 Срд 11:09:32 849482 314
>>849481
Подробнее опиши.
Аноним 11/01/23 Срд 11:10:12 849483 315
>>849482
Чего подробней, если это только концепт.
Аноним 11/01/23 Срд 11:17:17 849485 316
>>849481
>>849483
> Главная задача - выжить как можно дольше. А так - иди куда хочешь, делай что хочешь.
> Главная задача
Как игрок об этом узнаёт? Какие есть второстепенные задачи? Как о них узнаёт?
> выжить
От чего можно умереть?
> как можно дольше
Как измеряется время?
> иди куда хочешь
Как игрок взаимодействует с персонажем и миром? Как укзаывает куда идти? Куда вообще можно пойти, чем ограничено передвижение?
> делай что хочешь
Какие действия и над чем возможны? Как игрок совершает эти действия? Как результаты действия влияют на персонажа и на мир?
Вот ответишь на эти вопросы - возможно это будет КОНЦЕПТ. А пока что это только пук.
Аноним 11/01/23 Срд 11:33:13 849487 317
>>849485
> От чего можно умереть?
От чего угодно. Тебя могут пристрелить где-то, ты можешь утонуть в болоте, или на твою повозку могут напасть волки.

> Как измеряется время?
В днях.

> Как игрок взаимодействует с персонажем и миром?
Путем ввода комманд через клавиатуру или через мышь.

> Куда вообще можно пойти, чем ограничено передвижение?
Передвижение ничем не ограничено, локации генерируются в реальном времени.

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

> Какие действия
Чем больше, тем лучше.

> и над чем возможны?
Так как локации полностью процедурные, то вообще с каждым предметом в локации.

> Как игрок совершает эти действия?
В мире игры - физически, используя части тела.

> Как результаты действия влияют на персонажа и на мир?
Зависит от собственно симуляции, т.е к самому изначально заданному вопросу. В этом и заключается сабж.
Аноним 11/01/23 Срд 11:48:34 849490 318
>>849487
Ты опять пишешь общие фразы. Пока не будет конкретики я не буду тебе отвечать.
Аноним 11/01/23 Срд 11:52:21 849491 319
>>849490
На данный момент интересны только системы симуляции.
Аноним 12/01/23 Чтв 04:11:29 849728 320
>>849491
Анон, ты почему мой пост >>849455 проигнорировал?

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

Или ты хочешь, чтобы тебе на твои абстрактные, самые общие вопросы дали конкретный список действий с примерами готовым кодом, чтобы ты скопировал себе и сразу начал играть в игру?

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

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

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

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

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

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

Более технические детали зависят от выбранного тобой инструментария. Если не планируешь графику, то бери что угодно и начинай кодить.
Аноним 12/01/23 Чтв 10:05:48 849748 321
>>849728
>весь мир игры представляет собой граф
пиздец, 2023 год
Аноним 12/01/23 Чтв 11:33:30 849758 322
>>849748
Конечно же ничего лучше ты не предложишь.
Аноним 12/01/23 Чтв 11:58:21 849761 323
>>849728
Твой пост - вода. Речь идёт о методиках симуляции мира. Ты хотя бы конечные автоматы, или марковские процессы в пример привел, инфоцыган.
Аноним 12/01/23 Чтв 14:26:51 849799 324
> Ребят, как летательный аппарат?
> Тебе какой? Самолёт, вертолёт, воздушный шар.
> Мне чтобы летал и чтобы им управлять с помощью управления
> Подробнее
> Чтобы летал по воздуху
> Начни с изучения физики
> 2023 @ физика
> Твой пост вода
Аноним 12/01/23 Чтв 15:04:30 849806 325
>>849799
Не виляй, тебе уже сказали, что речь идет о методиках симуляции.
Аноним 12/01/23 Чтв 15:21:42 849810 326
>>849806
> методиках симуляции.
Нео, залогинься. Можно быть тебе интересна не симуляция, а генерация?
Просто симуляция это подражание. Есть столько способов СИМКЛИРОВАТЬ реальные процессы на компьютере, начиная от математических моделей процесмов и заканчивая устройствами для стимуляции, что или нахуй с такими вопросами.
Аноним 12/01/23 Чтв 15:38:47 849814 327
>>849761
>марковские процессы
>бросаем монетку, идем или влево или вправо, получаем рандомное блуждание
Мда. Одну воду на другую поменял.
Аноним 14/01/23 Суб 14:15:14 850320 328
Привет. Всем похуй, но я продолжаю.
Итак, моя джисонина выросла до 2,5к строк. Теперь я понимаю насколько я правильно сделал что написал редактор. Без этого я бы зарылся в таком большом файле.
Олсо хотел завести новый акк в гугл плей, оплатил местной картой, теперь они требуют армянский документ. А у меня только российские. Не знаю как быть.
А ещё я теперь буду подписаться лес.

лес
Аноним 14/01/23 Суб 22:50:59 850582 329
image.png 106Кб, 1584x528
1584x528
image.png 11Кб, 408x190
408x190
image.png 7Кб, 318x76
318x76
Мда уж у меня кодогенерация конечно. Надо было вводить типы данных. А джисонина тем временем уже 3,1к строк на 103 сцены. И это ещё толком сюжет не раскрыт.

лес
Аноним 17/01/23 Втр 23:22:48 851659 330
146 сцен, 4,2к строк в джисонине. Сегодня выложил сборку в гп для внутреннего тестирования, отправил другану. Ещё пара десятков сцен и подключу художника (очень надеюсь на это). А ещё я сделал автотест для генерации файлов с текстами прохождений. Эти файлы потом пригодятся для вычитки и редактирования.

лес
Аноним 18/01/23 Срд 00:10:38 851674 331
>>851659
Все, бросай уже проект, никто в такие игры не играет
Аноним 18/01/23 Срд 06:52:05 851716 332
Screenshot2023-[...].jpg 492Кб, 1080x2400
1080x2400
Аноним 18/01/23 Срд 13:47:45 851767 333
>>851716
а как они раскручиваются?
Аноним 18/01/23 Срд 16:37:09 851828 334
>>851767
Вагую что в основном органически. Во вторую очередь наверное тематические сообщества. А тем более сейчас для Русостана монетизация всё, так что только органический рост. Я думаю через месяц-другой я сам выложусь в общий доступ, если меня не депортируют обратно и не застявят рыть окопы.
Один квест (Рассвет) вообще представлен в Стиме, а в ГП это скорее дополнение.
Кстати я уверен что автор Рассвета сидит итт или хотя бы на абучане. Я прошёл всё что было под андроид и оценил двачерские шуточки.

лес
Аноним 19/01/23 Чтв 20:24:46 852271 335
>>851828
> если меня не депортируют обратно и не застявят рыть окопы
От души желаю тебе, братишка, депортации и окопов. Потом охуенные квесты напишешь, после такого-то экспириенса.
Аноним 19/01/23 Чтв 20:38:57 852277 336
>>852271
Из другого мира
трупов
Аноним 19/01/23 Чтв 20:42:48 852279 337
>>852277
Лучшие книги были написаны ветеранами.
Аноним 19/01/23 Чтв 21:37:05 852291 338
>>852271
Присоединяюсь к пожеланиям!
Аноним 19/01/23 Чтв 21:54:28 852297 339
>>852271
>>852291
От души, анончики. Но есть опасность лишиться рук, тогда останется либо хуем, либо ногами писать тексты.

лес
Аноним 19/01/23 Чтв 22:45:35 852314 340
image.png 91Кб, 1648x448
1648x448
Я запилил поиск недостижимых сцен. Оказалось довольно много таких, иногда забывал написать переход, иногда просто что-то писал как заметку и не связывал с основным графом. Сколько раз давал себе обещание не кодить поздно ночью, но никак не могу остановиться.

лес
Аноним 20/01/23 Птн 09:34:43 852404 341
>>852314
> поиск недостижимых сцен. Оказалось довольно много таких
Да и хуй с ними
OP 22/01/23 Вск 02:00:17 852795 342
Снимок экрана о[...].png 83Кб, 1359x631
1359x631
Оживлю тред.
Начал делать игру про фентезийный бордель на Gruescript.
Аноним 22/01/23 Вск 07:32:28 852803 343
>>852795
> Gruescript.
А как и где будешь её публиковать?
OP 22/01/23 Вск 09:07:22 852808 344
>>852803
На itch.io

Если не забью, конечно же.
Аноним 22/01/23 Вск 09:17:52 852810 345
>>852808
Как там вообще, пользуются популярностью текстовые игры?
Почему выбрал именно Gruescript?
OP 22/01/23 Вск 16:06:14 852893 346
>>852810
> Gruescript
Нравится объектная модель, возможность локализации на русский , простота ЯП, ну и для игрока кнопки тыкать более интуитивно, чем команды писать.
OP 22/01/23 Вск 16:08:14 852894 347
>>852810
> Как там вообще, пользуются популярностью текстовые игры?
Точно не знаю. Но как хостинг игры платформа хорошая (впрочем у меня есть и свой VPS, могу хостить игру на нём).
Аноним 24/01/23 Втр 20:28:35 853521 348
image.png 456Кб, 3052x1286
3052x1286
Ух бля! Как думаете, что это?

лес
Аноним 24/01/23 Втр 21:09:53 853545 349
>>853521
>Ух бля! Как думаете, что это?
>пёс
Проебывание времени на какую-то хуйню
Аноним 24/01/23 Втр 21:21:38 853550 350
image.png 925Кб, 811x743
811x743
>>853545
ты чё пёс я геймдевелопер
Аноним 27/01/23 Птн 21:19:30 854491 351
Я же говорил что у меня квест компилируется гредлом? Так вот, я разбил свой огромный джисон (уже под 10к строк!) на много маленьких и один индексый. И гредловая таска перестала работать. Сколько не запускаю, всё одно и то же. Оказывается она кеширует по входным параметрам. Помню так же dvc работал ололо. Короче я отключил кешрование и всё заработало. А если бы не так то пришлось бы в индексном файле добавлять хеши или версии, чтобы он изменялся при каждом изменении каждого файла.

А ещё я добавил поддержку картинок и списался с художник-тян, она обещала нарисовать мне иллюстраций. Надеюсь всё получится.

держу в курсе, ваш лес
Аноним 28/01/23 Суб 00:03:02 854515 352
>>741998 (OP)
>разработку интерактивных историй.
Самое бесперспективное направление игростроя, пустая трата времени, остановись сейчас, чтобы еще больше не проебаться
OP 28/01/23 Суб 01:33:35 854528 353
>>854515
Игры делают для души, а не ради денег.
Аноним 28/01/23 Суб 08:25:55 854539 354
>>854528
А можно делать и для души и для денег
Аноним 28/01/23 Суб 20:12:06 854694 355
Аноним 02/02/23 Чтв 21:57:56 856065 356
image.png 2492Кб, 1618x1618
1618x1618
У меня уже 273 сцены и готова первая иллюстрация! Сколько строк в джисонинах я уже даже не считаю.
А знаете что меня привлекает в этом деле? Часто, идя по улице, я спрашиваю себя, что там в этих домах? Как там живут люди, и люди ли там живут? Вот бы залезть на ту крышу, спуститься в подвал, перелезть через перила. И тут же начинаю фантазировать что там и как.
И вот у меня наконец-то есть инструмент чтобы закрепить свои фантазии. Любой подвал, любая крыша, было бы только время записать! Хоспади, как же круто.

на фото - мой город, любитель таких крыш и подвалов

лес
Аноним 02/02/23 Чтв 23:22:11 856085 357
buitengebieden-[...].mp4 3714Кб, 720x1280, 00:00:18
720x1280
>>856065
>что там в этих домах? Как там живут люди
Так же как и все. Недавно иду на остановку, стоит тралик, мимо бежит женщина лет 55 с двумя детьми на этот троллейбус, одета бедно, выглядит как пидараха. Видно, что у нее ноги больные, медленно двигается. Меня обгоняют и она запыхиваясь на бегу говорит детям - всё, сейчас помру, назовите в честь меня троллейбус. - Вот думаю, так пренебрежительно относишься к людям, а у нее чувство юмора есть, может человек хороший с глубоким внутренним миром. Перед самым траликом она еще и упала немножко
Аноним 03/02/23 Птн 09:20:19 856201 358
>>856085
Это не чю, это типичная пидорашкинская манипуляция детьми. Без цели, просто по привычке напоминает о своей смерти чтобы поддерживать нервозность в детях.
Ох сейчас умру, ах сейчас помру, как же не бомбит от них! Эти хабалки до 80 изи живут, когда их мужья уже в 60 всё.
Аноним 04/02/23 Суб 08:07:08 856971 359
>бредогенератор
Даун не разобрался с настройками и несет чушь. Этот тред не имеет смысла, NovelAI даёт просто безграничные возможности для отыгрыша.
Аноним 04/02/23 Суб 12:37:26 857011 360
>>856971
> Этот тред не имеет смысла,
нет ты
Аноним 06/02/23 Пнд 18:22:57 857862 361
Аноны, а есть какой-нибудь алгоритм, который сам бы настраивал работу с симуляцией мира, тысячими взаимосвязей объектов и вот это всё?
Аноним 06/02/23 Пнд 18:36:29 857866 362
>>857862
Ты опять выходишь на связь?
Аноним 06/02/23 Пнд 18:54:17 857867 363
>>857866
Я серьезно спрашиваю. Было бы заебато иметь что-то систему, которая работает с состоянием мира, а автору нужно лишь писать текст. Алгоритмы с подкреплением в теории могут это обеспечить, но это весьма сложные системы.
Аноним 06/02/23 Пнд 19:11:09 857869 364
>>857862
Конечно.
for (o1 in objects):
for (o2 in objects):
if (o1 is something and o2 is something): do_something
else: ....
Аноним 06/02/23 Пнд 19:39:13 857874 365
>>857869
Это явно не будет работать.

Просто если так подумать, бессмысленно заниматься state hell самостоятельно. Комбинаторный взрыв выходит. А вумный компьютер способен и миллионы связей просчитывать и веса им расставлять.
Аноним 06/02/23 Пнд 20:23:51 857887 366
>>857874
Не очень понял причем тут state hell. Если ты про то, что он "сам" посчитает какой-то пайплайн, в каком порядке считать связи... Я в прошлом году угорел по SAT/SMT солверам, но и они не панацея, комбинаторный взрыв сложно обмануть. Смотрел Дениса Юричева, читал книжки.
В нейронках и генетических не разбираюсь совсем, никогда ими не занимался.
Хз нужен ли сложный алгоритм? Вон игра Жизнь, полтора простейших правила, а комбинации получаются сложные. Как и в жизни, просто атомы летают по довольно простым правилам, а получается химия, молекулы всякие. Например потоки жидкостей/газов реально не посчитать. Да и вообще, я у себя пытаюсь склеивать такие объекты в один "объем газа", а там уже работают просто статистические методы. Вот нам же не надо знать скорость каждой молекулы газа, мы можем работать всего с единичными значениями температуры, давления, плотности.
Аноним 06/02/23 Пнд 20:26:32 857889 367
>>857887
> SAT/SMT солверам
Поподробней. И как их можно применить в IF.
Аноним 10/02/23 Птн 18:13:00 858966 368
>>857889
Я не понимаю какие задачи стоят в IF. (Для меня IF это что-то из 80-х, где автор просто ручками прописал все действия на сцене или над объектом - то есть я бы делал через ООП).
С помощью SAT можно решить задачку Эйнштейна (которая, в красном доме живет Элвис, Боря живет в доме слева от Элвиса). Еще используют в пакетных менеджерах для разрешения зависимостей. Вот и подумалось, что может быть это можно приспособить для автоматического упорядочивания кто с кем взаимодействует.
Аноним 13/02/23 Пнд 20:53:16 860736 369
image.png 171Кб, 548x1060
548x1060
image.png 198Кб, 564x1032
564x1032
Плотненько держу тебя в курсе, анончик джан!
Внутри приложения я сделал экран отладки чтобы можно было вручную установить значение каждой переменной. А для сцен я даже сделал список сцен с понятными именами чтобы легко переключаться.
Всего сейчас у меня 346 сцен, 32 переменные и 1 иллюстрация.

лес
Аноним 16/02/23 Чтв 19:05:44 861577 370
>>851659
>146 сцен, 4,2к строк в джисонине.
Звучит как оверинжиниринг.
Аноним 16/02/23 Чтв 19:10:22 861579 371
>>861577
Это претти джисон, там скобочки, переносы строк и тп.

лес
Аноним 16/02/23 Чтв 20:53:28 861606 372
>>861579
>претти джисон
Это пробовал? https://hjson.github.io/

>>852314
>не связывал с основным графом
Пробовал визуализировать граф сцен? SVG?

>>856065
>Как там живут люди, и люди ли там живут? Вот бы залезть на ту крышу, спуститься в подвал, перелезть через перила. И тут же начинаю фантазировать что там и как.
>И вот у меня наконец-то есть инструмент чтобы закрепить свои фантазии. Любой подвал, любая крыша, было бы только время записать!
Но... ты же текстовую игру делаешь?

>>857862
>алгоритм, который сам бы настраивал работу с симуляцией мира, тысячими взаимосвязей объектов
При чём тут алгоритм? Ты сначала объекты создай. Вот когда определишься, что у тебя за объекты, тогда и "симуляцию мира" сделать сможешь.

>>849761
>Речь идёт о методиках симуляции мира.
Садишься за комп и пишешь код, вот и вся методика, если обсуждать тему на твоём уровне абстракции.

>конечные автоматы
Конечные автоматы - это инструмент решения задач. Опиши сначала задачу, а потом уже будешь выбирать инструменты для её решения.

Нет, "симуляция мира" - это не задача. Ты сначала придумай какой-нибудь мир, потом придумай, что в этом мире есть и кто в этом мире живёт, придумай, какие события в этом мире могут происходить и какие действия могут совершать его жители, какие свойства могут иметь предметы и так далее. Потом запрограммируй среду, предметы в этой среде и жителей этой среды. Запрограммируй процессы, протекающие в среде над предметами и жителями, и поведение жителей. Запусти все процессы на выполнение, и внезапно ты обнаружишь, что у тебя происходит так называемая "симуляция мира". Каких-то специфических алгоритмов в общем случае для этого не нужно; алгоритмы могут потребоваться для оптимизации слишком большого мира, т.к. даже в текстовой игре ждать несколько минут следующей порции текста игроку будет неприятно.
Аноним 16/02/23 Чтв 21:06:44 861610 373
>>861606
> Это пробовал? https://hjson.github.io/
Нет, впервые вижу. Сейчас мельком посмотрел, не вижу как мне это поможет. Олсо, размер джисона не является для меня значительной проблемой на текущем этапе.

> Пробовал визуализировать граф сцен? SVG?
Да, я заюзал https://github.com/mermaid-js/mermaid-live-editor Посмотри выше по треду, я выкладывал пару скринов.

> Но... ты же текстовую игру делаешь?
Да, что не так?

лес
Аноним 16/02/23 Чтв 23:53:49 861662 374
>>861610
>как мне это поможет
Я подумал, раз ты хвастаешься числом строк, то ты этот файл вручную набиваешь... Потом заметил, что у тебя свой редактор и теперь не понимаю, зачем ты жсоном хвастался, раз не вручную пишешь его.

>mermaid-js
Интересная штука, я как раз мучаюсь составлением диаграмм для проектирования игры и не мог найти удобного инструмента. Спасибо.

>Да, что не так?
Сам я предпочитаю визуальные игры, особенно 3D, и твой текст напомнил мне мемное "...чтоб в каждый дом заходить можно было". В 3D или даже 2D игре ты можешь зайти в дом и своими глазами увидеть, что в нём находится, но в текстовой игре ты только читаешь описание "ты зашёл в прихожую и видишь: шкаф, сапоги, ваза, дверь в комнату", а картинку должен сам представить. Так вот, если игрока в визуальную игру можно понять, то что такого в текстовом описании очередной квартиры? Ты же можешь и без игры навоображать себе кучу планировок квартир и домов.

Вообще, это в каком-то роде близко мне. Я тоже в числе прочих попыток сделать игру пробовал делать текстовые игры, даже реализовал минимальную бродилку по комнатам, но забросил. Как-то не впечатляет, голый текст просто не затягивает меня, а сил в такую игру нужно вложить много. Нет фана - нет мотивации продолжать. Мой основной проект - 3D, и в нём я могу/хочу создать нечто отдалённо подобное фотографии из твоего поста >>856065, т.е. домики, крыши и блуждание по ним и вокруг них. Конечно, я не добьюсь фотореализма и не стремлюсь к нему, но так ли он нужен, этот фотореализм? Зато можно погрузиться в перемещение по локациям, даже если они и выглядят просто и грубо, но они всё равно кажутся настоящими, в каком-то смысле живыми, или, скорее, оживающими перед твоими глазами. Естественно, 3D делать сложно, я это понимаю, но эмоции от наблюдения за всем этим на экране компенсируют затраты. А пофантазировать я могу и так, без компьютера и каких-либо описаний...

Ну, не важно, я понимаю, что это очень похоже на спор "книга или фильм" (текстовая игра ≈ интерактивная книга, а визуальная игра ≈ интерактивный фильм), тут просто восприятие или вкусы у людей принципиально разные. Я просто удивился, что мысли похожие, а результаты - в том числе игры - такие разные.
Аноним 17/02/23 Птн 10:35:57 861791 375
>>861662
Количество строк я писал чтобы отслеживать прогресс. Ну хоть какая-то числовая метрика чтобы понимать в каком темпе я работаю. Впрочем сейчас я всё равно разбил джисонину на несколько мелких, уже лень считать строки.

> что такого в текстовом описании очередной квартиры?
Разумеется не следует делать текстовую игру в духе "перед вами развилка, пойдёте на лево или на право". Ну то есть такие сцены могу быть, но должны быть сведены к минимуму. В текстовой игре имхо должны описываться более крупные действия, типа "вы блуждаете по лесу", а не "обойти дерево справа или слева".

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

Хороший пример был в одной текстовой игре про зомбиапокалипсис. Там можно было обыскивать многоэтажки на предмет хабара и за это тебе выпадали рандомные предметы и даже рандомные события. Например тебя могла застать ночь, или зомби могли блокировать выход и тп. Огромное разнообразие, но при этом без шизы "поверните налево-направо".

> Мой основной проект - 3D
А чё как, дай посмотреть.
Аноним 17/02/23 Птн 19:09:58 861940 376
mermaid-diagram.png 6Кб, 400x169
400x169
Вид из окна с д[...].jpg 72Кб, 960x600
960x600
>mermaid-js
Какая-то фигня без задач. Начал накидывать схему классов для игры, но оно постоянно перекидывает блоки с места на место, рисует кривые линии абы как, рандомно перемещает всё и т.д. Если у тебя сколько-нибудь сложный проект, это будет месиво из линий, в котором после каждого изменения хрен что найдёшь из-за автоматического перемещения блоков. Самое главное: на графическом представлении нет никакой навигации, это просто картинка. Нельзя, например, скрывать ветки или переходить с блока на блок стрелочками клавиатуры. Т.е. если получилась огромная схема, придётся мышкой возиться и глазами бегать, чтобы что-то найти. Короче, для меня это выглядит неюзабельным, т.к. я хотел вообще весь проект на одну схему уложить и иметь способ навигации по ней. Наверное, нужно просто разбить всё на несколько схем... Но пока что из всех вариантов мне Freeplane больше нравится, удобная навигация хоткеями и нет хаотичной перестановки.

>>861791
>В текстовой игре имхо должны описываться более крупные действия, типа "вы блуждаете по лесу", а не "обойти дерево справа или слева".
Зависит от игры. Если игра больше про повествование, то ты прав, будет лучше описывать длинные сцены как будто это интерактивная книга с редкими развилками. Если же игра больше про геймплей, то лучше делать сухие описания коротких сцен и действий, чтобы игроку не приходилось читать лишнюю воду на каждом шагу. Это вроде как два противоположных направления в жанре текстовых игр.

>Разумеется делать это я не буду.
Почему? Если применить процедурную генерацию, то можно сделать целый город, в котором можно будет зайти куда угодно и подействовать на любой предмет или жителя, и изменения будут сохраняться и взаимодействовать друг с другом. Я задумывал именно что-то такое, процедурное, чтобы была максимальная свобода без сценарных рельс, но пришёл к выводу, что, выбирая между текст/2D/3D, мне больше подходит 3D, даже если оно будет примитивным.

>Огромное разнообразие, но при этом без шизы "поверните налево-направо".
Почему шиза-то? Если игра подробно описывает, скажем, жизнь в доме, ты хочешь иметь возможность пройти, например, с кухни в прихожую и из прихожей в спальню, и взаимодействовать со всеми предметами и жителями данных помещений, и чтобы результат всех твоих действий сохранялся и влиял на дальнейшие события. А иначе зачем в такое играть? Без глубокого интерактива (управления персонажем - куда он идёт и что делает) это просто книга с развилками получается. Вернее, другое направление в жанре, которое ближе к книгам, чем к играм.

>А чё как, дай посмотреть.
Смотреть особо не на что, не так давно вообще начал практически с нуля мир переделывать. Скриншот с середины прошлого лета: процедурная планировка города с процедурными домами. Модели и текстуры чисто для тестов. В оконных проёмах думаю сделать непрозрачные стёкла, скрывающие интерьер, но интерьер (интерактивный) отображается, если игрок заходит внутрь дома. Т.е. в идеале хочется бесшовный мир с интерьерами везде, где они могут быть, даже если в них нет особого смысла (заброшенные дома и т.п.). И, конечно, множество NPC, которые в этом городе будут жить (по тестам, как минимум сотню движок должен тянуть на моём компьютере, но можно будет оптимизировать сильнее).

Недавно пришёл к выводу, что мой подход к генерации мира тупиковый, и поэтому решил сделать внутриигровой редактор мира (долго объяснять). Общая планировка города/мира для игрока от первого лица не так уж важна, а вот локально хотелось бы иметь более плотную детализацию (и разнообразие). Геймплейно игра планируется ближе всего к ГТА, т.е. экшн-эдвенчур песочница в городе с жителями и машинками. Понимаю, что идея слишком обширна (типичная кирилльская "убийца ГТА"), но я никуда не тороплюсь.

Чему я удивился, так это тому, что мой проект лучше всего описывается твоими словами здесь: >>856065
>А знаете что меня привлекает в этом деле? Часто, идя по улице, я спрашиваю себя, что там в этих домах? Как там живут люди, и люди ли там живут? Вот бы залезть на ту крышу, спуститься в подвал, перелезть через перила. И тут же начинаю фантазировать что там и как.
>И вот у меня наконец-то есть инструмент чтобы закрепить свои фантазии. Любой подвал, любая крыша...
Только до играбельной версии ещё далеко (если не считать играбельной езду вокруг пустых кубов по пустым дорогам, хотя меня даже это впечатляет).

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

Также, одной из важных фич я задумываю диалоги с персонажами, так что моя игра чуть ближе к текстовым, чем может показаться на первый взгляд. Я уже примерно накидал текстовый чат и тестировал "диалог", по задумке оно должно быть как чат в ММО игре, только с сильно ограниченным радиусом "слышимости" и полностью оффлайн, без внешних сервисов (никаких зумерских API к облачным нейронкам, они фу-фу-фу, объяснять долго). Думал добавить отдельное меню для диалога, но не хочу блокировать управление персонажем/транспортом, поэтому чат - самое оптимальное решение. Не питаю особых надежд, но как минимум попытаться стоит.

Собственно, я думал, что можно сделать базовую версию игры совсем без графики, только условные локации и персонажи, чтобы вести с ними диалоги или какие-то текстовые взаимодействия. Но потом понял, что мне всё-таки ближе графика, чем текст, даже если эта графика сама по себе не будет сложной (главное чтобы был объём, ибо бегать по 2D плоскости не хочется).
Аноним 17/02/23 Птн 22:12:01 862017 377
image.png 209Кб, 588x1050
588x1050
image.png 239Кб, 574x1064
574x1064
image.png 318Кб, 3064x1038
3064x1038
В моём текстовом квесте можно слушать анекдоты по радио, пока едешь в машине. А что можно делать в твоём текстовом квесте, анон?

лес
Аноним 17/02/23 Птн 22:19:58 862018 378
>>861940
> 2 пик
Выглядит годно! Там в каждый дом прям можно зайти? Сколько всего домов, сколько помещений в каждом доме? Сразу всё держишь в памяти или подгружаешь?

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

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

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

> даже если эта графика сама по себе не будет сложной
Я вспомнил ещё пример unturned или как там. Тоже простая графика, но офигенный геймплей. Хотя понятно это совсем другой жанр.
Аноним 21/02/23 Втр 18:56:33 863874 379
image.png 182Кб, 1042x1498
1042x1498
Раскрасил граф сцен потому что иначе уже не разобраться. Зелёный - готовые, жёлтый - тудушки, без цвета - какие-то непонятные.

лес, колорист от бога
Аноним 21/02/23 Втр 20:51:41 863983 380
>>861791
>числовая метрика чтобы понимать в каком темпе я работаю
Я думаю, для текстовых игр главной метрикой является количество слов или символов литературного текста (без учёта пробелов, спецсимволов, меток, вставок кода и т.д.). Ты ведь, по сути, делаешь интерактивную литературу, игрок будет всё время что-то читать. Количество сцен не показатель: они могут содержать разное количество текста и вообще могут генерироваться процедурно. Количество строк в JSON вообще смешно, т.к. оно зависит от форматирования, а на одной строке у тебя может умещаться очень длинный абзац или всего одно слово. Но при этом количество слов хорошо описывает объём текста в игре, даже если игра с процедурной генерацией текста, потому что от количества слов зависит не только общий объём текста в игре, но и разнообразие генерируемых сцен, то есть чем больше слов, тем лучше.

>>862017
Ты только в эмуляторе тестируешь? На твоём бы месте я тестировал преимущественно на реальном устройстве, если ты ориентируешься на мобилки. Другие ощущения и всё такое, понимаешь. Особенно напрягает, что у тебя кнопки прижаты к тексту - они будут прыгать где-то наверху современной длинной лопаты, это дико неудобно, но из-за эмулятора ты этого косяка не замечаешь, привычно кликая мышкой.

>слушать анекдоты по радио, пока едешь в машине
Немного странное оформление, глядя на скриншот не видно ничего, кроме радио и анекдотов. А если игрок отвлечётся от игры на время и потом вернётся? Он уже не помнит, что персонаж едет в машине, а игра об этом ничего не говорит. Да и невозможность сделать что-то кроме прослушивания радио выглядит как пытка (связали и заставляют слушать). Одно дело, когда передача по радио рассказывает основной сюжет игры, а у тебя это выглядит как забавная фича без цели - ну, как всякие декоративные предметы на столах в 3D шутерах, с которыми можно взаимодействовать, но не нужно.

>>863874
А почему обрезки фраз? Это ты специально режешь для визуализации, оно так обрезано в JSON или это какое-то ограничение софта визуализации?

>>862018
>>Если применить процедурную генерацию
>имхо в тексте это будет выглядеть тупо
Всё зависит от игры и её целей. Опять же, если игра рассказывает историю с развилками - это одно, а если игра - и не игра вовсе, а песочница с игрушками - то другое. Не вижу ничего странного в существовании чисто текстовых песочниц, не ставящих перед игроком цели и не дающие никаких конкретных сюжетных рельс. Текст - это способ визуализации игрового мира и событий.

Кстати, как думаешь, слепые часто играют в текстовые игры? Стал бы ты как-то адаптировать игру для них, чтобы им было удобнее/проще? С одной стороны, часть описаний они просто не могут представить (если слепы с рождения), но с другой, для полноценного игрового процесса им нужен только TTS сервис, который сейчас везде встроен. В отличие от графических игр текстовые, в теории, лучше всего доступны для слепых (не считая аудио-игр, которых всего в мире, наверное, 1.5 штуки, и то на мёртвых консольных платформах). Но практическая доступность зависит от того, что ты используешь для вывода текста на экран, потому что TTS сервисы не всегда оснащены распознаванием текста (обычно они читают только тот текст, что выводится средствами ОС), а также от того, как устроен твой GUI (в идеале тоже должен быть построен средствами ОС).

>Выглядит годно!
>Вот то что ты показал на скришоте выглядит классно.
Спасибо за добрые слова, но сам я не вижу чего-то особенного в своих поделках... Часто в голове всё выглядит очень интересно, а на практике получается вот такой грубый/детский примитив, и дальше мотивация стремительно снижается. Хуже всего, когда вижу чужие игры, которые в сотни раз лучше того, что я могу сделать сам, неизбежно возникают мысли: "такого я никогда не достигну" или "для такого уровня очень много тяжёлой работы, которую я не потяну". Хотя сейчас результаты намного лучше, чем мои попытки в 2012~2019, но это в основном заслуга готового движка.

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

Количество "домов" разное накидывал, были карты размером больше 5х5 км, но такой масштаб требует чанковой системы... которую я тоже реализовал, и тоже, скорее всего, буду переделывать. Уже не первый раз)

>Сразу всё держишь в памяти или подгружаешь?
Т.к. системы сохранения в том прототипе нет и вся карта генерируется каждый раз заново, никаких подгрузок там нет. Вообще, много думал об этом: т.к. игра про симуляцию жизни - для работы NPC нужна хотя бы частичная информация обо всём городе сразу (где какие дома и куда ведут дороги), иначе они не смогут перемещаться "за кадром". Так что выгружать из памяти я могу только часть графики и физику, и по этой же причине я сразу отказался от "бесконечного" мира. Но поскольку в прототипе ничего толком нет, я выгрузкой из памяти не занимался.

>Доведи хотя бы до состояния чтобы выложить версию для анона. Я б побегал там, серьёзно.
Не могу ничего обещать)

>Я вспомнил ещё пример unturned или как там. Тоже простая графика, но офигенный геймплей. Хотя понятно это совсем другой жанр.
Да, я играл в него, в разные версии. Это одна из игр, которые меня вдохновили и мотивировали в своё время, хотя стиль её графики мне не нравится. И я даже думаю, что сделаю свою игру полностью бесплатной, чтобы как и в Unturned люди могли свободно играть, даже если не имеют возможности платить. И в перспективе опенсурс, чтобы игра имела возможность жить без меня, а то очень обидно, когда игры умирают без возможности продолжить разработку силами заинтересованных игроков. Но перед этим нужно сделать что-то достойное)
Аноним 22/02/23 Срд 08:31:16 864216 381
>>863983
> главной метрикой является количество слов или символов
Годно. Очевидная мысль, но мне почему-то в голову не приходила. Благодарю.


> Ты только в эмуляторе тестируешь?
Там можно поскролить предыдущую историю. Кнопки всегда внизу текста. На скриншотах я специально скрыл предыдущие сцены. В целом хз, посмотрим какие будут отзовы на зкарытом тестировании.

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

> Не могу ничего обещать)
Ну лан, что поделаешь.

> неизбежно возникают мысли
Я так или иначе начинал писать текстовые игры уже много лет как, текущую штуку я начал писать (придумывать) в январе 2020. Но всерьёз начал писать только этой осенью, спасибо сами знаете кому что я переехал в Хаястан, у меня появилось много времени и новых впечателний. А ещё спасибо художнице которая со мной рабоатает, ей работы меня прям мотивируют. Мне многие говорили мол зачем тебе в 2к23 живой жудожник, юзай нейронки. Но от нейронки нет отдачи, нет чувства совместной работы, она совсем не мотивирует, она только делает. А сейчас я вернулся в РФ, задел у меня уже большой, надеюсь я не остановлюсь.
Аноним 22/02/23 Срд 16:11:01 864490 382
бля весь тред изобретаете велосипеды, все уже давно придумали решения ВСЕХ вопросов, кроме парсера ру яз
Аноним 22/02/23 Срд 23:55:39 864775 383
>>864492
>ррряяя текстовые игры нинужны яскозал
Зачем ты в этот тред зашёл?

>>864490
>весь тред изобретаете велосипеды
Так-то это самое весёлое в геймдеве...

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


Хммм, интересно, а чатбот - это текстовая игра?
Где грань между чатботом и текстовой игрой?
Аноним 23/02/23 Чтв 00:46:15 864795 384
>>864791
>наполнение главнее технической части
От технической части зависит удобство и скорость наполнения, а от этого зависит, сколько своей графомании ты сможешь запихнуть в игру.
Аноним 23/02/23 Чтв 04:31:04 864824 385
>>864796
> твой сценарий
У текстовой игры необязательно должен быть сценарий.
Аноним 24/02/23 Птн 17:47:27 865606 386
image.png 18Кб, 676x148
676x148
Третьего дня, по совету проверенного камрада, пересчитал печатные символы в своём сценарии. Получилось 65548 символов или 36 страниц А4 если по 1800 символов на странице. Я даже удивлён что так много. Но вроде нигде не нашёл ошибки. Это только текст, который может увидеть игрок, без управляющих конструкций, разметки и тд и тп.

лес
Аноним 25/02/23 Суб 01:06:30 865822 387
>>865606
>65548
Неожиданно близко к 2 в 16 степени, максимальному значению двух байт: 65536. Совпадение, наверное.

Молодец.

>Я даже удивлён что так много.
В среднем 186 символов на сцену, это что-то среднее между старыми твитами (140) и новыми (280). Не так уж и много, меня больше количество сцен удивляет - их ведь не только написать нужно, но и связать.

Не знаю, зачем тебе в листах А4, я бы на твоём месте считал число строк консоли, по 80 (819) или по 120 (546) символов на строке.

Когда поиграть можно будет?
Аноним 25/02/23 Суб 10:08:01 865879 388
>>865822
Спасибо.
> Неожиданно близко к 2 в 16 степени, максимальному значению двух байт
Меня тоже это насторожило. Но я честно искал ошибку, пересчитывал несколькими способами, вроде всё так.
> Не знаю, зачем тебе в листах А4
Я раньше писал рассказы и повести, мне так привычнее оценивать.
> число строк консоли,
Лол.
> Когда поиграть можно будет?
Закрытое тестирование я планирую начать в течении недели-двух. Если хочешь порыться принять участие, напиши на ForestNarrativesStudio@gmail.com
Если нет то где-то через месяц будет открытое тестирование, ссылку выложу здесь.
Аноним 25/02/23 Суб 11:17:11 865897 389
>>865822
> их ведь не только написать нужно, но и связать
А тут спасибо моему редактору.
Я заметил что у меня получается два типа глав: главы-повествовательния и главы-действия.

Обычно процесс написания повествовательной главый выглядит так. Я пишу основную ветку почти как обычный текст, с минимумом разметки, только отмечаю где должны быть ветвления; Затем возвращаюсь к сцене, где должно быть ветвление и пишу другую ветку. И так далее.
Если что-то забыл, то редактор мне показывает где незаконченные ветвления.
так же у меня есть система тегов, можно ответить тегами TODO или DRAFT места где я что-то не дописал.
После этого я расставляю переменные, юзаю переменные из предыдущих глав и тп. Напирмер, если он уже видел что-то в предыдущей галве, то увидев в этой реакция будет чуть иная.
Сложность внезапно оказалась чтобы свести эти ветки в одну, но тут на помощь приходит визуальное представление дерева.

А вот с главами-действия всё интереснее, для каждой я придумываю свой механизм. Например для главы с радио я завёл две переменных: сколько времени прошло и текущая частота. После каждого прослушивания время инкрементится. Каждая частота - это отдельная сцена, которая выводит разные тексты в зависимости от времени. Таким образом если первая станция играет ABCD, а вторая EFGH, то мы можем послушать AFGH или EFCD или AFCH и так далее. Прямо как жизни не получится полностью послушать сначала одно, потом другое. Надеюсь ты понял о чём я.
Для других сцен я придумывал другие прикольные решения, но всё в рамках моего движка, пока что ни одного костыля не было использовоано.
Аноним 05/03/23 Вск 01:45:25 868639 390
Снимок экрана о[...].png 56Кб, 1359x631
1359x631
Ахуеть тред тонет.

Ладно, вот еще одна разработка.

Успешность действия определяется не состоянием мира, а броском кубика. Вдохновился системой из одной настолки.

Из особенностей:
- Дайс игрока (1d6) и дайс мира (1d10)

- У игрока есть навыки: холод, нрав, сталь, тень и ум.
Навыки дают прибавку к броску кубика игрока.
К примеру: действие "сильно ударить" будет использовать модификатор стали.
Навыки можно будет прокачивать.

- Полностью процедурный текст.

- Повышающаяся сложность.
У дайса мира тоже есть бонус - сложность, которая будет будет увеличиваться через н-ое количество пройденных локаций.
Аноним 05/03/23 Вск 04:20:33 868655 391
>>865879
>мне так привычнее оценивать.
петух графоманский.
оцениваю в КОЛИЧЕСТВЕ ЗНАКОВ ПЛЕЙН ТЕКСТ.
ИДИ НАХУЙ ЧМО.
Аноним 05/03/23 Вск 07:24:06 868660 392
>>868639
> пик
От любви до ненависти один дэ десять.
Аноним 05/03/23 Вск 12:38:22 868690 393
>>868655
Причина тряски?
У меня уже 43 страницы текста и версия 0.11. Скоро начну закрытое тестирование.
лес
Аноним 06/03/23 Пнд 17:53:11 868923 394
Аноним 10/03/23 Птн 23:37:12 869669 395
IMG202303102114[...].png 3160Кб, 1736x1736
1736x1736
Как вам главное меню?
лес
Аноним 10/03/23 Птн 23:44:32 869672 396
>>869669
Вдохновлялся дыркой в экране или блоком камер?

немножко трипофобно
Аноним 11/03/23 Суб 00:00:00 869675 397
1531165296856.png 140Кб, 370x340
370x340
Аноним 11/03/23 Суб 08:10:26 869701 398
>>869672
Там сначала были просто текстовые уроки, я решил переделать на иконки чтобы уменьшить площадь под кнопками, а дальше как-то само.

>>869675
Что же ты творишь, содомит!
Аноним 17/03/23 Птн 22:06:02 871024 399
Screenshot20230[...].png 1575Кб, 1080x2340
1080x2340
Screenshot20230[...].png 1688Кб, 1080x2340
1080x2340
Сап, текстач. На этой неделе было закрытое тестирование. Накидали мне за шёку багов, большую часть я пофиксил. Сейчас выложил версию с исправлениями + некоторые фичи, например прогресс посещения сцен в процентах и количество открытых концовок. Если всё будет хорошо в ближайшие дни выложу тут ссылку на открытое тестирование. А ещё я завёл группу в вк и канал в телеге.

Ух как я волнуюсь, пишу это а сердце так и колотиться.

лес
Аноним 20/03/23 Пнд 18:03:13 871507 400
Аноним 29/03/23 Срд 21:16:49 873231 401
Бамп. Не тонем.
Аноним 31/03/23 Птн 08:38:19 873413 402
>>871507
Бро, а PC версии не будет?
ПМ-кун из оружача.
Аноним 31/03/23 Птн 09:19:55 873414 403
>>873413
В обозримом будущем точно не будет. Может быть много позже, не раньше чем через полугода, если будет успех, попробую сделать. Если очень хочется, но нет андроида, можно поставить эмулятор.
Аноним 31/03/23 Птн 11:21:52 873425 404
>>873414
Почему нельзя сконвертировать это за день? Это же мать его просто json.
Аноним 31/03/23 Птн 11:48:05 873428 405
>>873425
Лол нет. Это дело точно не одного дня.
Во-первых там весь юай нативный андроидный. Нужно переписать юай. На чём переписать? JavaFx? Swing? И то и другое мне ещё нужно изучить чтобы переписать. Unity? Я его вообще не знаю, не уверен что он может с явой-котлином работать.
Во-вторых логика отображения там тоже завязана на андроид, всякие ViewModel, LiveData и прочее.
В-третьих сейвы, ачивки, прогресс игры там завязан на андроид.
Логика самой игры да, она отвязана от андроида в той или иной степени. Но гемплей там чисто под мобилку. Редикие картинки и абзацы текста. На десктопе это будет максимум тупо. Возьми например Бесконечно лето, там много разнообразых фонов.
Дальше сами картинки, у меня их тупо мало, недостаточно чтобы был нормальный геймплей (в духе вызуальных новелл) на десктопе.
И последнея дистрибьюция. Я вообще не знаю как распространять десктопную игру. Выложить файл на гугл диск? А как потом обновлять? Как собирать статистику с дектопного приложения? В стим? Вообще не знаю какие там требования.


Сейчас перечитал написанное и понял что основные проблемы это то что у меня нет опыта написания под десктоп (какой фремворк, какой тулинг?) и не понятно что с дистрибьюцией. Если мне кто-то с этим поможет хотя бы советом, то может что-то и получится.

Сам я планировал заюзать kotlin native и следующим шагом сделать версию под айос.
Аноним 31/03/23 Птн 11:54:11 873429 406
>>873425
И кстати там не просто джисон. В нём ещё описаны переменные и операции с ними. Ну то есть если у тебя есть ключ, то в сцене с дверью появится пункт "открыть ключом". Если ты узнал чьё-то имя, то потом будет возможность обратиться к нему по имени. И так далее.
Аноним 13/04/23 Чтв 21:04:31 875547 407
image.png 11Кб, 384x120
384x120
image.png 20Кб, 270x120
270x120
На правах бампа. Я награфоманил ровно 666 сцен. Дело движется к кульминации.
Иллюстарций уже 7, а ещё я нашёл подходящую музыку и договорился с её авторами.

лес
Аноним 13/05/23 Суб 23:48:00 878710 408
Жаль что тред не пользуется популярностью. Я тут похоже один.
Аноним 14/05/23 Вск 00:11:49 878711 409
Аноним 14/05/23 Вск 00:13:20 878712 410
Но похоже создавать игры бесполезно. Компьютерные никогда достигнут величия той же D&D.
Аноним 14/05/23 Вск 08:05:41 878722 411
>>878712
Нейронки могут приблизиться как минимум, у детерминированного подхода шансов нет особых.
Аноним 14/05/23 Вск 08:06:07 878723 412
>>878712
Нейронки могут приблизиться как минимум, у детерминированного подхода шансов нет особых.
Аноним 14/05/23 Вск 09:07:03 878726 413
15331474726890.png 858Кб, 800x600
800x600
image.png 5Кб, 270x120
270x120
>>878712
Похоже это самый тупой пост года в нашем гд, поздравления этому подебителю.
Аноним 14/05/23 Вск 15:56:13 878753 414
>>878726
Есть контраргументы?
Аноним 15/05/23 Пнд 14:49:59 878883 415
>>878710
бро, ты не один, нас как минимум n-1
Я конечно не ИФщик, но вот прям сейчас пилю сижу в меру своей поехавшести текстовый рпг-квест на Instead
Аноним 16/05/23 Втр 04:42:08 878954 416
>>878710
Не один, я захожу раз-два в год.
мимописака с десятком забытых новелл и одной Самой Главной Ненаписанной
Аноним 16/05/23 Втр 17:44:24 879017 417
>>878753
Ну я могу аргументировать.
1. Величие днд слегка преувеличено, среди илитных ролевиков это жвачка сорт оф вкусиочка. Там довольно штампованные сюжеты типа вы познакомились в таверне, потом пошли резать орков, потом дварф упал с обрыва и выкинул 20. Условный шэдоуран поинтереснее.
2. Насколько можно судить по /ai, аноны давно перекатились в ролки с нейросетями, так что компы тут уже возможно достигли такого величия.
мимо
Аноним 16/05/23 Втр 19:48:12 879033 418
>>879017
Пока нейросети тупят сильно, а запустить локально, как правило, возможности нет.
Аноним 21/05/23 Вск 10:32:27 879529 419
image.png 515Кб, 1280x773
1280x773
Аноним 04/06/23 Вск 11:54:16 880618 420
Аноним 04/06/23 Вск 17:08:01 880641 421
>>880618
Ты зачем насилуешь труп, перекатывайся в Twine.
Аноним 24/07/23 Пнд 20:07:02 889303 422
image.png 172Кб, 708x776
708x776
Сап, текстач. Я выложил новую публиную версию своего долгостроя. Ссылка всё та же >>879529
В этой версии довёл до конца две сюжетные ветки. Осталось ещё две или три.

лес
Аноним 24/07/23 Пнд 20:47:24 889321 423
Я только одного не понимаю, зачем нужны специальные движки? Наверняка же на половине захочется сделать какие-то свои фичи, какую-нибудь особую графику вставить или ещё че-нибудь, зачем упираться в эти движки а не делать сразу в юнити или годоте или вообще с нуля?
Аноним 25/07/23 Втр 08:59:31 889400 424
>>889321
Порог вхождения и туллинг, чел. На условном QSP можно сразу сесть и написать игру без особых навыков. Юнити нужно какое-то время осваивать + знание c#, а уже самому написать движок даже аналогичный qsp это дело многих месяцев.
Аноним 25/07/23 Втр 16:15:41 889517 425
Аноним 25/07/23 Втр 16:57:47 889534 426
>>889400
> На условном QSP можно сразу сесть и написать игру без особых навыков.
Хуй ты игру напишешь без особых навыков. Даже на QSP.

Надо уметь программировать, уметь рассуждать с точки зрения игрока, уметь в игровые механики, попытаться предсказать все действия игрока, чтобы не портить погружение.
Аноним 08/08/23 Втр 18:31:45 893367 427
>>889321
потому что эти специализированные движки итак ничего не ограничивают, можно хоть как извращаться, просто есть удобные штуки для очень часто необходимых в каждой игре вещей, но можно ими не пользоваться
есть божественный instead, на котором игры пилятся в одно удовольствие и он гораздо лучше архитектурно продуман, чем даже qsp и другие
Аноним 25/09/23 Пнд 23:54:44 903334 428
Бамп.
Аноним 29/09/23 Птн 12:01:56 904027 429
Еле нашёл ваш тред ребята, хули вы тут спрятались. Надо в название треда добавить "Twine" чтобы никто не пропускал.
Аноним 29/09/23 Птн 14:24:13 904054 430
Черт, как сделать «паззлы» в эроигре? Ну типа, вызов игроку.
Аноним 29/09/23 Птн 15:28:00 904061 431
>>904054
Если про твайн говорим то в ДОЛе, например, это выполнено через менеджмент ресурсов и плохие концовки. Если не хочешь нежелательный исход - делай менеджмент, хочешь облегчить менеджмент - исследуй игру.
Аноним 29/09/23 Птн 15:53:20 904064 432
>>904061
А если без ресурсов и циферок?

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

Интересно было бы пообсуждать сабж.
Аноним 29/09/23 Птн 15:58:09 904065 433
>>904064
Цель подобного вызова, имхо, это сделать игроку неприятно, чтобы цель игры не доставалась ему слишком легко. Можешь сделать джрпг-подобную боевую систему и сделать битвы, можешь сделать какие-нибудь мини игры. Думай об этом как о том, где нужно причинить игроку боль, чтобы усилить удовольствие от получения награды.
Аноним 02/10/23 Пнд 17:27:20 904713 434
>>904027
Надо. Жаль, отдельного твайнотреда нет, я как раз ебу пейсочницу/эрпоге на нём. Хотелось бы с ебиномышленниками поговорить.
Аноним 02/10/23 Пнд 22:35:56 904766 435
>>904713
Обсуждай здесь в более общем треде. Если внезапно появятся десятки единомышленников, тред улетит в бамплимит, вы перекатитесь в отдельный тред. Это база имиджборд, это классика. А так-то можешь создать очередной пустой тред, наподобие тредов по скретчу/снэпу или крайэнджину. И где эти треды теперь? Утонули.
Аноним 03/10/23 Втр 12:06:29 904827 436
>>904766
Так это и так ясно что будет как в меме а опом и его тредом.
Тут сильно не хватает ссылкоты.

Чем тут твайнозависимые занимаются? Что делают? Какие жанры? Форматы истории?

Я сам безыгорный нуфак. Вкатываюсь в сахарный кубик, пытаясь сделать с нуля песочницу/рпг, пока всё норм идёт, привык почти уже к новому инструменту, выезжаю в основном за счёт того что могу немного в жс и намного больше в css, html. Ставку делаю на взаимодействие, гриндан, дроч механический, ни в коем случае, не на нарратив, ибо в нём нихуя не смыслю. Планирую интереса ради попробовать прикрутить мультиплеер(именно ради эксперимента, я не собираюсь его в релизе держать) и я знаю, как сделал бы это уже.
А пока я занят больше продумыванием логики повидения неписей, их генерацией и как реализовать взаимодействие с ними в устраивающем меня объёме и попутно делаю интерфейс, который будет покрывать все нужды.
Аноним 03/10/23 Втр 14:05:44 904849 437
Пока на работе делать нехуй, я попробовал покурить жс, в поисках решения проблемы генерации мира и инвентаря. Решение нашёл.
Аноним 03/10/23 Втр 16:42:50 904868 438
>>904849
Пакеж что получилось
Аноним 03/10/23 Втр 18:05:20 904884 439
>>904868
Я на работе сделал, понял как и стёр. Решение на крайний случай если сахарный кубик не даст мне сделать нормально. Там неполное решение, а лишь конкретная часть, которая я не знал как себя ведёт. Потому что я жс прямо совсем немного знаю.

player = {
items: {
book: {
name: "book",
quantity: 3,
equippable: false,
equipped: false
},
card: {
name: "card",
quantity: 5,
equippable: false,
equipped: false
}
}
}

for (let item in player.items) {
console.log(player.items[item].name + ": " + player.items[item].quantity);
}

console.log(Object.values(player.items)[1].name + ": " + Object.values(player.items)[1].quantity);

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

Как-то так.
Аноним 03/10/23 Втр 19:13:40 904890 440
>>904884
А как планируешь делать сохранения?
Аноним 03/10/23 Втр 23:26:37 904919 441
>>904890

Увидим. Я пока не занимался ими, буду разбираться в кубике, тогда точно решу, а пока у меня лишь абстрактные мысли уровня "сохраню геймстейт, характеристики и позиции персонажей в жсоне". Короче, пока не знаю, как дойду - узнаю. Я вроде кроем глаза видел, но могу и ошибаться, что в доках по сейвам есть инфа какая-то.
Аноним 03/10/23 Втр 23:29:08 904921 442
Я хотел сегодня покодить немного, допилить игру, но, увы, я расчехлился в 23:00, когда уже пора спать собираться мне.

Вы тоже пишите, если есть что-то.
Аноним 03/10/23 Втр 23:31:10 904922 443
>>904890

Сейчас ещё подумал, что, может быть, сделаю одну вещь, которую вообще пока не видел в играх на твайне: при условии наличия файлов сохранения, грузится самый новый, то есть, не нужно загружать сейв.
Аноним 04/10/23 Срд 16:09:01 904996 444
>>904827
Создай в бредаче пробный, потом загони в отдельный на гд.
Аноним 04/10/23 Срд 16:24:37 904999 445
>>904996
Ни в коем случае. Я не хочу чтобы в гд набежали различного вида долбоёбы, которые там обитают. Я знаю, о чём говорю, я сам в б регулярно бываю.
Аноним 04/10/23 Срд 16:26:00 905000 446
>>904999
Глупости говоришь, ладно я сам создам
Аноним 04/10/23 Срд 17:27:50 905009 447
>>905000
Чел. Ты неправ. Не создавай, подумой. Там вся досках в хохлозависимых, инцелах-блэкпильщиках и пидорах. Они нахуй тут не нужны.
Аноним 05/10/23 Чтв 00:02:22 905109 448
Итак, сегодня я дорвался до инвентаря и могу сказать, что это сложнее, чем я сначала думал.

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

https://pastebin.com/U1qbxA59
Аноним 05/10/23 Чтв 00:30:11 905119 449
получилась хуета, надо будет пофиксить.
Аноним 05/10/23 Чтв 08:25:06 905134 450
>>905109
Я тоже долго думал над инвентарём. В итоге надумал несколько подходов

1. Каждое использование каждого предмета описано в коде. Хорошо если предметов мало. Но если их много, можно использовать любой предмет в любом месте или даже комбинировать между собой то сложность квадратичной (каждый из n предметов с каждым это n*n) растёт вплоть до невозможной. Зато можно сделать очень неожиданные взаимодействия.

2. Описать взаимодействие абстракций предметов. Это лучше, например ключ-дверь, осталось проверить тот ли это ключ.

Где описывать взаимодействия тоже несколько вариантов.
1. В коде. Но тогда для каждого нового предмета нужно менять код. Не айс.
2. В файлах сценария (джисон например). Тогда придётся изобретать свой формат (язык), состоящий из атомарных взаимодействий, и их комбинацию описывать в файле сценария.
Аноним 05/10/23 Чтв 08:37:12 905135 451
>>905134
Я к этому моменту нашёл решение и нашёл обходное решение.
Большая часть предметов будет использоваться в 2-3 окнах. Я не буду буквально каждое применение прописывать, я буду прописывать как предмет действует внутри пассаджа инвентаря, который уже будет апдейтит значения в паре с ключами в объекте. А там посмотрим. Предметов будет умеренно много. Я ручками в объекте пропишу их свойства, но эффект будет применяться в инвентаре, да. Для тестов пока соду и энергетик впилил в инветарь, как дойдёт до надеваемого, запилю одежду красные труселя и буду развлекаться.
Аноним 05/10/23 Чтв 08:40:01 905136 452
>>905134
Комбинировать предметы я не стану. В рот пусть ебутся, это не душный квест, это душная гриндилка.
Аноним 05/10/23 Чтв 13:14:36 905182 453
>>904890
> А как планируешь делать сохранения?
Мне нравится способ сохранения, при котором есть ЖСОН-данные в памяти, в которые можно писать и читать при помощи двух методов, принимающих путь/к/элементу/данных/с/названием/элемента и значение элемента.
> T read<T>(str item_path, T default_value)
> int write<T>(str item_path, T value)
например:
> int conversation_with_username_page = read<int>("characters/username/conversations/tier1/active_page", 0) #Данный псевдокод как будто бы получает страницу диалога с неписем, на которой игрок остановился. В случае ошибки, функция вернёт значение по умолчанию из второго аргумента.
> error = write<bool>("locations/street1/characters/bill/mark_for_delete", true) #А вот этот псевдокод установит некоему Биллу маркер удаления, чтобы в следующий раз он не появился на локации "улица1" при её загрузке. В случае ошибки функция вернёт код ошибки. Если всё прошло успешно - вернёт ноль.
Соответственно, если каждый подлежащий сохранению объект, при своём изменении использует функцию записи, то когда нам нужно сохранить игру, у нас уже готовый набор данных в памяти, мы просто берём и выгружаем его в файл, или в отдельную переменную-чекпоинт в памяти, как нужно так и выгружаем.
Ну и разумеется, в вышеуказанных функциях должно реализовать все необходимые блокировки, чтобы, например, нельзя писать, пока идёт сохранение.
Аноним 05/10/23 Чтв 19:51:28 905248 454
>>741998 (OP)
>альтернативных движков
Кто-нибудь на Godot пробовал делать интерактивную историю? GDScript достаточно удобен + есть аддоны.
Аноним 05/10/23 Чтв 23:29:26 905284 455
Кстати, а в чём смысл писать текстовые игры на движках для 2д и 3д игр? Основная платформа для текстовок - html или терминал. Unity, Godot и всё прочее выолядит как большой оверхед не стоящий того.
Аноним 05/10/23 Чтв 23:43:07 905290 456
>>905284
Я вот уже почти год пишу свой движок именно движок где-то месяц или два писал, остальное время сценарий и тулинг для движка
лес
Аноним 06/10/23 Птн 20:29:02 905451 457
>>905248
Неважно насколько удобен скрипт. Само наличие кодинга отпугивает жудожников с писателями. Им подавай но-кодин-энжинс.
Аноним 07/10/23 Суб 11:11:00 905538 458
>>905451
Вот когда в ро сидел и листал тред этот, было как раз ощущение что большая часть контингента как раз пейсаки с художниками, которые боятся кода, как кот воды.

К слову, я обосрался ночью снова в коде, но у меня ещё есть решения и я не отстану от него пока назуй не заебу.
Хотел немного ещё вдобавок с окошками пошаманить но чёт дефолтное решение из учебника на чистом жс/css привело к исчезновению окна, но это решение и более длинное, перепейшу на жкваери, не буду выёбываться на этот раз.
Я хочу очень дохуя свистоперделок прикрутить, чтобы игрок мог менять всплывающие окна и поля, как ему захочется.
Аноним 07/10/23 Суб 11:34:43 905542 459
>>905538
А я вот наоборот, кодер, и боюсь рисования до усрачки. Вкатывался несколько раз, получались палочные человечки уровня древнеегипетской графики, разочаровывался и дропал.
Аноним 08/10/23 Вск 07:08:36 905689 460
Как бороться с одинаковыми репликами у NPC?

Допустим игрок делает действие, NPC на него реагирует репликой.

Затем игрок повторяет это же действие, и видит, что NPC повторяет предыдущую реплику слово в слово.

Есть какие-либо эффективные способы борьбы с этим не прибегая к написанию 1000 реплик для каждого действия?

Это очень бьет по погружению, на самом то деле.
Аноним 08/10/23 Вск 09:35:48 905696 461
>>905689
Опытный манчкин не пожалеет бесцельно проведённого времени и тысячу раз кликнет одно и то же действие, чтобы на тысячу первый раз услышать повтор, прибежать на форумы и сказать всем что вот у тебя в игре тысяча реплик повторяется.

Поэтому не парься и делай по три четыре шесть реплик на действие. Игроку, ориентированному на погружение этого будет достаточно.
Аноним 08/10/23 Вск 10:58:41 905701 462
>>905542
Я не боюсь, у меня тупо лапки. Если пойму как то буду генерить пэйпердоллы неписей.

>>905696
Дадая.

Ну чё, я заебал инветарь. Он работает хоть и неидеально.
Решение к окошкам на жкваери не работает, видать где-то штаны стали коричневыми, но я не заметил и не постирал.
Но в крайнем случае можно и без того что я делал на жкваери.
Тактеперь самое время сгенерировать локации и тысячу тянчек.
Аноним 08/10/23 Вск 12:34:58 905724 463
>>905689
>игрок повторяет это же действие, и видит, что NPC повторяет предыдущую реплику
>очень бьет по погружению
На самом деле нет. Если игра увлекательная, то она погружает в свои условности так, что окружающий мир вообще перестаёшь замечать. А если твоя игра - унылое говно, то хоть миллион реплик напиши, игрок будет недоволен и быстро бросит играть.

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

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

>>905696
>делай по три четыре шесть реплик на действие
Избыточная, бесполезная сложность.

>манчкин
Значение знаешь?
>чтобы на тысячу первый раз услышать повтор, прибежать на форумы и сказать всем что вот у тебя в игре тысяча реплик повторяется
Манчкину плевать на текст, он на числа дрочит. Он будет жаловаться на форуме, что больше не выходит выбить 999 уровень после патча, фиксящего баг.
Аноним 08/10/23 Вск 13:27:18 905731 464
how to draw a w[...].jpg 559Кб, 1920x4200
1920x4200
>>905542
>боюсь рисования до усрачки
>получались палочные человечки
>>905701
>Я не боюсь, у меня тупо лапки.
Рекомендую почитать Andrew Loomis - Fun With a Pencil, он даёт базу самым простым языком, а ещё помогает справиться со страхом:
>ALL THAT YOU NEED TO KNOW, TO START THIS BOOK, IS HOW TO DRAW A CIRCLE. . .
>And it can be as lopsided as the family budget, and still work out.
>Don’t start out with that old gag, “I couldn’t draw a straight line.” Neither can I, freehand. If we need a straight line, we can use a ruler. Now please try it, just for fun.
Скачать pdf без смс и регистрации:
https://archive.org/download/andrewloomiscreative.illustration
Алсо, пикрил 100% корректен: JUST DRAW. Чтобы рисовать хорошо и быстро, нужно очень много рисовать, а техника не столь важна. В какой бы технике вы ни пытались рисовать, для рисунка нужен кропотливый труд. Ускорение работы можно ожидать только когда ваши нейронки в мозгах перестроятся, автоматизируя рутину на подсознательном уровне, но для этого нужно очень много раз повторить эту рутину сознательно. Часть рутины можно переложить на компьютер, но тут нужно смотреть на желаемый уровень контроля над результатом и удобство инструментов.
Аноним 08/10/23 Вск 15:03:08 905748 465
>>905731
Под лапками я имел ввиду что у меня мелкая моторика говна и цнс въёбана.
Аноним 08/10/23 Вск 15:08:55 905750 466
>>905724
К ТЕБЕ ПОДХОДИТ ИГРОК И НАЧИНАЕТ ФЛИРТОВАТЬ
@
"ОТВАЛИ ЧМО"
@
СНОВА ФЛИРТУЕТ
@
"'ОТВАЛИ ЧМО"
@
8 ГРЁБАНЫХ МИНУТ СПУСТЯ
@
"ОТВАЛИ ЧМО"
@
С ЛИЦОМ ЛЯГУШКИ ПОКОРНО ОТВЕЧАЕШЬ НА ПОДКАТЫ, ПОНИМАЯ, ЧТО ТЕБЯ ИСПОЛЬЗУЮТ ТУПО ПОТОМУ ЧТО ГЕЙМДЕВ РЕШИЛ, ЧТО СКИПЫ ВРЕМЕНИ В ИГРЕ НЕ НУЖНЫ
Аноним 08/10/23 Вск 15:36:38 905754 467
>>905724
> Значение знаешь?
> Манчкину плевать на текст, он на числа дрочит.
Именно так. И он будет дрочить реплики, пока точно не выяснит число:
>>905696
> вот у тебя в игре тысяча реплик повторяется
Аноним 08/10/23 Вск 21:06:49 905845 468
>>905689
Хороший вопрос. Я вот какие штуки сделал:

1. Для каждого персонажа есть репутация. Большинство реплик не проходят бесследно для репутации. Если она станет слишком мала, персонаж откажется разговаривать, вообще уйдёт и тп

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

2. Диалоги имеют явное или неявное ограничение по времени. Каждая реплика уменьшает счётчик времени. Когда он доходит до 0, происходит необратимое событие: собеседник уходит, кто-то формированно перрывает диалог и тд и тп

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

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

лес
Аноним 08/10/23 Вск 22:27:28 905852 469
>>905754
В Хонкае это обыграли. Там попадаешь в сон где прощаешься с Химеко, но после разговора она остается, но при попытке поговорить посылает. Но через 10 попыток разговаривается и выдает еще рассказ на 100 строк, после которого игрок плачет как сучка.
https://www.youtube.com/watch?v=VqInDtfkots
Аноним 08/10/23 Вск 22:29:50 905853 470
>>905845
>>905724
Просто я сейчас на Gruescript пишу игру-тамагочи, и там лишь один NPC, но он обязан быть очень проработанным.

Подход как в Dark Souls, где NPC это просто ± статичный объект к которому можно подойти и послушать одну реплику тут не сработает.

Я планирую сделать так:
У NPC есть распорядок действий, что запускаются глобальным событием (к примеру, смена периода суток), и зависят от того, где находится NPC, какое сейчас время, какая на улице погода.

Сами реплики так же зависят от глобальных праметров + внутренне состояние NPC (настроение и т.д).

К примеру, начинается день, NPC проспается.

- Если на момент пробуждения игрок находится рядом с неписью, непись начинает сладкие потягушки.
- Если игрока рядом нет, неписью начинает делать зарядку, оставляя сам момент пробуждения "за кадром".

В такой игре нужно создать эффект, что непись как бы живёт своей жизнью и её действия не зависят напрямую от игрока.
Аноним 08/10/23 Вск 23:00:40 905856 471
>>905853
> Если игрока рядом нет, неписью начинает делать
Но зачем? Если игрока рядом нет, непись не существует, выгружен из памяти. У него есть распорядок ГОАП, хорошо. В отсутствие игрока поблизости, у всех игровых сущностей должен существовать только невизуальный компонент, который по таймеру роллит чем закончились действия по распорядку и как они повлияли на настроение непися, и куда непись после этого предположительно мог пойти. И только в том случае, если этот компонент (менеджер) высчитает, что непись приближается к локации, в которой игрок находится, только тогда происходит загрузка визуального компонента и непись начинает отыгрывать свою роль перед игроком.
Аноним 09/10/23 Пнд 01:08:47 905897 472
>>904890
я передумал. Впизду сохранения. Их не будет, будет лишь возможность продолжить игру и это решение связано с геймдизайном. Легко откинуться перс может лишь в определённый период, после нет. С определённого момента перс сможет перемещаться буквально в любой день. Но эта вещь будет связана именно с достижением определённого момента когда гг станет по уровню как Йог-Сотот: будет знать всё, обо всём и существовать сразу в настоящем, будущем и прошлом, будет всем сразу.
Аноним 09/10/23 Пнд 11:50:36 905946 473
>>905897
Сделай ещё процедурную генерацию карты и квестов, или что там у тебя. И получится каноничный рогалик.
Аноним 10/10/23 Втр 08:28:22 906236 474
>>905946
1. У меня не рогалик.
2. Я уже думал об этом. И я могу сделать, но решил, что хочу ручками прописать карту и локации, как минимум, из-за кнопок петушествий между локами. Их расположение не позволяет генерировать их процедурно. Да и просто желание прописать вручную есть.
Я сейчас больше думаю, как лучше 10к нпс сгенерить в игре так чтобы при сейвах геймстейта(для таймтревелла)/обработке инфы(погнале, щас десять к неписей дружно решат перейти в другую локацию, пойти срать, ебать друг друга в жопы, нет, деспавна не будет, мне нужно чтобы изменения их стат носили естественный характер) и хочу уже в 5 раз переписать инвентарь, я хочу попробовать его иначе сделать.
Насчёт квестов хуй знает, как разве что просто какой-то скелет сюжета вокруг гг(в душе не ебу зачем, а главное, нахуя мне сюжет там, потому что это как клей пва - приклеить, чтобы меньше был шанс заскучать,но только я не оченб понимаю как в условиях гринда я буду скучать).

Между делом накотил пару вещей, чтобы кириллить было удобнее. Вообще, я бы расширил шапку треда в плане твайна добавив полезной ссылкоты. Нам пора думоть о перекате.
Аноним 10/10/23 Втр 10:44:55 906261 475
image.png 78Кб, 1048x690
1048x690
>>906236
> как лучше 10к нпс сгенерить в игре
Внезапно меня посетила идея, может быть тебе поможет. Опиши состояние каждого непися функцией от времени или игрового состояния.

Простейший пример. Если непись всю свою жизнь движется линейно в одномерном пространстве, то его положение можно описать функцией x = x(t) = at + b

Обоищим это и получим что-то типа

data class WorldState(
val t: Int
)

data class NpcState(
val x: Int
)

fun getNpcState(worldState: WorldState): NpcState {
val state = when(worldState.timeOfDay){
MORNING -> утром срём
DAY -> днём жрём
EVENING -> вечером ебём еот опа
NIGHT -> ночью спим
}
return state
}

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

лес
Аноним 10/10/23 Втр 11:08:12 906271 476
>>906261
> вечером ебём еот опа
У меня нет еот. NULL ебать собрались?
Аноним 10/10/23 Втр 11:21:06 906275 477
>>906261
Я думал об этом. Пока идея такова: до расписания(типа твоего по плану) нпс будут петушествовать внутри стран в зависимости от генерирующегося на каждый пук игрока npc[id].locationid который будет math.random характерный для страны. После генерации сверяется с ид локаций и нпс оказывается если выбрасывается true. Потом, как руки дойдут будет расписание с перерывами на посрать в районе локации(ну например у нпс есть ключ bladder, зависимый от времени, при заполнении значения которого на 70%, нпс пиздует искать где посрать). Есть ещё нюанс, что например, ты в ниппонии сидишь, а неписи в америке ходят кокочалочку и качают стамину/стренгу индивидуально, а не слетевшись как негры всем гетто.

>>906271
Нам не привыкать, выебем нулл.
Аноним 10/10/23 Втр 11:22:06 906276 478
>>906275
Null Pointer Exception словите.
Аноним 10/10/23 Втр 11:25:15 906279 479
image.png 23Кб, 411x377
411x377
>>906276
Мы будем предохраняться!

fun ebatEot(eot: Eot?){
if(eot==null){
self.fap()
}else{
eot.ebat(self.ud)
}
}
Аноним 10/10/23 Втр 11:25:47 906281 480
>>906276
try-catch присунем и то в что в catch выебем.
Аноним 10/10/23 Втр 11:28:22 906282 481
>>906279
У тебя self.ud без.sramnoi.

Как дома буду, накидаю полезной твайноссылкоты для шапки.
Аноним 10/10/23 Втр 18:32:54 906380 482
vscode + t3lt.png 134Кб, 1919x1037
1919x1037
Так, настало время ссылкоты.

ОП, в следюущем кате для твайна запили следующую инфу (важный нюанс, я не расписываю все 4 формата историй, а пишу про тот, с которым сам работаю и с которым знаком, если кто-то пишет в другом формате - пишите в тред, что ещё впилить стоит) :

Twine:
SugarCube 2 установка, плюс, плагины:
https://www.motoslave.net/sugarcube/2/

SugarCube 2 доки:
https://www.motoslave.net/sugarcube/2/docs/

Рекоммендуемый редактор кода - VSCode, потому что под него есть расширение T3LT - "Twee 3 Language Tools", который позволяет работать с кодом в VSCode.
Аноним 11/10/23 Срд 16:05:03 906528 483
1697029498438.mp4 1019Кб, 620x720, 00:00:11
620x720
>>906261
> Таким образом нам не нужно будет хранить состояние каждой неписи, достаточно храниь состояние мира, а при подгрузке локации получать состояние каждого нпц.
Годно. Я тут подумал, что можно вообще подойти к вопросу заполнения мира непиями с тозиций ленивого программирования. Изначально существует общее описание мира, события, происходящие в нём, описания уровня "торговая гильдия города N наложила заградительные пошлины на продукцию ферм из города M" и пока игрок не интересуется этим вопросом, никакие персонажи не созданы и не существуют. Но! Имеется подробная схема каких персонажей и с камими графиками GOAP создавать, если игрок забредёт в офис гильдии. В этот момент появятся секретарши, клерки, чиновники, заживут своей жизнью.

Вот только как всё это закодить так, чтобы без глюков.
Аноним 11/10/23 Срд 23:25:47 906655 484
>>906528
> с тозиций ленивого программирования
Я думаю это правильно. И даже больше, когда ты выходишь с локации, неписи перестают существовать, остаётся только состояние мира. Когда возвращаешься - они снова пересчитываются исходя из состояния. Я так понял у тебя будет оче большой мир, могут быть проблемы если не освобождать память.
> как всё это закодить так, чтобы без глюков.
Это чисто ремесло. Один раз кодишь, другой, а на сотый раз уже без компилятора в одном блокноте можешь писать код. Я так понял ты на яваскрипте пишешь, тут я конечно не советчик. А если не котлине то могу что-то подскзаать.
Аноним 12/10/23 Чтв 01:16:10 906661 485
Screenshot20231[...].jpg 528Кб, 1080x1920
1080x1920
>>906655
> у тебя будет
Не знаю, что там у него будет, это вообще мимокрок был.

>>906261 - этот пост был ответом на мой, а мой ответ был здесь >>906275.
Про 10к неписей писал не тот, кому ты ответил.

Потому мне кажется ты путаешь, если я тебя понял правильно.
Аноним 12/10/23 Чтв 02:07:16 906663 486
>>906528
Ну это все клево но есть вопросики
Что же получается люди только в офисе и никуда не выходят? Или даже так, никогда между городами не ездят? Откуда же тогда каждый день такие пробки на выездах в реале
Как глубоко готов ты детализировать, только до челиков? Как насчет органов, клеток, молекул, атомов? Ведь все еще трудности сделать какую-то способность вроде "превращать железо в золото" включая кровь людей...
Аноним 12/10/23 Чтв 08:42:57 906680 487
>>906661
> это вообще мимокрок был
Здесь есть только анон. И я общаюсь только с аноном. Да, так бывает что анон пишет несколько похожих игр, находясь в разных местах.

>>906663
Так появился Dwarf Fortress
Аноним 12/10/23 Чтв 11:36:50 906711 488
>>906680
Короче, аноны треда собираются в одного супер-анона и пилят игорей разных жанров.
Я тебя услышал.
Аноним 12/10/23 Чтв 19:01:25 906797 489
>>906711
> аноны
Ты абсолютно не понимаешь сути. Это не пикабу и не вк, где пользователи могу собраться. Здесь один, единый анон. Ему не нужно собираться, он таким был и таким будет, пока Бибизян платит за хостинг.
Аноним 12/10/23 Чтв 22:35:09 906851 490
>>906680
> Да, так бывает что анон пишет несколько похожих игр, находясь в разных местах.
Респект олдфагу, постигшему суть борд.
>>906655
> Я так понял ты на яваскрипте пишешь
Бэк на расте, фронт на годоте.
> А если не котлине то могу что-то подскзаать
Можешь подсказывать хоть на фортране, я суть улавливаю, а не синтаксис.
Аноним 13/10/23 Птн 02:21:20 906897 491
>>905689
>Допустим игрок делает действие, NPC на него реагирует репликой.
>Затем игрок повторяет это же действие, и видит, что NPC повторяет предыдущую реплику слово в слово.
>Это очень бьет по погружению
>>905853
>пишу игру-тамагочи, и там лишь один NPC, но он обязан быть очень проработанным.
>В такой игре нужно создать эффект, что непись как бы живёт своей жизнью
У виртуального питомца нет "погружения" и такой персонаж не обязан быть "очень проработанным". Игрок прекрасно понимает, что имеет дело не с биологическим животным, а с программой. Её суть заключается в заботе о виртуальном питомце.

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

В общем, я хочу сказать, что виртуальному питомцу совершенно нет необходимости изображать из себя то, чем он не является. Его цель - быть объектом заботы хозяина, выглядеть миленько и вызывать позитивные эмоции у хозяина. Никто не ожидает от него быть человеком, как не ожидают от зелёного питомца каких-то особых достижений. Это было бы странно, "погружаться" в питомца, приписывая ему характеристики, которых у него, очевидно, нет.
Аноним 13/10/23 Птн 04:26:45 906901 492
>>906897
> Всё ради чего?
Имхо там буквально клеточный автомат работающий по правилам природы (физики/химии/ботаники) и владелец ставит себе "игровую" цель не потерять растение, потому что оставленное в дефолтном состоянии в горшке оно погибнет. Реализация требует найти правильную последовательность шагов/действий, по сути алгоритм.
Иными словами, мотивация не в том что "цветок не умер", а в том, что "я не обосрался и не дал ему умереть, смог вырастить".
Аноним 13/10/23 Птн 04:35:18 906902 493
>>906897
Но в целом с твоим посылом я не согласен. Это и делает картонных персонажей.
Это как с экшн играми, где все больше девушек сражается на высоких каблуках, в пышных платьях. Это физически невозможно. И слишком явно становится что это фишка, а не человек. А ведь потом кто-то насмотрится и решит повторить и сломает свою настоящую ногу.

Вообще, я считаю это уже на грани мошенничества. Такие неписи зачастую просто хибоксы. А иногда даже не хитбоксы, а просто хитпоинты. А иногда даже не хитпоинты.
Но при этом их рисуют людьми, подсовывая игроку, который думает что купит игру про людей.
Давайте тогда делать честнее. Если непись ведет себя как доска объявлений, то и не надо рисовать ее бородатым гуманоидом воспроизводящим анимацию открывания рта. А так и надо рисовать доской объявлений. Если непись умеет себя вести только как тренировочное чучело, тои не надо придавать ему человеческие черты, пусть это и будет набитый соломой мешок.
Аноним 13/10/23 Птн 06:17:29 906908 494
67678-burzum-do[...].jpg 189Кб, 1024x884
1024x884
>>741998 (OP)
все кто делают не текстовый квест и не книгу-игру в текстовом формате - официально щизы, хер ли вы тут делаете? зочем все это?
Аноним 13/10/23 Птн 07:32:41 906918 495
>>906908
Ебусь с твайном в попытках реализовать свои хотелки, хули доебался? Иди пиши свою книгу, я тут ебашусь по хардкору, не мешай мне ААА-велосипед писать.
Аноним 25/01/24 Чтв 10:02:51 929573 496
Здорово, гадолиняч, как ваши творения поживают?
заебали умирать тут
Аноним 25/01/24 Чтв 10:42:03 929578 497
>>929573
Никак. Я конечно программист и могу хоть свой движок написать, а вот сценарист и геймдизайнер из меня никакой.
Аноним 25/01/24 Чтв 11:02:40 929579 498
>>929578
Хуёво. А у меня графен понемногу появляется(уровня внок), в процессе прикручивания его вариативности к неписям пока.
Аноним 25/01/24 Чтв 20:27:44 929720 499
>>929579
Показывай епт все равно мы тут точно одни нас никто больше не видит не стесняйся будь как дома че как не родной братанчик
Аноним 25/01/24 Чтв 22:19:16 929749 500
hs.png 1886Кб, 1919x964
1919x964
>>929720
Я бы рад похвастаться, но пока оно не в кондиции, чтобы выёбываться. Пока что сегодня прикрутил неписям функцию смены батиных труханов, расширил фунцию апдейта списка неписей в локе, прикрутил адейт стат и внешности для всех неписей в зависимости от стат их. Это ещё не конец, мне ещё ебать как много прикручивать логики с менеджментом труханов и стат, которые на них вляют. Вот собственно, как оно пока.

upd.: сейчас, пока подрубал игоря, чтобы заскринить, обнаружил, что последняя введённая мной в объект для неписей переменная заруинила всю игру, потому что я по привычке ";" вместо "," в конце строки поставил.

upd. #2: ещё пару вещей в css прописал вдобавок.
Аноним 25/01/24 Чтв 22:22:26 929753 501
>>929720
Сейчас увидел на пикче косяк с css небольшой который со стороны не видно, надо будет поправить.
Аноним 26/01/24 Птн 20:37:14 930136 502
>>929749
Норм, койкацу тема. Размер текста бы побольше
Аноним 27/01/24 Суб 11:08:04 930215 503
>>930136
Поскольку я выкатывать не собираюсь, там будет много инфы и зрение у меня збс, то и шрифт я не хочу увеличивать. Я уже как-то другим людям в твайне пишущем показывал, они про шрифт сказали, потому я в курсе.
Но с чего ты подумал про койкацу? Там буквально ничего нет оттуда.
Аноним 27/01/24 Суб 20:48:59 930368 504
>>930215
А Бля ошибся названием проги, давно не юзал перешёл на художников. Успехов тебе
Аноним 29/01/24 Пнд 08:18:31 930651 505
Аноним 04/02/24 Вск 13:08:14 932435 506
Прикрутил время и дату(не конвенционально принятым в твайне образом через создание виджетов времени и апдейтов типа <<addmins x>>, где х - количество игровых минут, дельта времени, а полностью свою поделку на жс, функцию инициализации времени в игре и апдейта с аргументом, который принимает минимальную единицу времени(минуты) на которую время сместится(сейчас подумал, что лучше перепишу в жва аргумента - время и единица времени, будет шикарно), немного переписал отображение персонажей, накидал ещё ассетов персонажей, понял, что надо ряд ассетов запилить и чуть изменить логику их хранения и подсасывания в игру.
Надо бы ещё апдейты состояния мира прикрутить к апдейтам времени, но это чуть позже. Я хочу сначала неписей допилить до какой-то точки, когда интеракция с ними не начнёт походить на что-то нормальное, а не кринж с болванчиками, пока я не начал локациями обмазываться и пока они не начали разбредаться.
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов