Interactive Fiction (IF) Thread 741998 В конец треда | Веб
Обсуждаем разработку интерактивных историй.

> Что это?


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

> Какие IF бывают?


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

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


ifwiki.ru

> На чём писать?


Парсерные: Inform 6/7, RuTADS
Менюшные: Twine 2

Но есть большое количество и альтернативных движков, и ничего не мешает написать движок самому, благо это не так сложно.
2 742016
>>741998 (OP)

> Обсуждаем разработку интерактивных историй.


Подписываюсь на тред.
За уже три года сидения в этом разделе я пришёл к выводу, что только интерактивки пилить меня и хватит.
мимографоман с сундучком охуительных историй
3 742017
>>742016
Да, тащемта, сейм щит. IF-ки самые простые в плане реализации. Писать текст все умеют, а вот красиво рисовать, делать музыку, вот это всё - нет. IF отлично подойдет скучающему программисту.
4 742019
>>742017
Моя проблема в том, что я настолько обленился, что даже графоманить лень. Просто мечтаю, глядя в потолок. Это пиздец. Совсем скатился.
5 742020
>>741998 (OP)
На них можно хоть сколько-нибудь заработать? Если это не порнуха.
6 742021
>>742019
Сейм щит. Правда, я скорее уперся в теоретическую базу IF. Как создать игру, с полноценным симулированным миром? Вот посмотришь на Game of Life, там буквально насколько правил в основе мира, а зато какое многообразие! Как такого добиться подобного (Simple Rules for Complex Behavior) для IF? Вопрос открытый.
7 742022
>>742020

> На них можно хоть сколько-нибудь заработать?


Ну, если ты начнешь попытаться продать свое поделие, то тебя нахуй пошлют. Никому не хочется покупать кота в мешке.
8 742024
>>742021
Любопытная тема. Предлагаю устроить итт мозговой штурм. Вброшу тезис для затравки. Использовать для симуляции мира систему навроде GOAP. В тексте это всё гораздо проще реализовать, чем во всяких там анимациях моделек.
1620587811257.png67 Кб, 326x202
9 742026
>>742020
>>742022
Главное - реклама, парни. Если грамотно пропиарить, можно продать всё. Даже интерактивную книжку с белыми буквами на чорном фоне. И продаётся же. 10 лет Йоко Таро плохо пропиарил свою ИФку с элементами жрпг. И не продал. А потом хорошо пропиарил вторую часть ИФки (с элементами буллет хелла) и так хорошо пропиарил, что теперь и первая продаётся бойко.
10 742028
>>742024

> GOAP


Вот здесь поподробней. Судя по гуглу, эта концепция создана для NPC? Это хорошо конечно, но это никак не объясняет, каким образом можно создать симуляцию полностью процедурного мира. У меня много опыта по этой теме, поделюсь ими в своих постах.
11 742030
>>742026
Ну, AI Dungeon к примеру хорошо продается, и пиара много. Даже те, кто плохо знаком с IF играли в него.
sage 12 742031
>>742030
Это не ИФ, там текст сам игрок пишет.
# OP 13 742033
>>742031
Это ты верно конечно сказал. GPT настолько часто несет бред, что это уже никакая игра не получается. Но справедливости ради, интерактивная литература может быть и такой, в которой игрок пишет историю, но используя при этом великую силу рандома и процедурную генерецию. Об этой концепции тоже как-нибудь напишу, её плюсы и минусы.
14 742034
>>742028

> эта концепция создана для NPC?


Да. Но я заметил, что любая игровая сущность, будь то НПЦ или, скажем, погода в мире, или миграция стай/стад животных/зомби/самовоспроизводящихся разумных роботов может действовать по заранее расписанному плану с любой нужной тебе степенью сложности и разветвлённости.
15 742036
>>742034
... И комплекс этих игровых сущностей, которые вместе образуют целый мир, тоже может действовать по заранее расписанному тобой глобальному плану.
# OP 16 742037
>>742034
Я тоже заметил, что любой ИИ можно выразить как грубый поиск (брутфорс) решения заданной задачи среди всевозможных действий. То есть можно скрытно всё просчитать не заморачиваясь. Даже если ИМ не знает, как правильно взаимодействовать с предметами, можно всё виртуально переиграть, и выбрать ту стратегию, которая по крайней мере не приводит к смерти.
# OP 17 742039
>>742036
>>742034
Вот только в твоем плане есть один огромных размеров минус. Как бы ты не хотел, у тебя не хватит сил расписывать последствие на каждое действие игрока.
18 742040
>>742037
Ты только что китайскую комнату.
>>742039
И не надо расписывать каждое. Достаточно расписать реакции на 9 действий. 3 негативных, 3 нейтральных, 3 позитивных. Игроку подавать на вход меню с 3-5 вариантами действий, рандомно выбранными из вышеуказанной 9-балльной шкалы. Когда игрок догадается, что его действия не свободны, интерактивка уже к финалу подойдёт и время манибека закончится.
19 742042
>>742040
Вы видите курицу, клюющую зёрнышки. Ваши действия:
1. Убить курицу клюшкой для гольфа (если клюшка есть в инвентаре).
2. Кудахтать по куриному (навык общения с животными).
3. Сочинить стих о курице (навык поэзии).
4. Попытаться поймать курицу (ловкость не менее 20).
5. Идти дальше.
# OP 20 742043
>>742040

> Игроку подавать на вход меню с 3-5


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

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

Почитал тред - на самом деле по прям совсем имитации реальных взаимодействий - тут просто надо сесть и пилить их, но не для конктретных сущностей, а для каких-то свойств сущностей, а потом их навешивать процедурно. Насчёт процедуронсти - погугли как Dwarf Fortress 250 мать его лет истории мира генерирует перед началом игры. Среднестатистической игре любого жанра столько процедурности конечно совем не надо, но можно по аналогии с рогаликами какие-то вещи перенять. По реакции мира и НПС на действия игрока - тут можно опять же через entity component system навесить шаблонные реакции, которых штук 5 и они только на НПС какого-то региона повесятся, где ты что-то сделал. Тебе не надо влиять на весь мир прям и продумывать эффект бабочки, это просто не рационально.
sage 23 742118
инстед и метапарсер ван лав
только нет гуя, сделайте гуй ему
24 742221

>игра


>читать текст в 2021


ебало представили?
25 742222
>>742118

> сделайте


Я???
Сами делайте. А вообще консолька ван лав. Разрабатывай пердачелло под консольку, сам потом мне спасибо скажешь.
26 742224
>>742221
Вполне. Ты видимо не в курсе, о чем в треде пиздели. Вспоминали Нир. Все ебала известны можешь на ютубе посмотреть, когда там посреди сюжета ИФка начинается вместо игоры. И ничо, хавают.
27 742226
>>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 28 742228
>>742226
Русская грамматика это хуйня. Главное иметь под рукой мощные средства для парсинга. К примеру, я использовал в одном своем неоконченном проекте язык пролог, у которого есть встроенные инструмент парсинга - DCG.
29 742229
>>742228

> мощные средства для парсинга


На примерах бы узреть. Гуглить впадлу.
sage 30 742249
>>742222
lucky ook, ты, старый долбоёб? кому нахуй нужна консоль в 2021 году?
>>742229
31 742251
>>742030

>AI Dungeon к примеру хорошо продается


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

Собсно, как >>742033 и сказал:

> GPT настолько часто несет бред, что это уже никакая игра не получается.


Поэтому, естественно, на чистом ГПТ мы далеко не уедем. Что понятно, ибо её оригинальная цель - анализ и генерация текста, а не игрушки.
Но что если совместить его с классической игромеханикой?
Значится, у нас каждый объект в игре имеет атрибуты (характеристики, навыки, трейты, описания и тд), + куча функций определяющих взаимодействие этих объектов.
Соответственно, игрок пишет заявку, нейросетка анализирует заявку, определяет какие объекты, каким образом в заявке взаимодействуют, и выбирает какую функцию из имеющихся выбрать. Вызывает функцию, передав ей участвующие объекты, функция обрабатывает это дело, меняет атрибуты объектов, после чего нейросетка уже на основе заявки, контекста, и изменившихся атрибутов объектов генерирует описание и выводит его игроку.
Я думаю, таким образом можно будет улучшить стабильность и логичность нейросетки, ибо если ты отрубил гоблину ногу, и он получил трейт "безногий" нейросетка не должна внезапно начать описывать, как он быстро от тебя убегает.
Ну и за счёт каких-то фоновых процессов и взаимодействий, игра будет более... игрой и не будет требовать чтобы игрок её за ручку водил.
Ну и из минусов - при такой системе создание сценариев будет гораздо более сложным процессом.
Ну и я хз насчет технической возможности интеграции нейросеток с кодом.
pricing-of-AI-dungeon.jpg33 Кб, 750x383
32 742255
>>742254
Ссылку нашел, а прочитать ридми не осилил. Это старая версия на гпт-2. За нормальную гпт-3 они требуют 30 баксов в месяц
33 742258
Ну не знаю. Вы все щас куда-то не в ту степь завернули.
Мне совершенно не нужен рандомно генерируемый контент. У меня есть конкретные охуительные истории, в которых уже лично мной нагенерировано порядочно авторского контента, сладкого, деревенского, как в деревнях пекли. Соответственно и вариативность мне не нужна, ибо концовка у меня уже совершенно не стесняясь, по диктаторски нагло, цинично задумана одна единственная.
34 742259
>>742258
А где твои игры?
35 742260
>>742258
Пиши книгу тогда.
36 742293
>>742022

> > На них можно хоть сколько-нибудь заработать?


Можно. Месяц назад где-то вышла "Жизнь и страдания сэра Бранте" - и отлично всем зашла. /v ссался в штаны от восторга
37 742350
Как-то я делал внутриигровую консольку. Как в ТЕСачах.
Вместо того, чтобы писать километры 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 38 742444
>>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 39 742452
>>742451

> Главное !cut не заебаться ставить


В CHR вообще нет cut. CHR это прямой логический вывод (forward chaining), в нем cut просто не имеет какого-либо смысла.
# OP 40 742474
>>742472

> Это все равно поиск по дереву.


В CHR факты создаются во время исполнения, в стандартном backtracking из статичных фактов исходит доказательство. В CHR просто не нужен cut, ибо ты контролируешь вывод фактов почти что вручную (через замещение одного факта другим).
41 742533
>>742474
Я не желаю учить пролог.
Лучше и дальше буду сосать ООП. Иди нахуй.
# OP 42 742536
>>742533

> Лучше и дальше буду сосать ООП.


Пиздец, представляю твою боль.
43 743236
Алсо, я сделал небольшой движок, с интересной концепцией геймплея.
https://github.com/ostov-larion/noir
Движок еще нужно доработать (скоро выпущу новую версию), однако DSL движка расширяем, потому если нужны какие-то дополнительные функции, то их можно просто добавить.
44 746438
Так же удобно рассматривать IF-игры как конечные автоматы состояний. Главное не наткнуться комбинаторный взрыв.
45 749393
>>742293

>Жизнь и страдания господина Бранте



После успеха этого сырого дерьма окончательно убедился, что продать можно все что угодно.
46 749410
>>749393
Разве Dear Esther и Stanley Parable вопрос не закрыли?
47 749421
>>749410
В первое не играл, а парабола на мой взгляд совсем не сырой вышла, а даже интересной. Да и просили за нее, помнится, сильно меньше чем за бранте, а усилий вложено очевидно намного больше.
48 749446
>>749421

>В первое не играл


Ыыы. Так никто не играл. Потому что это и не игра была, а просто неинтерактивная говнокнижка.
Но продавалась как игра.
49 749452
>>749446

>неинтерактивная


Да ты тогда охуел ее в один ряд с параболой ставить
50 749462
>>749452
В параболе тоже ходьба, только с разветвлениями. Ну, на ползалупки выше эстер, конечно, да.
По уровню дроча "критиков-инфлюэнсеров" они одинаковы.
51 749469
>>749462
Соре, меня не особо волнует кто сколько дрочит
52 749536
>>749516
В параболе есть хоть какая вариативность, и в самом повествовании и в концовках. В моем понимании это уже нечто большее чем обычный ширпотреб.

>>749518
А вот это скорее симулятор сломанного калькулятора, но это еще ничего, если бы вся вариативность не была в итоге липовой.
53 749542
>>749539
Я про Бранте
54 749544
Присматриваюсь к Twine как к движку для написания/прототипирования разветвленного сюжета. Есть тут пользователи оного, какие подводные камни?

Вижу что выгружать в виде текста он умеет только все разом, как для редактуры, а в остальном вроде normalno
# OP 55 749619
>>749544

> Есть тут пользователи оного


Ну я допустим.

> какие подводные камни?


Никаких. Это прекрасный движок с большими возможностями.
56 749784
>>742251

>использование нейросеток в играх


Искусственная нейросеть - грубая модель биологических нейросетей. Поэтому сама по себе она умеет только выводить в себе некие формулы, связывающие между собой вход и выход. Чтобы научить нейросеть делать какую-то полезную для тебя работу, нужно скормить нейросети миллионы примеров, отмеченных метками "правильно" и "неправильно" (можно обойтись без меток, но с ними проще). К примеру, чтобы обучить нейросеть распознавать котят, нужно вручную отсортировать миллион фото котят и миллион фото без котят. А для обучения AI Dungeon, нейросеть кормили книгами и, возможно, записями интерактивных историй из обычных игр. То есть нейронке потребовалось переживать тонны текста, чтобы научиться генерировать что-то подобное тексту.

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

Преимущество нейронки - вычислив формулы из ограниченного количества примеров, она начинает применять те же формулы на все остальные возможные комбинации входных данных. Но если в твоей игре возможных комбинаций не так уж много, то смысла в нейронке вообще нет, ты примеров сделаешь для неё почти столько же, сколько возможно комбинаций. Пример: есть 2 типа предметов и 2 места для их размещения, следовательно всего 9 вариантов генерации - для нейронки тебе потребуется описать их все, но какой толк в нейронке, если ты уже описал все возможные варианты? Проще уж через Random().
57 749788
>>742444

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


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

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

А удобство написания парсера значения не имеет. Парсер пишется всего один раз, всё остальное время нужно писать саму игру. Кроме того, на мобильных устройствах парсерные игры по определению менее удобны для большинства пользователей, следовательно нужно копать в сторону менюшек.
# OP 58 749794
>>749788

> Возможно, но что на счёт компиляторов/интерпретаторов?


Для веба есть Tau-propog. На десктопе есть SWI-prolog, который кроссплатформенный.

> Интерактивные истории программно настолько просты


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

> В частности, насколько сложно разрабатывать на прологе под андроид/иос?


SWI-пролог есть на андроид, но я не знаком с разработкой под андроид, потому сказать ничего не могу. Однако можно просто прикрутить WebView и запускать Tau-prolog (это самый логичный вариант).

> А удобство написания парсера значения не имеет


Имеет. Нет смысла писать парсер процедурно. Логичней использовать RegExp, или контекстно-свободные или контекстно-зависимые грамматики (в прологе это DCG).

> Кроме того, на мобильных устройствах парсерные игры по определению менее удобны для большинства пользователей


Это факт.
59 749802
>>742021

>Как создать игру, с полноценным симулированным миром?


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

>Вот посмотришь на Game of Life, там буквально насколько правил в основе мира, а зато какое многообразие!


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

>В этой комнате светло.


Или:

>В этой комнате темно.


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

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

...вообще, если вкратце, симуляция мира это:
1. Последовательно перебрать все объекты в мире;
2. Для каждого объекта применить его правила;
3. Вернуться на шаг 1.
Всё остальное зависит от того, какие объекты ты создашь и как ты будешь описывать их текстом, то есть что будет видеть игрок.
59 749802
>>742021

>Как создать игру, с полноценным симулированным миром?


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

>Вот посмотришь на Game of Life, там буквально насколько правил в основе мира, а зато какое многообразие!


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

>В этой комнате светло.


Или:

>В этой комнате темно.


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

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

...вообще, если вкратце, симуляция мира это:
1. Последовательно перебрать все объекты в мире;
2. Для каждого объекта применить его правила;
3. Вернуться на шаг 1.
Всё остальное зависит от того, какие объекты ты создашь и как ты будешь описывать их текстом, то есть что будет видеть игрок.
60 749809
>>749794

>Для веба есть Tau-propog


Ок, ладно. Я думал пролог никому не нужен и остался в прошлом веке)

>Это зависит от мощности симуляции


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

>Как только ты захочешь сделать огромную симуляцию, где можно взаимодействовать с каждым камнем тут могут помочь только встроенные DSL в функциональных или логических языках (Haskell, Prolog, Lisp).


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

>Нет смысла писать парсер процедурно.


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

>Логичней использовать RegExp,


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

>>749803

>А как же они в своих мессенджерах тонны текста высирают?


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

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

>Сделай игру с закосом под мессенджер и станешь миллионером, дарю идею.


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

Кстати, кроме чат-ботов есть игры, которые по скриншотам показывают что-то вроде мессенджера, но с сюжетом. Правда, наверное, там всё-таки менюшки и ограниченная свобода, но не суть - идея давно не нова.
60 749809
>>749794

>Для веба есть Tau-propog


Ок, ладно. Я думал пролог никому не нужен и остался в прошлом веке)

>Это зависит от мощности симуляции


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

>Как только ты захочешь сделать огромную симуляцию, где можно взаимодействовать с каждым камнем тут могут помочь только встроенные DSL в функциональных или логических языках (Haskell, Prolog, Lisp).


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

>Нет смысла писать парсер процедурно.


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

>Логичней использовать RegExp,


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

>>749803

>А как же они в своих мессенджерах тонны текста высирают?


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

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

>Сделай игру с закосом под мессенджер и станешь миллионером, дарю идею.


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

Кстати, кроме чат-ботов есть игры, которые по скриншотам показывают что-то вроде мессенджера, но с сюжетом. Правда, наверное, там всё-таки менюшки и ограниченная свобода, но не суть - идея давно не нова.
16242751295252028845671881820099.jpg47 Кб, 600x1200
# OP 61 749817
>>749803

> с закосом под мессенджер


Уже есть тащемта. Играл похожую игру, как на пикриле. Интерфейс был как у месседжера
62 749820
>>749817
Я думаю, он имеет в виду суть мессенджера (общение с людьми), а не интерфейс. Интерфейс-то сделать легко, сложно сделать ботов, понимающих речь.

>>749811

>голосовой ввод в игре


1. Не всем и не в любой ситуации удобно. Список ситуаций и людей, которым этот способ не подходит, можешь сам составить, проще описать когда и кому это подходит: полностью здоровый не закомплексованный человек, находящийся днём один в тихом собственном жилище. Всем остальным голосовой ввод будет только мешать.
2. Если твоя игра поддерживает стандартную клавиатуру андроида, то голосовой ввод у тебя считай что есть по умолчанию. Кому надо - нажмут специальную клавишу на своей клавиатуре и надиктуют. Шансы того, что одинокий двачер сделает распознавание речи в своей игре лучше, чем сделал гугл... не внушают оптимизма, знаешь ли.
# OP 63 749821
>>749809

> А в чистом функциональном языке симуляция вообще невозможна из-за свойства иммутабельности


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

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

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


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

> Симуляция не имеет отношения к интерактивным историям.


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

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

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

Т. я описываю мир как факты. В ЯП эти факты можно записать в виде списков слов, или в виде строк.
# OP 64 749822
>>749820

> Я думаю, он имеет в виду суть мессенджера (общение с людьми), а не интерфейс.


Ну так епта, я же его и создал.
scafe-forum.herokuapp.com
Наработка первая OP 65 749830
Язык: Prolog.
Тип: Парсер.
Концепция: Модель игры представляет собой конечный автомат состояний (FSM). По сути, это гибрид парсера и менюшки, где переход между состояниями представляет из себя ввод команд игроком. Сам движок занимает 62 строки.
66 749831
>>749823

>В функциональном языке старый объект удаляется и вместо него возвращается новый, с другими параметрами.


Ага. А теперь представь как будет выглядеть "огромная симуляция", которая должна обновляться каждый тик таймера, на каком-нибудь ARM, и описанная на необычном не императивном языке (т.е. до машинного кода несколько этапов преобразования). У меня не слабый смартфон и некоторые даже старые игры умудряются тормозить из-за того, что какой-то гений геймдева вызывает деструкторы одинаковых монстров в момент их смерти (лол), а умирают они, разумеется, пачками по 20 штук каждую секунду. Так что ФЯП хороши в теории, а на практике потенциальный вред перевешивает сомнительную пользу ("он не позволит тебе изменить твои данные - это так полезно и совсем не похоже на константы!").

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

>ECS смотри


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

>>749821

>Похоже ты не знаком с функциональным программированием


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

>DSL


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

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


>/(взять|поднять) стул(ьчик?)/


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

>Имеет и еще какое


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

Ты слишком много думаешь об инструментах и мало думаешь о самой игре.
66 749831
>>749823

>В функциональном языке старый объект удаляется и вместо него возвращается новый, с другими параметрами.


Ага. А теперь представь как будет выглядеть "огромная симуляция", которая должна обновляться каждый тик таймера, на каком-нибудь ARM, и описанная на необычном не императивном языке (т.е. до машинного кода несколько этапов преобразования). У меня не слабый смартфон и некоторые даже старые игры умудряются тормозить из-за того, что какой-то гений геймдева вызывает деструкторы одинаковых монстров в момент их смерти (лол), а умирают они, разумеется, пачками по 20 штук каждую секунду. Так что ФЯП хороши в теории, а на практике потенциальный вред перевешивает сомнительную пользу ("он не позволит тебе изменить твои данные - это так полезно и совсем не похоже на константы!").

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

>ECS смотри


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

>>749821

>Похоже ты не знаком с функциональным программированием


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

>DSL


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

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


>/(взять|поднять) стул(ьчик?)/


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

>Имеет и еще какое


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

Ты слишком много думаешь об инструментах и мало думаешь о самой игре.
Наработка вторая : Noir OP 67 749832
Язык: JS
Тип: Менюшно-подобный
Концепция: в игре на Noir'е нужно выделять подчеркнутые слова (предметы), и производить над ними действиями. В основе работы с состоянием мира так же лежит FSM. Поддерживает собственный DSL, расширяемый макросами.
Наработка третья OP 68 749833
Язык: Prolog
Тип: Парсер
Концепция: Самый серьезный с технической точки проект.
Используется CHR и DCG. Для симуляции мира наиболее мощен. Всё что вы видите на пикрилах это ванильный пролог. Просто объявил несколько операторов и подключил библиотеку для CHR. За расширяемость пролог и полюбил.
Наработка четвертая : Storle OP 69 749834
Я бы не назвал это игрой - скорее генератор историй. Пользователь вводит :ключевое слово:, и оно заменяется на процедурно сгенерированный текст. При большом количестве ключевых слов, в это можно будет даже играть. Напоминает Solo Tabletop RPG, только в браузере и в виде текста.
70 749835
>>749833

>Самый серьезный с технической точки проект.


>Для симуляции мира наиболее мощен.


>За расширяемость пролог и полюбил.


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

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

Кстати, симуляция мира тебе нужна для песочницы или для сюжетной игры?
OP 71 749837
>>749831

>Я писал интерпретатор самодельного языка на Паскале.


Я говорю о embedded DSL (eDSL). Т.е о DSL без собственного парсера. Пример я кидал в >>749833.

>Симуляция мира - это работа с моделью мира.


Про неё я и говорю. И модель в парсерных игр это самое важное для достижения наилучшей интерактивности.
72 749839
>>749834
О, я что-то похожее делал, только не для историй, а для генерации любых данных, в том числе бинарных, в том числе из внешних файлов. Что-то вроде декларативного языка, на котором описываются генераторы, при обращении к которым происходит генерация данных. Правда, серьёзного применения не нашёл и забросил (для моих изначальных задумок - текстуры и 3D-модели - такой способ генерации не подходил, с музыкальным форматом мне было лень разбираться, а для генерации внятных текстов нужны переменные, а не просто случайная подстановка).
OP 73 749841
>>749835

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



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

>>749835

>Кроме того, нужно различать текстовые игры и "интерактивные книги". Тред ты создал вроде как для интерактивных книг, а делаешь текстовую игру.


Тред про Interactive Fiction, а этот жанр включает как менюшные игры-книги, так и парсеры (текстовые игры в твоем определении).
Почитать статьи об сабже можно тут: ifwiki.ru
OP 74 749843
>>749839

>Что-то вроде декларативного языка, на котором описываются генераторы, при обращении к которым происходит генерация данных.


Долго делал? Много кода? На самом деле подобное делается просто:
Есть функция, которая выберает рандомный аргумент:
choice(arg1,arg2,arg3,...)
А теперь комбинируем эти функции в дерево (которое по является грамматикой).

let bad_or_good_f = () => choice('хорошая', 'плохая')
let weather = () => choice(`${bad_of_good_f()} погода`)
let text = () => `На дворе стояла ${weather()}`
75 749845
>>749837

>Я говорю о embedded DSL


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

>модель в парсерных игр это самое важное


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

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

Кстати, если разделение будет чётко соблюдено, перевести игру можно будет на любой язык практически без проблем, т.к. переводить придётся лишь генератор описаний и интерфейс ввода (кнопки/парсер), а модель останется без изменений. В этом и суть - какой бы мы язык не использовали, модель мира не зависит ни от естественного языка, ни от языка программирования.
OP 76 749851
>>749845

>Имхо, внешние файлы всё-таки лучше.


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

>выводятся игроку/вводятся игроком


Как раз таки нет.

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

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


технически - да, просто придется костылить. К примеру, эту систему придется долго писать на JS. А тут всё уже приготовлено.
Наработка пятая OP 77 749858
Ну, и наконец, последняя наработка. Идея проекта была приудмана тогда, когда я понял, что для настоящей интерактивности нужно по крайней мере настоящий ИИ. Настоящего, сильного ИИ у нас нет, зато есть собственный, естественный.

Тогда я решил сделать scafe, форум, где можно ролеплеить, играя в полу-консольном интерфейсе. Игра ведется двумя людьми - игроком и мастером. Мастер отвечает за мир и NPC, игрок, собственно, за игрока.
78 749865
>>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 делала-где-то погода # да, это бредогенератор, и она гордится своей ролью
Я вообще не люблю, когда слишком много спецсимволов. Но пришлось использовать в синтаксисе спецсимволы, чтобы не привязывать синтаксис к какому-либо языку и не смешивать визуально пользовательские идентификаторы с символами языка. Т.е. упор на читабельность.

А вообще всё это бред, на одном рандоме ничего толкового не сделать.
78 749865
>>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 делала-где-то погода # да, это бредогенератор, и она гордится своей ролью
Я вообще не люблю, когда слишком много спецсимволов. Но пришлось использовать в синтаксисе спецсимволы, чтобы не привязывать синтаксис к какому-либо языку и не смешивать визуально пользовательские идентификаторы с символами языка. Т.е. упор на читабельность.

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

>бесконечно расширяемые


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

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

К тому же, это банальный ролеплей. Люди родеплеят везде. Вообще везде. В любой онлайн-игре, на любом форуме, в любых чатах. У твоего чата нет никаких преимуществ, ради которых люди могли бы в него заглянуть, тем более вместе с друзьями. Раскрутить можно всё что угодно, конечно, но зачем?
# OP 80 749871
>>749865

> Что на счёт MUD?


MUD это скорее MMO RPG, чем литература. Хотя, ИМХО, MUD это просто многопользовательские IF. MUD был дедом современных FRPG (зайди в /wr/).

> Нечитабельно.


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

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

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

С помощью {% %} можно вставлять обычный JS, на тот случай если не хватает какой-то фичи.
# OP 81 749879
>>749870

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


Да тащемта это и не нужно. "Рынок" уже поделен такими крупными движками как TADS, Inform, Twine. Главное, чтобы самому программисту было удобно.

> Также со временем у тебя закончатся все короткие идентификаторы


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

> отличие твоей программы от чата?


По сути - чат. Только:
- Анонимный.
- На двух человеков.
- Специализирован под ролеплей.
- Нет цензуры. Никакой. Я как админ могу чистить спам, но из принципа не буду удалять игры потому что они мне не нравятся.

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


Это да. Даже не знаю, что туда можно добавить. Есть идеи, с которыми из форума получится вишенка? В основном проблема - ни игорь, ни игроков нет. Где брать - хз, чем привлекать - хз.
# OP 82 749881
>>749879

> Inform


Честно говоря, я бы очень хотел бы использовать Inform 7. Это такой сексуальный движок. Однако использует только английский язык. Писать русские игры не получится, ибо движок написан на древнем говне (C вроде) и юникод не поддерживает.
83 749903
>>749879

>Анонимный.


Анонимные чаты не редкость.

>На двух человеков.


Такие анонимные чаты тоже не редкость.

>Специализирован под ролеплей.


В чём специализация-то? Технически это как-то выражается?

>Нет цензуры. Никакой.


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

>Я как админ могу чистить спам


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

>чем привлекать - хз.


Вот это самый главный вопрос, на который ты должен был ответить до того, как сел писать код. Сервис без каких-либо преимуществ не привлечёт к себе никого.
# OP 84 749919
>>749903

> Ага, то есть ты ещё и переписки чужие читаешь


Это ролеплей, чувак. Но вообще прикрутить RSA шифрование надо бы, но пока на это похуй.

> В чём специализация-то?


Создавался специально для ролеплей, а не для скидывания, к примеру, ЦП.
85 749950
>>741998 (OP)
В тему "менюшки vs парсер".

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

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

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

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

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

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

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

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

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

Да, всё на голом JS, который мне в целом понравился, хотя раздражает отсутствие простого способа сохранять данные на диск. Без сохранения и загрузки произвольных файлов ни о какой симуляции и песочнице речи быть не может, если только не делать серверную часть. Сам мир описывается не помню уже точно как, но наверняка буду переделывать, т.к. помню что было неудобно добавлять новые сущности.
85 749950
>>741998 (OP)
В тему "менюшки vs парсер".

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

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

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

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

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

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

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

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

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

Да, всё на голом JS, который мне в целом понравился, хотя раздражает отсутствие простого способа сохранять данные на диск. Без сохранения и загрузки произвольных файлов ни о какой симуляции и песочнице речи быть не может, если только не делать серверную часть. Сам мир описывается не помню уже точно как, но наверняка буду переделывать, т.к. помню что было неудобно добавлять новые сущности.
86 749958
>>749919

>Это ролеплей


>прикрутить RSA шифрование надо бы


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

>Создавался специально для ролеплей,


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

>а не для скидывания, к примеру, ЦП.


Ну вот что мешает людям завалиться в твой чятик и начать распространять там ЦП, тем более если ты прикрутишь шифрование (лол)? Будет ещё один рассадник ЦП, только с надписью "это площадка для ролевых игр". Ну и если говорить про ЦП, то ролевой отыгрыш маленькой девочки, которую сексуально совращают - это тоже ЦП, пусть и в текстовом виде. Получается, что хотя пользователи и соблюдают правило "только ролевые игры", они всё равно нарушают определённые законы о ЦП, особенно если их переписку можно каким-то образом достать с сервера. Короче, тут больше организационные вопросы, чем технические. И, имхо, не стоит оно того, слишком много затрат, а способы монетизации сомнительны (всё, что приходит на ум - донатные фичи типа "поднять приглашение на чат выше", да классические рекламные баннеры, с которых всё равно нихрена не заработаешь без большой аудитории).
# OP 87 750005
>>749958

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


Нет, не могут. Доступ к DB только у меня есть.
88 750018
>>750007
В случае с гуглом и фейсбуком всю работу делают машины, какие-нибудь самообучающиеся программы. Даже если люди имеют доступ к письмам и сообщениям, они не могут просмотреть их все вручную, да и времени на слежку за кем-то нет, насяльник и так загоняет. Плюс у таких больших корпораций и отдел безопасности сильный, а он нужен в том числе для защиты корпорации от действий её же сотрудников - любое неловкое движение в сторону данных и усё, пакуй чемоданы. А когда речь идёт о каком-нибудь мелкосервере на 3.5 пользователя, так и представляешь себе какого-нибудь вуайериста, потому что иную причину заводить сервер в его случае трудно представить) Ну и сами подумайте, какие сценки зачастую разыгрывают ролевики (не все, разумеется)? Различные извращения, конечно же. Обычное фэнтези только вершина айсберга, которую видно только потому что никто не запрещает демонстрировать. Анонимность и отсутствие цензуры развязывает руки, соответственно и аудитория набирается соответствующая. Тут как с фурфагами, толпа самых разнообразных извращенцев под скрывающими личность масками животных, одобряющие любого, кто с ними, будь ты хоть некропедозоофил... и это даже не шутка, лол.

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

Да, кстати,
>>749858

>нужно по крайней мере настоящий ИИ.


>Настоящего, сильного ИИ у нас нет,


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

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

Да, кстати,
>>749858

>нужно по крайней мере настоящий ИИ.


>Настоящего, сильного ИИ у нас нет,


Если "настоящий сильный ИИ" будет равносилен человеку, то он опять же не будет являться игрой/игровой программой. И договариваться о ролевой игре с ним придётся почти как с человеком. Так что подобное тоже выходит за рамки тематики раздела, имхо. И вообще появление сильного ИИ убьёт большую часть игр, ведь зачем играть, когда можно поболтать с ИИ-другом, или зачем играть в полном одиночестве, если можно поиграть вдвоём. Ну да, всё индивидуально, но большинство всё-таки страдает от скуки и одиночества, а не от желания участвовать в фэнтезийных приключениях.
89 750207
Кто-нибудь знает как называется мультиплатформенный (Windows, Linux) движок для if-игр, написанный русскоязычным разработчиком то ли на С, то ли на Lua, то ли в нём можно использовать Lua для разработки, движок довольно старый по словам его автора (автор писал, что разработал его в нулевых), который год-два назад опубликовал статью на Хабре о нём с рассказом об игре, что он сейчас делает на этом движке. На одном из скриншотов был автомобиль таз (ВАЗ, советский).
sage 90 750217
>>750207
instead
кроме него считай движков и нет
а у него нет гуи))))
метапарсер единственный ру парсер который околоработает
# OP 91 750224
>>750217

> мнение скобкодебила

92 750382
>>750217
Да, это Instead, благодарю.
93 750487
>>750224

>создал тред для серьёзных обсуждений


>сам же флудит в нём однострочным гринтекстом


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

Понимаешь, нуб заходит в тред, смотрит последние посты, а там вот такой пук гринтекстом без каких-либо аргументов кроме указания на употребление скобок, да ещё и от ОПа треда. Что нуб решит? Почитай вот: https://ru.wikipedia.org/wiki/Теория_разбитых_окон
# OP 94 750536
>>750487

> Ты считаешь что гуи не нужен для движка текстовых игр?


Нет, я просто приебался к вконтактлу-скобкодебилу.
hX6tnURADm.png34 Кб, 944x432
95 750968
>>749619
Это была прекрасная идея, использовать Twine для прототипирования. Теперь совершенно не нужно морочить голову о том, как показывать или пересылать кому-то ветки.

К слову о возможностях, я вряд ли когда либо использую хотя бы половину из них. А вы уже что-то написали? Подумал, что интересно было бы взглянуть на сами игры на нем.
96 750977
>>750968

> А вы уже что-то написали?


Не фанат менюшек.
97 750981
>>750977
Зачем же вам тогда Twine?
98 750988
>>750981
Ну, для общего развития.
99 751046
>>741998 (OP)
Кек, я 19 лет назад запилил ReLife, про него даже писали в статье про интерактивные истории.
100 751047
>>751046
Сейчас загугли, оказывается маняме с таким названием сделали
# OP 101 751320
>>749831

> Ага. А теперь представь как будет выглядеть "огромная симуляция"


Ну, для конкретно логического и функционального программирования это не проблема.
В ЛП:
Программа это DB. А DB можно менять. Конкретно в прологе это предикаты assert (добавить запись) и retract (удалить запись). По производительности это тоже самое, что и стейт в OOP. К тому же, для удобного управлением стейта есть CHR, который позволяет представить мир игры как формальный набор законов.

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

Менюшки не обязаны быть фиксированными, можно менюшки делать в виде конструктора с многими степенями свободы.
103 752880
>>742444
Для этого ненужен пролог, достаточно встраиваемого рулес енжина.
104 752882
>>743236
А, ну в принципе это довольно похоже на то, о чем я выше говорил (меню со свободой).
105 752896
>>749809
Ты несешь хуйню, потому что не знаком с предметом, о котором рассуждаешь.
106 752898
>>749834 и прочие посты-наработки
Мужик сказал - мужик сделал. Мое увожение.
107 752900
>>749950
Прикольно, что-то такое и нужно, да. Глаголы или существительные - непонятно, нужно оперировать не конечными инструкциями, а fuzzy-тегами какими-то, чтобы из "хочу то, не знаю чего, но связано с Х" выуживать из игрока конкретную инструкцию. Основная проблема зачастую в дискаверабилити же.
108 752901
>>750018

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


Нет, у обычных мясных сотрудников тоже есть доступ ко всем твоим письмам и чатикам.
109 752939
>>752880

> Для этого ненужен пролог, достаточно встраиваемого рулес енжина.


Вот только его собирать надо. А тут всё из коробки работает.
>>752878

> Парсерки без стронг ии ненужны, чейндж май майнд.


Никто не спорит. Тоже так считаю. Но пытаться стоит.
110 753037
>>752939

>Вот только его собирать надо.


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

Более того, некоторые прям пишут обычную игровую логику (и не только) на рулес инжинах спойлер: все упирается в производительность с одной стороны и упорядочивание эффектов с другой:
https://github.com/oakes/odoyle-rules
https://github.com/paranim/pararules
111 753080
>>741998 (OP)
Помню пилил что-то на Choice Script, но это было давно и не правда.
112 769031
BUXbXavij5SMB1sq6rB-Zi9pjpJEPpTsveQoE6lJarY9srHF8OpLOk-yErt[...].jpg14 Кб, 200x200
113 769802
А игры то будут?
# OP 114 769804
>>769802
У меня есть в голове идея для игры.
Однако, тут надо выбрать: менюшка или парсер. Скорее всего менюшку выберу, или своем движке Noir сделаю.
115 769818
>>741998 (OP)
Заинтересовался вашей темой и решил попробовать поиграть в пару игр, но столкнулся с проблемой. При запуске URQ 1.4 выскакивает ошибка

>Не удаётся продолжить выполнение кода, поскольку система не обнаружила MSVBVN50.dll


Я понимаю, что тред не столько про игры, сколько про их создание, но я бы не обратился сюда, если бы этот софт был хотя бы сколько-нибудь известен интернету. Помогите. компьютер на 10 Windows.
# OP 116 769821
>>769818
Чел, это легко фиксится. Открываешь папку с URQ, находишь там exe. Затем открываешь браузер и вводишь там MSVBVN50.dll, скачиваешь его и кидаешь в папку рядом с экзешником.
117 769836
>>769821
Сделол, теперь проит просит comdlg32.ocx
Я его скачал и в папку к URQ закинул и заодно скопировал в system32, но всё равно требует comdlg32.ocs
118 769838
>>769836

>но всё равно требует comdlg32.ocs


.ocx
фикс
# OP 119 769840
>>769836
Ты где качал то? Может ну это говно, и скачать интерпретаторы для Inform? Типа WinFortz.
120 769845
>>769840
URQ? Да вроде с официального сайта... Рипсофт народ или что-то вроде.

>интерпретаторы для Inform? Типа WinFortz


Может, но будут ли они работать? Я то в этих штуках вообще не шарю. В описании игры было указано, что она на ripURQ работает, я и пошёл качать, по пути быстренько разобравшишь, что это 1.4 версия...
# OP 121 769846
>>769845

> Рипсофт народ или что-то вроде.


Чел, это же типичное название для пиратского форума!

> Может, но будут ли они работать?


А почему не должны?
122 769852
>>769846

>А почему не должны?


Незнаю
123 774241
124 774247
>>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, чтобы конкретные игры запустить.
125 774249
>>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 хоумпейдж. Только теперь с поганой рекламой от юкоза из-за предательства Яндекса...
126 778398
Есть, что нового?
127 778716
>>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, если очень надо.
128 778718
>>778716
Больше выглядит как некий велосипед, когда есть Twine 2, который по сути тоже самое, но лучше.
129 778719
>>778718

>Twine 2


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

>лучше


Чем лучше?

>по сути тоже самое


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

Вообще, я просто предложил как альтернативу, если кто-то интересуется подобными альтернативами. Вряд ли тут кто-то делает текстовые игры с прицелом на рынок и прибыль, это же хобби - как и хобби ковыряния в интересных альтернативных инструментах, движках, исходниках и т.д.
130 778721
>>778719

> Чем лучше?


Карта комнат, разные форматы разметки (бери любой, что понравился), режим дебага, и полноценное IDE для всего workflow.
131 778731
>>778721

>Карта комнат


Вроде видел плагин для создания графа тидлеров, но сам не использовал. В целом, не думаю, что есть смысл в графической карте комнат, если давать им адекватные имена.

>разные форматы разметки


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

>режим дебага, и полноценное IDE для всего workflow


Звучит как overkill для простой интерактивной книги.
132 779644
>>741998 (OP)
Сап, анон. Юнити-разраб в треде. Юзаю ярн (клон твайна) внутри самой юнити. Есть ли в треде писаки сюжетные, которые бы хотели скооперироваться?
sage 133 779678
>>779644
а чо хош в целом?
134 779770
>>779678
Да захуярить текстовый квест в духе КР с миниигорями и прочим. Благо движок позволяет делать вот чо угодно.
Если те ок, то можно хуйнуть по порнотематике и выйти на патреон. Кодить умею, моделить умею, а вот сука писать НИХУЯ не умею.
135 779771
>>779770
Да, бля. Уточню, я то бумер: КР - космические рейджеры
sage 136 779818
>>779771
я тожо бумер, но кр не фанат. ответь мне, ты случайно не сорокалетний токсик из комьюнити ИНСТЕДА?
я изучал этот вопрос, нахожусь в юрисдикции без ст.242, но я не нейтив англюсика - и это будет проблемой
137 779840
>>779818

>ты случайно не сорокалетний токсик из комьюнити ИНСТЕДА?


Никогда Инстед не изучал, анон. С гамака на юнити перепрыгнул.

> но я не нейтив англюсика - и это будет проблемой


В целом не думаю, ес что - переводчика подтянуть, да комьюнити подрубить формирующееся
sage 138 779848
>>779840
кмк, делать прон на русском смысла мало, я бы лучше сделал маленькую бсплатную игру для мобилок (чтобы овчарки не смеялись в лицо, когда я показываю им портфолио)
в идеале с парсером или распознавалкой голоса гугла от/через aimylogic - бесплатного тарифа за глаза хватит, а вау эффект (и ебля с поддержкой) многократны

пили фейкопочту или чтото, можно и нефейко
139 779859
>>779848

>я бы лучше сделал маленькую бсплатную игру для мобилок


Я и так в этом говне варюсь в гк сегменте. Заебало что пизда, хоть и зп нормальные. Именно по этому чот для души порнушное и хотел. Выйду на 50 баксов на патреоне - уже заебись
sage 140 779863
>>779859
ну дык и отлична, значит сумеешь нормально продвинуть часовой проект хотя бы в гк чатиках и на дтф))))

я не против патреона, есть заготовка, прон кто рисовать-то будет? описывать пульсацию вен за щекой у Баффи я изи, но как показывает анализ рынка, чисто на текст никто не будет теребить
141 779874
>>779863
Я вот вполне себе на текст тереблю, куда 50$ закидывать?
sage 142 779909
>>779874
если на русском, то ты окупил нашу разработку, кидай прям в тред
image.png1,1 Мб, 1920x1015
143 780178
>>779863

> прон кто рисовать-то будет?


Я. Яж триде макака, ало.
144 780201
>>780178
Там вроде сейчас есть какие-то бесплатные генераторы тушек и паки таких телец и голов, да?
sage 145 780212
>>780178
тогда решено, давай контакты, мне надо квартиру купить до нг
146 780273
>>780201
Да вродь есть, я руками моделирую
147 788908
sage 148 788912
>>780212
не дал ты мне контактов и квартиру я не купил(
149 789071
>>788912
Они тут >>788908
150 808413
Делаю детективчик в твайне на шугар кубе. Но т.к. вообще не секу в этом говне, то гуглю каждый элемент. С простыми проходами определился, но вот дальше пиздец. Два вопроса.
Как мне сделать так, чтоб в какой-то сцене количество собранных улик считалось в фоне и игра их навсегда запоминала и выдавала уникальные диалоги, если количество улик из какой-то сцены >= заданному числу?
Алсо, как мне на одной странице сделать интерактивный диалог? Я пытался гуглить, нашел только вот такое, но это буквально одиночная развилка, которая ведет все равно на один текст и сделать это получается один раз на сцену. Я чувствую, что это надо через 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>
150 808413
Делаю детективчик в твайне на шугар кубе. Но т.к. вообще не секу в этом говне, то гуглю каждый элемент. С простыми проходами определился, но вот дальше пиздец. Два вопроса.
Как мне сделать так, чтоб в какой-то сцене количество собранных улик считалось в фоне и игра их навсегда запоминала и выдавала уникальные диалоги, если количество улик из какой-то сцены >= заданному числу?
Алсо, как мне на одной странице сделать интерактивный диалог? Я пытался гуглить, нашел только вот такое, но это буквально одиночная развилка, которая ведет все равно на один текст и сделать это получается один раз на сцену. Я чувствую, что это надо через 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>
151 808452
>>808413
Лучше Harlowe бери.
1436431844405.gif671 Кб, 434x360
152 808468
>>741998 (OP)
Это вн только без картинок?
16493575133140.jpg100 Кб, 804x648
153 808529
>>808468
Почему же. Может и с картинками. Но картинки в IF выполняют ту же роль, что и в книгах.
154 808539
>>808529
Значит тред ВН!
155 808540
Даю хинт для неосиляторов-гуманитариев:
1. Качаешь AXMA (суперпростой редактор вроде Twine, лицуха стоит рублей 500, можно экспортировать в html5+JS).
2. Ссылки на ресурсы делаешь локальными, чтобы новелла не лезла в интернет.
3. Экспортируешь свой высерок в html5 с блекджеком и шлюхами.
4. Обмазываешь в APK в Android Studio, Cordova или даже MIT App Inventor.
5. Выкладываешь в магазин приложений.
6. Ты - еба-разработчик игорь.

неосилятор-гуманитарий
156 808541
>>808539
ВН это немного про другое.

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

ВНки так не умеют, так что тред не про них.
157 808542
>>808541
Да есть наверное и такие, там делов то
158 808543
>>808540
А нахуй тебе AXMA если уже есть идеальный во всех отношениях Twine?

Особенно Harlowe с его механикой storylets.
159 808544
>>808542

> Да есть наверное и такие


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

А IF может быть близкой как с "Скайриму" (где можно лизнуть каждый камень), так и к "Мертвые Души" (где ты в основном только читаешь). Внезапно, весьма широкий жанр. ВН куда уже.
160 808545
Уже сделали что нибудь? Я бы поиграл...
161 808546
>>808543
Ну или так, да.
162 808550
>>808545
Мне бы писателя и художника. Сам я не писатель (и не художник), а дизайнер-программист.

А так бы запилил бы ламповое фентези с атмосферой пикрилов.
163 808555
>>808552
Почему? Куда лучше западенщины. Лучше ламповый аниме-мирок плавно перетекающий в гримдарк (передаю привет Цукуши), чем западные скучнейшие поделия.
164 808558
>>808452
Он же для кинетик новелл.
165 808559
Я короче спиздил диалоговое окошко из другой игры. А теперь объясните мне, как поменять цвет разделительной полосы с белого на черный? Единственная строчка с white это цвет текста.
166 808561
>>808558
Во-первых, Harlowe есть сторилеты, а это отличный паттерн для сложной логики и недревовидного повествования.
Во-вторых, кинетик новеллы подразумевают ограниченный выбор, а в Harlowe (как и во всех других форматах) ничто тебе не мешает создавать развилку сюжета на каждый пук ГГ.
167 808562
>>808544
Любитель серого невзрачного визуала напоминающего его жизнь в снг ты?
168 808563
>>808562
Ответ сюда -> >>808552
169 808564
>>808559
Взять ренпи и не страдать фигнёй.
170 808573
>>808564
И да поясняю мамкиным набирателям текста что все проблемы которыми они мучаются внки переболели ещё 30-40 лет назад. И в движках уже по умолчанию есть уйма инструментов для форматирования текста и палеток, а так же для скриптовой логики, плюс интеграция с полноценными яп, а не огрызками текстовых редакторов.
И да текст это тоже графика, без возможностей создавать хорошие стили, отступы, масштабирование, окантовку, использования всевозможных тегов и прочего он будет выглядеть как бесформенное говно.
171 808574
>>808564
Для ренпи надо арты рисовать
172 808576
>>808574
Зачем? Используй как текстовый редактор. Но он как минимум из коробки отрисует нормальные градиентные палетки с прозрачностью и предоставит эффекты для их вывода и скрытия, вроде мувов, дизольва, фейда и т.д. Для плавного выведения текста, всяких индикаторов, а для эстетов и любого извращения с текстом через анимацию - типо инвертирования букв по оси, покачивание, дрожание, шлейф, распад строчки, на что фантазии хватит.
61387f31c4f58480a2413daba2794808.jpg75 Кб, 736x1382
173 808586
>>808576
А можно просто взять Twine и не ебать мозги. В нем CSS есть.
174 808610
>>808586
Чем css отличается кроме паршивого синтаксиса, тормознутости и раз так в 100 меньших возможностях по сравнению с openGL?
175 808620
>>808576
Ренпай говно, братюнь. Питоновский ебучий синтаксис этот, говно говна. То ли дело редакторы на языках разметки.
176 808627
>>808620
Я не удивлён почему потом в треде вопросы как перекрасить линию. Может сперва освоите яп на уровне if else или разметку движков прежде чем в раздел заходить?
177 808786
>>808627

>Может сперва освоите яп на уровне if else или разметку движков прежде чем в раздел заходить?


Ну вот можешь сидеть, дрочить, а потом ныть как сучка, что люди вопросы задают. А люди зададут вопрос и пойдут делать игру дальше, а ты продолжишь сидеть и ныть.
178 808798
>>808627
Но я умею в Питон на этом уровне, функции понимаю тоже.
Банально дольше писать чем на языке разметки. Плюс в Ренпае нет визуального представления параграфов, нет их подсчета, да нихуя нет. Плюс файл экспорта тяжелее.
Короче говно этот ваш Ренпай.
179 808800
>>808610

> xpos


> ypos



В этом.
180 808806
>>808798
Постой, но ты же умеешь в питон, и не можешь написать пару функций типо подсчёта параграфов? Долго делать командами в духе '''бла бла бла''' at centre? Сдаётся мне кто-то тут нагло брешет.
И да в твайне не сделать интерактив как хотят выше для этого нужен полноценный яп, это поделие для совсем бак скорее, которым сложно неделю потратить на гайды по простым командам.
181 808810
>>808806

> И да в твайне не сделать интерактив как хотят выше для этого нужен полноценный яп


J S
S
182 808829
>>808806

>не можешь написать пару функций типо подсчёта параграфов?


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

>И да в твайне не сделать интерактив как хотят выше для этого нужен полноценный яп


В твайне, если я правильно понимаю, можно запускать сценарии JS, этого достаточно.
То есть желающий попердолиться может попердолиться.
183 808856
>>808829

>я могу и графику выводить через PyGame


Но игру ты сделать не можешь на нём. А знаешь почему? Потому что даже 2D движок вроде ренпи подтирает твои все так называемые "ненужности" в 95 случаях из 100. И для игры нужно уйма просто гора разных функций, особенно для игры с развитой интерактивностью, возможность бека, квик сейва где намешано 100500 вариантов поворота. И на твайне это не сделать, поэтому на что это просто приложуха для веба, а не полноценный движок.
Вы напоминаете мне тех бак которые пытаются городить собственный огород вместо того чтобы взять готовые решения по движкам для жанров, которые развивались не один десяток лет. Определись что ты хочешь сделать, игру которую можно издать в стиме и в которую кто-то будет играть или просто имитацию разработки игры чтобы потешить себя ненадолго.
184 808871
>>808856

> возможность бека, квик сейва где намешано 100500 вариантов поворота


Всё это можно сделать в браузере. В чем проблема?
185 808885
>>808856
Сколько твоих игорь было в магазинах?
186 808899
>>808871
Делай... в чём проблема?
>>808885
Определись со своими, лол.
image.png25 Кб, 666x446
187 808925
Вот это ренпи. Все просто настолько, что даже ебанат вроде меня понимает. Как это же сделать в шугаркубе?
188 808928
>>808925
Ты какой-то совсем глупый. Harlowe:

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

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

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

:: Вернуться к Славяне
# У скомейки
Славяна вопрошающие смотрела на тебя.
(if: $gift is "ягуана" or it is "черепаха")[Какая милая!]
(else:)[Увидев тебя с пустыми руками она надулась, и отвернулась от тебя.]
189 808929
>>808928

> :: Купить черепаху


> Ты купил черепаху!


> (set: $gift to "черепаха")


> [Вернуться к Славяне]


Быстрофикс
190 808930
>>808925

>шугаркубе


>>808928

>Harlowe

191 808931
>>808930
А нахуй тебе шугаркуб, если харлоу по умолчанию стоит?
192 808932
>>808931
Функционал больше
image.png7 Кб, 306x144
193 808937
Как думаете, какой объем нужен для первого публичного релиза? Ну чтоб был баланс между "слишком мало, даже не запомню названия" и "слишком дохуя, лень столько читать"?
194 808939
>>808937
Смотри не на объем, а на содержание.
Никому не будет интересно читать текст без сюжета, цепляющих героев, и без нормальной симуляции окружения.
195 808961
>>808937
Зависит от типа новеллы. Если у тебя story-driven новелла, то есть 1 параграф = 1 кусок сюжета, пробегаемого без возврата в параграф, то 100 параграфов.
Если у тебя puzzle-driven новелла, и параграфы повторяются как локации, на которые возвращаешься, то хватит и 50, но при условии что на этих локациях есть что делать.
196 808968
>>808937
Минимум час-полтора, это в районе 40-50 страниц текста вордовского. Ну или объём обычной повести.
Насчёт лень читать если читателя не забайтить за первый час, то скорее всего ему будет лень читать сколь-нибудь большой объём. Всё как и с обычной игрой.
image.png16 Кб, 324x302
197 808976
Пролог все
198 808985
>>808976
Че? Показывай
199 808992
>>808976

Где флоучарт, почему выложил сраные квадратики вместо текста? Пили ингейм-скрины или публикуй свое поделие, не украдут, не боись.
200 809745
>>808985
>>808992
Нет, пока не выкачу в паблик нихуя вам не покажу. Один раз уже показал, а потом у мудака на ф95 увидел 1в1 мой текст.
201 809833
>>809745
Ахаха ну извини
202 810557
Я не понимаю, как в шугаркубе спрятать рандомный вариант, если он уже выпадал. Есть что-то типа <<if $xxx != 1>>, что ебануть перед рандомным вариантом, чтоб он не выпадал, если ты уже получил переменную на страницу этого варианта? У меня уже голова кругом, нихуя не могу сообразить.
203 812375
>>810557
Так сделай проверку переменной, в которую занесешь сведения о посещении параграфа с выбором рандомного варианта. If uzhe_byl_tut == false; randomny variant = rand (huy, pizda) etc.
204 840685
Что думаете насчёт того, чтобы просто использовать bash для создания минималистичной интерактивной литературы?
Используем read, зацикливаем, пару слов $verb $object просто выполняем как bash-функцию.
205 840689
Я не понял, это МУДы что ли?
206 840694
>>840689

>это МУДы что ли?


MUDы относятся к жанру текстовых игр, но MUD - это ММО текстовая игра.

>>840685

>Что думаете насчёт того, чтобы просто использовать bash


Конечно, можно сделать текстовую игру и так. Только кто её сможет запустить и кто захочет в неё играть? Целевая аудитория текстовых игр и без того очень маленькая, а ты предлагаешь делать под линуксовую консоль на ПК. Сейчас текстовые игры неплохо заходят на мобилках, но там всё же нужно хотя бы минимальное графическое оформление и GUI-шные удобства, а не голая консоль.
16676504768420.jpg728 Кб, 1887x1352
207 840704
>>840694
Игра от гика для гиков. Планирую создать расслабляющую минималистичную игрульку.

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

Максимальный минимализм.
208 840708
>>840704

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


>Максимальный минимализм.


Максимально минималистичный интерактивный рассказ можно в блокноте за пару часов набросать, будет несколько страничек и пара-тройка развилок. Нечего решать, садись да пиши - если есть какая-то идея сюжета. Без идеи такая игра не получится, т.к. основа - сюжет, а не геймплей. Если же хочешь геймплей без сюжета, можешь попробовать сделать текстовую бродилку, типа найти ключик от двери в комнате со множеством предметов.
209 840726
>>840708
Всё описания так или иначе генерятся программно, так как что-то изменять в мире можно даже с небольшим количеством действий.

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

А по сеттингу - вы живёте с лолей в доме на дереве. Вокруг ни души, нет вообще никого кроме вас. Есть горячие источники, охота, рыбалка, посидушки у костра.
210 840737
>>840726
Я б поиграл. Ламповое выживание тип? Поподробнее б
211 840835
>>840737

> Ламповое выживание тип?


Да.

> Поподробнее б


Да я сам план разработки ещё не написал.
1665569948750.png1,6 Мб, 1882x690
212 840841
>>840726

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


Слышал про такое еще лет 5 назад в VR.
213 840854
>>840851
Угу просто иногда это 1000 летний вампир (shinobu simulator)
Wgwb5U.png507 Кб, 594x596
214 840856
>>840851

>ни одной лоли нет


Сочувствую.
Оригинал: https://sgthale.itch.io/game
Опенсурс, в который перешёл оригинал:
https://viva-project.org/
https://github.com/OpenViva

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

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

Так что лучше возьми нормальный скриптовый язык - я не думаю, что bash будет достаточно удобен для разработки полноценной игры, пускай даже текстoвой. Алсо рекомендую всё же выбрать веб как основную целевую платформу, если хочешь чтобы в игру могли поиграть с любого устройства, а не только с компьютера на линуксе. Даже сложная текстoвая игра в современном вебе будет работать как обычный одностраничный сайт с кнопками, без установки и без долгих загрузок.
215 840890
>>840856

> я не думаю, что bash будет достаточно удобен для разработки полноценной игры


Да вполне. Одни команды переписывают другие команды, образуя таким образом контекстное дерево, описывающее состояние мира и действия.

> веб


Bloatware.
216 840963
>>840890

>описывающее состояние мира и действия


А там есть объекты ООП или хотя бы Dictionary?

>Bloatware.


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

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

> А там есть объекты ООП или хотя бы Dictionary?


Переписывания функций образует контекстное дерево.
Screenshot2022-11-21-05-23-26-075me.ilich.theforest.jpg217 Кб, 1080x2400
218 841091
Принимайте пополнение.

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

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

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

Пикрил - сцена из тестового сценария.
219 841093
>>841091
Над дизайном поработай. От цветовой палитры у моих глаз рвота.
220 841094
>>841093
Само собой. Только я не дизайнер, я погромист и писатель. Хз как сделать чтобы нормально выглядело. У меня вообще нет вкуса к интерфейсам, меня любой устраивает. Наверное просто сделаю тёмный текст на белом фоне. Типа как чтение текста в моей любимой мракопедии.
Mozhno-nenado-mem-s-kotenkom2.jpg108 Кб, 800x571
221 841268
>>841091

>Может быть нажать одну из них?


Можно не надо?

>на самописном движке под андроид


Подробности опиши. Java?

>Оказалось что писать нелинейные тексты в обычном редакторе неудобно.


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

>хранить джисонину тоже неудобно


Это почему? Интересно узнать нюансы.

>>841094

>Наверное просто сделаю тёмный текст на белом фоне.


Как минимум нужна тёмная тема. И чисто чёрная - для OLED.
222 841300
>>841268

> Подробности опиши. Java?


Только Котлин. Обычный Android SDK. Для редактора использовал ktor. Парсинг json - gson. Парсинг md - регэкспы. Что ещё интеерсно?

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


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

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


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

> Как минимум нужна тёмная тема. И чисто чёрная - для OLED.


Надеюсь что будет, только бы мне не бросить всё это.
223 841303
>>841300

> Парсинг md - регэкспы


Напиши ка такой текст у себя, и посмотри что выйдет `тест`.
224 841346
>>841303
Сейчас это будет параграф сцены. Так и будет `тест`, апострофы специально не парсятся. У меня такая модель: квест, сцена квеста, параграф сцены и действие сцены.
Но я планирую сделать в апострофах скрипты. То есть

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

будет парситься как действие "Открыть дверь ключом", которое будет видно если у игрока есть ключ.
225 841474
>>841346
просто возьми инстед и не страдай хуйнёй
226 841495
>>841474
Ага чтобы ца была ещё меньше.

> не страдай хуйнёй


Какой тогда смысл?
Олсо, я вчера написал токинайзер, сегодня написал простой парсер в дерево, но он работает неудовлетворительно. Завтра буду писать алгоритм Дейкстра для обратной польской нотации и уже её разбирать в граф.
227 841502
>>808976
А где в твайне показывается количество слов/проходов в хохлы и прочая статистика? Твайн только недавно накотил, сахарныйкубик разобрал, пасседжи леплю пока.
1594119315370.gif1,2 Мб, 1920x1080
228 841512
Пилю потихоньку свой текстовый движок, сегодня оживил картинку из оп опста.
229 841519
>>841512
Выглядит годно. Расскажи какой стек (вижу что си) и какие игровые механики.
230 841535
Каков алгоритм ветвления сюжетов?
231 841599
>>841519
Пока нечего особо рассказывать, третий день делаю. Стек помесь C++17 и древнего Си, ncurses/PDcurses, сборка CMake под DOS/WinXP (DJGPP), Windows CMD/PowerShell и Linux.
232 841600
>>841519
Механики пока не придумывал, могут быть всякие квесты, миниигры, QTE на реакцию.
233 841604
>>841600
Дополнительно к вводу текста, конечно. Но в эту сторону не копал особо пока.
234 841621
>>841495
оборачивается в андроедобилд даже гуманитарием типа меня за один день, есть ПАРСЕР
дурак ты ей богу
235 841645
>>841535
Алгоритм? Ветвление сюжетов это не алгоритм, а структура данных, а именно граф.
236 841683
>>841495

>обратной польской нотации


Тогда уж можно сразу FORTH использовать...

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

>>841645

>Ветвление сюжетов это не алгоритм, а структура данных, а именно граф.


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

А альтернатив пока нет. Kobold AI и NovelAI не мультиязычны, в отличии от character AI.
239 841799
>>841781
я глубоко копал и для ифни, и для в целом для игр - сраный ЗОРК до сих пор ебёт все данженАИ не вставая с дискеты
240 841836
>>841799
Можно ли в ZORK трахать лолек? В AI-решениях можно.
241 841842
>>841836

>трахать лолек


К твоим услугам: https://vrelnir.blogspot.com/

>В AI-решениях можно.


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

>>841781

>У ИИ в этом есть продвижения.


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

>цензура всё портит


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

> К твоим услугам: https://vrelnir.blogspot.com/


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

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

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

> Эти "AI-решения" постоянно забывают, что происходило, и несут бессвязную чепуху


У моделей у которых меньше 13 миллиардов параметров - безусловно.

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

> Так что не кати бочку на цензуру, в данном конкретном случае она ни в чём не виновата.


Виновата, ибо тот же Character AI прилюбых попытках начать описывать сексуальную сцену с лолей тут же начинает морозиться.
243 841858
>>841849

>да и нельзя играть за мужика.


Можно, но сложно
244 841862
>>841849
понимаешь, это не тренажёр для даунов с афантазией, у него нет такой медицинской цели
245 841863
>>841849

>Не парсер


Так даже лучше.

>Нельзя выбрать сеттинг


Играй в другие игры. Их буквально десятки тысяч на сегодняшний день.

>да и нельзя играть за мужика


Более 9000 игр про мужика в главной роли, а тут тебе дают уникальный шанс играть за лолю, и ты ещё чем-то недоволен? Шёл бы ты в /vg/ или откуда ты сюда пришёл, тебе тут не рады.

>Может я хочу


>Ну или я хочу


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

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

>13 миллиардов параметров


>Stack more layers


>Bitter Lesson


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

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


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

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

>Не парсер


Так даже лучше.

>Нельзя выбрать сеттинг


Играй в другие игры. Их буквально десятки тысяч на сегодняшний день.

>да и нельзя играть за мужика


Более 9000 игр про мужика в главной роли, а тут тебе дают уникальный шанс играть за лолю, и ты ещё чем-то недоволен? Шёл бы ты в /vg/ или откуда ты сюда пришёл, тебе тут не рады.

>Может я хочу


>Ну или я хочу


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

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

>13 миллиардов параметров


>Stack more layers


>Bitter Lesson


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

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


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

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

> Так даже лучше.


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

> Играй в другие игры


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

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

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


Никогда не сидел в /vg/

> Знаешь что, если ты реально хочешь, то почему бы тебе просто не фантазировать?


Теряется элемент игры, элемент неожиданности. В этом нет ничего интересного.

> высер от нейросетки не способен поддержать одного персонажа дольше нескольких абзацев


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

> высер от нейросетки не имеет графики и озвучки


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

> У человеческого мозга 6 слоёв в новой коре мозга


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

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

> Не проще ли написать целиком самостоятельно историю про то


> интереснее


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

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

Нет, в этом нет никого интереса.
247 841900
>>841863

> Так даже лучше.


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

> Играй в другие игры


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

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

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


Никогда не сидел в /vg/

> Знаешь что, если ты реально хочешь, то почему бы тебе просто не фантазировать?


Теряется элемент игры, элемент неожиданности. В этом нет ничего интересного.

> высер от нейросетки не способен поддержать одного персонажа дольше нескольких абзацев


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

> высер от нейросетки не имеет графики и озвучки


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

> У человеческого мозга 6 слоёв в новой коре мозга


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

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

> Не проще ли написать целиком самостоятельно историю про то


> интереснее


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

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

Нет, в этом нет никого интереса.
248 841903
>>841900
Алсо, графику они имееют. Нейронки способны самостоятельно генерировать изображения для текста. Сделал ход, нейронка сгенерировала текст описания леса, а по нему и изображения. У NovelAI к примеру превосходный генератор изображений.
249 841906
Алсо, как там с диалогами в классических IF, всё так же выбор из трех вариантов?
250 841909
>>841863

>И каждая колонка занята какой-то одной концепцией.


Звучит как то толсто, френологию развенчали лет 200 назад.

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


Да ничего больше и не нужно, если напихать в нейронку все что ты видел с детства, примерно такое же сознание и получится
251 841914
>>841867

>...играться с нейронкой. Это как заменитель живого человека


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

>>841900

>для того типа IF, которые пытаются симулировать мир


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

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


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

>посоветовал бы играть ролеплеи с реальными людьми


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

>Теряется элемент игры, элемент неожиданности.


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

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


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

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


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

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


>ты уже заранее знаешь что произойдет дальше.


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

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

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

>>841909

>френология


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

>напихать в нейронку все что ты видел с детства, примерно такое же сознание и получится


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

>>841906

>как там с диалогами в классических IF


Но у текущих нейронок тоже всё плохо с диалогами: да, они высирают кучу бреда, отдалённо напоминающего осмысленную речь, но реально осмысленной речью их бред не является. Нейронке скормили кучу текстов, она статистически вычислила, что на вопрос "как дела" обычно следует ответ "у меня всё хорошо", и выводит этот ответ на этот вопрос, но ведь она не понимает, что такое "она" ("у меня") и не сообщает о своём реальном состоянии ("...всё хорошо"). Обычная, классическая программа способна ответить на вопрос "как дела" с чётким пониманием того, что обращаются лично к ней и запрашивают её состояние, поэтому когда эта классическая программа отвечает "200 OK", мы можем с уверенностью утверждать, что она поняла наш вопрос и ответила на него осмысленной речью - пускай и в виде специального кода, а не витиеватой фразы. В этом разница между нейронками и людьми/ИИ: нейронка высирает рандомный бред, а человек/ИИ отвечает осмысленно. В этом плане любая программа намного больше ИИ, чем нейронка.
251 841914
>>841867

>...играться с нейронкой. Это как заменитель живого человека


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

>>841900

>для того типа IF, которые пытаются симулировать мир


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

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


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

>посоветовал бы играть ролеплеи с реальными людьми


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

>Теряется элемент игры, элемент неожиданности.


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

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


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

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


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

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


>ты уже заранее знаешь что произойдет дальше.


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

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

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

>>841909

>френология


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

>напихать в нейронку все что ты видел с детства, примерно такое же сознание и получится


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

>>841906

>как там с диалогами в классических IF


Но у текущих нейронок тоже всё плохо с диалогами: да, они высирают кучу бреда, отдалённо напоминающего осмысленную речь, но реально осмысленной речью их бред не является. Нейронке скормили кучу текстов, она статистически вычислила, что на вопрос "как дела" обычно следует ответ "у меня всё хорошо", и выводит этот ответ на этот вопрос, но ведь она не понимает, что такое "она" ("у меня") и не сообщает о своём реальном состоянии ("...всё хорошо"). Обычная, классическая программа способна ответить на вопрос "как дела" с чётким пониманием того, что обращаются лично к ней и запрашивают её состояние, поэтому когда эта классическая программа отвечает "200 OK", мы можем с уверенностью утверждать, что она поняла наш вопрос и ответила на него осмысленной речью - пускай и в виде специального кода, а не витиеватой фразы. В этом разница между нейронками и людьми/ИИ: нейронка высирает рандомный бред, а человек/ИИ отвечает осмысленно. В этом плане любая программа намного больше ИИ, чем нейронка.
252 841928
>>841914
Хуя ты простыню родил. Ты бы лучше сценарии писал с таким запалом.
мимо
253 841933
>>841914

> Есть какие-то рабочие образцы?


Kobold AI. Он способен самостоятельно вносить персонажей в World Info (постоянную память).

> если, по факту, для удержания персонажа в памяти достаточно наличие этой памяти - HDD/SSD или RAM?


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

> Во-первых, что хорошего в том, что нейронка сгенерирует какой-то внезапный бред?


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

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


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

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

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

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

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

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

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

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

> Игра - это набор строгих правил


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

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


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

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

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

> Но у текущих нейронок тоже всё плохо с диалогами


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

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

Нет, конечно ты можешь запрограммировать глубокую симуляцию, где каждый NPC имеет знания, и ты можешь запрограммировать команды "спросить <имя_нпс> о <предмет>".
Однако ты обязательно попадешь в комбинаторный взрыв, причину описал выше.
253 841933
>>841914

> Есть какие-то рабочие образцы?


Kobold AI. Он способен самостоятельно вносить персонажей в World Info (постоянную память).

> если, по факту, для удержания персонажа в памяти достаточно наличие этой памяти - HDD/SSD или RAM?


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

> Во-первых, что хорошего в том, что нейронка сгенерирует какой-то внезапный бред?


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

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


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

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

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

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

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

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

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

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

> Игра - это набор строгих правил


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

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


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

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

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

> Но у текущих нейронок тоже всё плохо с диалогами


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

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

Нет, конечно ты можешь запрограммировать глубокую симуляцию, где каждый NPC имеет знания, и ты можешь запрограммировать команды "спросить <имя_нпс> о <предмет>".
Однако ты обязательно попадешь в комбинаторный взрыв, причину описал выше.
254 841935
Дополню тем, что все игры чем-то похожи на головоломки. Не интересно решать головоломку, которую ты сам придумал и знаешь решение заранее.
255 841959
>>841935
Все намного веселее, если у тебя амнезия и ты через месяц уже забываешь.
256 842103
>>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, к сожалению, всего лишь продвинутый поисковый движок.

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


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

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


Если ты понял предыдущий абзац, наверное, ты уже знаешь, что я хочу сказать. Твоё "знание следующего хода" не является твоим знанием - это ход мысли твоего персонажа, которого ты сознательно или непроизвольно отделил от своего "я". Ваше сознание (та петля, которая замыкает мозг на себя) одно на всех, но вы не одно и то же. Самое главное здесь - осознать, что мысль не равна речи - мыслим мы без использования речи, а тот комментатор в наших мыслях лишь одна из наших частей. Комментатор может обращать мысли в мысленную речь, может озвучивать всех наших персонажей. Но мысли персонажей возникают куда быстрее, чем может прозвучать речь. Т.е. это вовсе не какие-то там глюки, а твои мысли - мысли без слов, которые ты отделил от своего "я" и присвоил "персонажу". Просто у некоторых людей это всё само собой происходит, без их сознательных желаний или усилий.
256 842103
>>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, к сожалению, всего лишь продвинутый поисковый движок.

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


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

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


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

>Когда в реальной жизни перед тобой лужа, у тебя всего четыре разумных варианта действий:


>1. Обойти лужу стороной.


>2. Перепрыгнуть лужу.


>3. Пройти прямо сквозь лужу.


>4. Развернуться и уйти обратно.


Кстати есть объяснение почему именно столько и именно этих? Я видел у психологов нечто подобное
Возможные решения проблемы
· изменить себя и своё поведение;
· изменить ситуацию;
· выйти из ситуации;
· изменить своё отношение к ситуации.
258 842112
>>842106

>Кстати есть объяснение почему именно столько и именно этих? Я видел у психологов нечто подобное


Честно говоря, написал пример от балды, как возможный в реальности и во всех видах игр (в 3D играх могут быть лужи и всё перечисленное там обычно можно осуществить, хотя это ни на что не влияет). При этом можно выдумать огромное количество альтернатив, вроде "бросить что-то в лужу", "повалить дерево", "высушить лужу", "подождать её высыхания", "попросить прохожих перенести тебя на руках", "запрыгнуть на прохожего" и прочий бред. Нужна ли в игре такая вариативность действий для простой лужи? Если это симулятор луж - наверное, да. Всем остальным играм это вообще не нужно, даже если там есть лужи и мокрые ноги как-то влияют на геймплей. В смысле, игрок в любом случае выберет наиболее оптимальное решение и будет использовать его всегда, игнорируя те сотни вариантов, которые можно было бы придумать. Так зачем делать все эти развилки, если они никому не нужны? Кроме, разве что, фетишистов на лужи, которые будут останавливаться перед каждой лужей и дрочить на варианты взаимодействия с ней, насколько бы ограниченной в этом плане ни была конкретная игра (даже если можно просто стоять и смотреть - будут стоять и смотреть, ведь это их любимая ЛУЖА, зачем им что-то другое).

>>841935

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


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

>Кстати есть объяснение почему именно столько и именно этих? Я видел у психологов нечто подобное


Честно говоря, написал пример от балды, как возможный в реальности и во всех видах игр (в 3D играх могут быть лужи и всё перечисленное там обычно можно осуществить, хотя это ни на что не влияет). При этом можно выдумать огромное количество альтернатив, вроде "бросить что-то в лужу", "повалить дерево", "высушить лужу", "подождать её высыхания", "попросить прохожих перенести тебя на руках", "запрыгнуть на прохожего" и прочий бред. Нужна ли в игре такая вариативность действий для простой лужи? Если это симулятор луж - наверное, да. Всем остальным играм это вообще не нужно, даже если там есть лужи и мокрые ноги как-то влияют на геймплей. В смысле, игрок в любом случае выберет наиболее оптимальное решение и будет использовать его всегда, игнорируя те сотни вариантов, которые можно было бы придумать. Так зачем делать все эти развилки, если они никому не нужны? Кроме, разве что, фетишистов на лужи, которые будут останавливаться перед каждой лужей и дрочить на варианты взаимодействия с ней, насколько бы ограниченной в этом плане ни была конкретная игра (даже если можно просто стоять и смотреть - будут стоять и смотреть, ведь это их любимая ЛУЖА, зачем им что-то другое).

>>841935

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


В таком случае в игры бы вообще повторно не играли, а ещё никто бы не мог вытерпеть повторяющихся действий в играх. Но все игры завязаны на петли геймплея, которые повторяются огромное количество раз, и почти всех это абсолютно устраивает. Посадил растение > собрал урожай > посадил растение... Кто-то скажет, что игра превращается в работу, но ведь люди продолжают играть, значит, им это нравится. Такая же ситуация с решением головоломок - только посмотрите на соревнования по кубику Рубика, лол. Книги, если что, тоже перечитывают, особенно любимые, и им даже никакая вариативность не нужна для того, чтобы было приятно перечитать снова.
259 842167
Короче сделал я парсер выражений и тут же оказалось что айдишники сцен у меня не целочисленные, а строковые. Поэтому переделываю парсер, а конкретно токинайзер, чтобы он выделял строки.
Держу в курсе.
260 842174
>>842167
В чём проблема взять готовый?
Алсо, я не представляю себе, как ты умудрился писать парсер без постоянной проверки тестового файла. Если у тебя в тестовом файле строки в качестве ID сцены, то твой парсер должен был эпично зафейлиться, написав в консоль или куда ты там выводишь ошибки - "ошибка при чтении файла". Это же база. Как можно написать парсер и ни разу не протестировать его на данных?
261 842177
>>842174

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


Я ж писал на тестах. На реальных данных я его ещё ни разу не запускал.
262 842178
>>842174

> В чём проблема взять готовый?


Недостаточная степень ебли.
263 842349
>>841849

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


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

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

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

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

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

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


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

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

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

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

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

>>трахать лолек


>К твоим услугам: https://vrelnir.blogspot.com/


Но там же не зорк.
265 842952
266 843173
Итак, я сделал парсер условий.
Пик 1 - как это выглядит в редакторе
Пик 2 - как это сохраняется в джисон
Пик 3 - какой из джисона автогенерится код
Пик 4 - как этот код выглядит запущенным
В принципе поддежриваются любые бинарные операции, числовые константы, строковые константы (правда всё хранится как строки, но это другой вопрос), переменные. По мере надобнсти буду допиливать, но пока что глубиной и силой ебли удовлетворён. Спрашивай свои ответы.

inb4 лучше бы цвета интерфейса поменял
267 843215
>>843173
Почему используешь переменные для условий, вместо более продвинутого метода симуляции мира?
268 843224
>>843215
Шта? Нет, я не делаю второй dwarf fortress, или о чем ты?
269 843276
>>843224

> я не делаю второй dwarf fortress


Даже если и не делаешь, по мере расширения игры (= мира) код начнет превращаться в лапшу из if-ов.

Смотри на модель мира в Inform или Gruescript.
270 843280
>>843276
Объясни в двух словах что там такого особенного.
Алсо, у меня будет именно что интерактивная фантастика, книга-игра с конченым числом вариантов прохождения.
271 843326
>>843280

> Объясни в двух словах что там такого особенного.


Предсказуемая объектная модель.

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

> Алсо, у меня будет именно что интерактивная фантастика, книга-игра с конченым числом вариантов прохождения.


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

1. Книги-игры. Это натурально КНИГИ, в которых читатель может выбрать, в каком направлении ему играть. Физическая книга-игра имеет страницы с такими надписями:

>Шёл-шёл наш герой, и вдруг - на дороге камень, а от камня две дороги - налево и направо.


>1. Герой пошёл по левой дороге (перейдите на страницу №20)


>2. Герой пошёл по правой дороге (перейдите на страницу №24)


>3. Герой решил развернуться обратно (перейдите на страницу №36)


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

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

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

Можете считать игры из пункта 1 вариантом визуальной новеллы без визуала, но выгонять их в /ruvn/ бесполезно, потому что там любители ВИЗУАЛЬНЫХ новелл и вообще раздел у них дохлый.
image.png1,3 Мб, 780x1000
273 843389
>>843376
Двачую адеквата. У меня скорее 1, но с состояниями. Никоторые действия будут менять эти состояния, а потом это будет влиять на доступные действия в других сценах. Что-то такое было в моей любимой "Подземельня чёрного замка". Но там по очевидным причинам не могло быть много состояний (там бло наличи заклинаний, инвентарь, статы персонажа), а я могу много. Аналогично у меня будет инвентарь, тоже наличие и качество каждого предмета будет состоянием.

> с точки зрения программиста - это кучка if-else


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

>>843276

> Inform


Я таки почитал пдэфку у них на сайте. Ну как прочитал, пробежался глазами. Нет, слишком конкретно. Как напирмер в этой модели комнат организовать воспоминания героя? "Вы вышли из воспоминания_1 и вошли в воспоминание_2"? Или диалоги? Или какие-то сцены (кат-сцены), не связанные с перемещением по комнатам. Хотя может я и невнимательно читал.
274 843409
>>843389

>>с точки зрения программиста - это кучка if-else


>С точки зрения плохо программиста


Но ведь в книгах-играх действительно тривиальная логика:
ЕСЛИ ты выбрал вариант Xi, ТОГДА переходишь на страницу Xip.
Конечно, ты можешь обмазать это ООП или ещё чем, но сути это не меняет.
275 843416
>>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)
}
275 843416
>>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)
}
276 843433
>>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", но данные нейросети - это невероятно сильно разветвлённая структура, ветви которой могут в процессе обучения очень сильно изменяться. Органический мозг ещё более разветвлённая система, т.е. там "если... то..." на порядки больше. Если кто-то говорит, что у ИИ не должно быть "если... то..." - он либо плохой программист, либо его мозг сродни музыкальной шкатулке, т.е. глупее калькулятора, не то что ИИ.
277 843437
>>843416
Но ты это, не расстраивайся. Со временем дойдёшь до моего уровня.

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

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

Наверное, этому всему есть более точные термины. Я всего лишь самоучка-любитель.
278 843460
>>843433
>>843437
Я сначала хотел подискутировать с тобой за разные функции активации нейронов и архитектуры сетей, но после

> Но ты это, не расстраивайся. Со временем дойдёшь до моего уровня.


я только спрошу о причине твоей попаболи.
279 843462
>>843433

> Для примера, нейросети - это КОЛОССАЛЬНЫЕ "если... то..."


Вот только там никаких if нету. If - дорогая операция, там используется математическое суммирование, которое, естественно, транслируется в байт-код. Всякие пайтоны это всего лишь API.
280 843465
Как же у меня бомбит с двачных манек, которые сами не понимают о чём говорят. Пик 1 - нейрон который и правда будет как if-then. Пик 2 - можно условно назвать if-then при некоторых значениях. Пик 3 - ну совсем не if-then. Любая может быть6 главное чтобы производная хорошо бралась, но даже это не обызательно. Говорить что нейронка тожественная большому количеству условий можно в той же степени, что и о любой компьютерной системе. Ведь количество состояний пусть и велико (очень велико, одних положений курсора на экране 3072 × 1920 = 5898240), но конечно, правда? Значит можно выразить через соотвествующие количество условий.
Нейронки почему так взлетели? Потому что они оперируют нечёткой логикой, то есть есть множество состояний между условными 0 и 1.
И вообще апеляция к НЕЙРОНКАМ это детектор пориджа, который датасатанизма не нюхал. Кроме нейронок есть ещё множество других моделей. И вообще самый буст метрик даёт подготовка и обработка данных и выделение признаков. А выбор модели это внезапно менее важная задача. Но пориджу с нейронкой межушного ганглия этого не понять.
А кроме слоёв с нейронами есть и ещё более интеерсные слои, свёрточные функции например.
К if-then всё свели, пиздец просто. Увидели картинку с ПЕРЦЕПТРОНОМ и пошли срать на двачах.
1670312171365.jpg59 Кб, 1080x880
281 843472
>>843465

> Пик 1 - нейрон который и правда будет как if-then.


Даже так не будет. Линейная функция активации у перцептрона (пик 1) - булева функция (x => x >= 0 && 1 || 0), там нет if.

Но в целом ты прав.
282 843485
>>843465

>Пик 3 - ну совсем не if-then.


If cond but not cond2
283 843491
>>741998 (OP)
Рефанднул 4 игру кста. Думал там будет реиграбельность и генерация, а там очевидно какой-то сюжет жестко прописанный.
285 843704
>>843389

> этой модели комнат организовать воспоминания героя?


А чем условное воспоминание отличается от реальной локации с точки зрения движка? Никак.

Игрок пишет "пройти через дверь", движок пишет, что ГГ видит игрушечный вертолетик, и перемещает ГГ в комнату-флешбек.
286 843706
>>841914

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


Неограниченное же. С помощью человеческих частей тела можно делать неограниченное количество действий.

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

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

Ни одному разработчику и жизни не хватит, чтобы написать ТАК много правил обработки комманд.
287 843736
>>843706
Шизик, у тебя то непрерывная диффиренцируемая функция декомпозируется до конечного числа логических условий, то из конечного числа элементов получается бесконечное количество сочетаний. Ты либо определись, либо выпей свои таблетки.
288 843809
>>843736

> конечного числа логических условий


Угу, а теперь напиши движок который будет обрабывать команду say.
289 843833
>>843809
Могу обработать своим движком твой клюв.
290 843840
>>843833
Быстро ты слился.
291 843845
>>843840
Прямо тебе в шизоклюв.
292 844528
>>741998 (OP)
чем отличается от новелл?
293 844581
>>844528
много букоф почти без кортинок в буквелле
294 844742
>>844528
Меньше картинок (можно вообще без картинок), и можно вводить команды, а не выбирать из трех вариантов.
295 844880
>>843502
А теперь на русском
296 844986
Так лучше?
>>843173-кун
297 844990
>>844880
Проще говоря, stateless IF'ки. Включи переводчик и переведи, хуль.
image.png248 Кб, 1390x1400
298 845966
Прикрутил marmaid-js к редактору. Олсо, в основном сценарии (который я пока не показываю) уже несколько десятков сцен. А дела у тебя, ифач?
sage 299 846028
>>844990
За IF'ил тебе за cheeks, check it out.
Screenshot2023-01-03-03-57-32-789com.mishiranu.dashchan.jpg425 Кб, 1080x2400
300 847847
Сделал какое-никакое, но шифрование ресурсов. Теперь, если кому-то не похуй, смогу выкладывать сборки для закрытого тестирования.
301 849416
Бамп
302 849424
Как программировать состояние мира не особо заморачиваясь? Есть какие-нибудь лайвхаки?
303 849455
>>849424

>состояние мира


>лайвхаки


1. Декомпозиция.
2. Разработка снизу вверх.
3. ??? //фикс багов
4. Эмерджентность!
305 849465
>>849460
Напиши ему, что имеются в виду текстовые игры.
image.png207 Кб, 1346x974
306 849467
307 849473
>>849467
А менее бесполезные советы ИИ давать может?
308 849474
>>849473
Попробуй задавать более конкретные вопросы.
309 849475
>>849474
Окей, как сконструировать систему управления состоянием мира, какие методики используются, и так далее. Естественно в контексте текстовых игр.
310 849477
>>849475
Ну ты и душнила. Смотря что у тебя за мир, насколько детализированный.
У меня например заведено тупо несколько переменных. И затем некоторые сцены и некоторые действия появляются и исчезают в зависимости от этих переменных. Вот я выше кидал пример >>843173 действие "Взять ключ" становится видимым если соответствующая переменная равна нулю, то есть ключа нет. То есть мир описан конечным множеством состояний.
Но такой подход не подойдёт если ты захочешь чтобы ключ можно было положить в любом месте или воткнуть в любое отверстие. Но в моей задаче этого и не требуется.
Кстати может мне как-то назвать свой движок? Уже написано очень много кода, а названия всё ещё нет.
311 849478
>>849477

> Смотря что у тебя за мир, насколько детализированный.


Желательно открытый, процедурно сгенерированный мир.
312 849480
>>849478
Тогда мой подход тебе не подойдёт. Как ты представляешь игровой процесс в своей игре?
313 849481
>>849480
Главная задача - выжить как можно дольше. А так - иди куда хочешь, делай что хочешь.
314 849482
>>849481
Подробнее опиши.
315 849483
>>849482
Чего подробней, если это только концепт.
316 849485
>>849481
>>849483

> Главная задача - выжить как можно дольше. А так - иди куда хочешь, делай что хочешь.


> Главная задача


Как игрок об этом узнаёт? Какие есть второстепенные задачи? Как о них узнаёт?

> выжить


От чего можно умереть?

> как можно дольше


Как измеряется время?

> иди куда хочешь


Как игрок взаимодействует с персонажем и миром? Как укзаывает куда идти? Куда вообще можно пойти, чем ограничено передвижение?

> делай что хочешь


Какие действия и над чем возможны? Как игрок совершает эти действия? Как результаты действия влияют на персонажа и на мир?
Вот ответишь на эти вопросы - возможно это будет КОНЦЕПТ. А пока что это только пук.
317 849487
>>849485

> От чего можно умереть?


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

> Как измеряется время?


В днях.

> Как игрок взаимодействует с персонажем и миром?


Путем ввода комманд через клавиатуру или через мышь.

> Куда вообще можно пойти, чем ограничено передвижение?


Передвижение ничем не ограничено, локации генерируются в реальном времени.

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

> Какие действия


Чем больше, тем лучше.

> и над чем возможны?


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

> Как игрок совершает эти действия?


В мире игры - физически, используя части тела.

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


Зависит от собственно симуляции, т.е к самому изначально заданному вопросу. В этом и заключается сабж.
318 849490
>>849487
Ты опять пишешь общие фразы. Пока не будет конкретики я не буду тебе отвечать.
319 849491
>>849490
На данный момент интересны только системы симуляции.
320 849728
>>849491
Анон, ты почему мой пост >>849455 проигнорировал?

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

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

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

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

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

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

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

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

Более технические детали зависят от выбранного тобой инструментария. Если не планируешь графику, то бери что угодно и начинай кодить.
320 849728
>>849491
Анон, ты почему мой пост >>849455 проигнорировал?

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

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

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

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

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

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

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

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

Более технические детали зависят от выбранного тобой инструментария. Если не планируешь графику, то бери что угодно и начинай кодить.
321 849748
>>849728

>весь мир игры представляет собой граф


пиздец, 2023 год
322 849758
>>849748
Конечно же ничего лучше ты не предложишь.
323 849761
>>849728
Твой пост - вода. Речь идёт о методиках симуляции мира. Ты хотя бы конечные автоматы, или марковские процессы в пример привел, инфоцыган.
324 849799

> Ребят, как летательный аппарат?


> Тебе какой? Самолёт, вертолёт, воздушный шар.


> Мне чтобы летал и чтобы им управлять с помощью управления


> Подробнее


> Чтобы летал по воздуху


> Начни с изучения физики


> 2023 @ физика


> Твой пост вода

325 849806
>>849799
Не виляй, тебе уже сказали, что речь идет о методиках симуляции.
326 849810
>>849806

> методиках симуляции.


Нео, залогинься. Можно быть тебе интересна не симуляция, а генерация?
Просто симуляция это подражание. Есть столько способов СИМКЛИРОВАТЬ реальные процессы на компьютере, начиная от математических моделей процесмов и заканчивая устройствами для стимуляции, что или нахуй с такими вопросами.
327 849814
>>849761

>марковские процессы


>бросаем монетку, идем или влево или вправо, получаем рандомное блуждание


Мда. Одну воду на другую поменял.
328 850320
Привет. Всем похуй, но я продолжаю.
Итак, моя джисонина выросла до 2,5к строк. Теперь я понимаю насколько я правильно сделал что написал редактор. Без этого я бы зарылся в таком большом файле.
Олсо хотел завести новый акк в гугл плей, оплатил местной картой, теперь они требуют армянский документ. А у меня только российские. Не знаю как быть.
А ещё я теперь буду подписаться лес.

лес
329 850582
Мда уж у меня кодогенерация конечно. Надо было вводить типы данных. А джисонина тем временем уже 3,1к строк на 103 сцены. И это ещё толком сюжет не раскрыт.

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

лес
331 851674
>>851659
Все, бросай уже проект, никто в такие игры не играет
Screenshot2023-01-18-07-51-35-167com.android.vending.jpg492 Кб, 1080x2400
332 851716
>>851674
Хуй будешь?
333 851767
>>851716
а как они раскручиваются?
334 851828
>>851767
Вагую что в основном органически. Во вторую очередь наверное тематические сообщества. А тем более сейчас для Русостана монетизация всё, так что только органический рост. Я думаю через месяц-другой я сам выложусь в общий доступ, если меня не депортируют обратно и не застявят рыть окопы.
Один квест (Рассвет) вообще представлен в Стиме, а в ГП это скорее дополнение.
Кстати я уверен что автор Рассвета сидит итт или хотя бы на абучане. Я прошёл всё что было под андроид и оценил двачерские шуточки.

лес
335 852271
>>851828

> если меня не депортируют обратно и не застявят рыть окопы


От души желаю тебе, братишка, депортации и окопов. Потом охуенные квесты напишешь, после такого-то экспириенса.
336 852277
>>852271
Из другого мира
трупов
337 852279
>>852277
Лучшие книги были написаны ветеранами.
338 852291
>>852271
Присоединяюсь к пожеланиям!
339 852297
>>852271
>>852291
От души, анончики. Но есть опасность лишиться рук, тогда останется либо хуем, либо ногами писать тексты.

лес
image.png91 Кб, 1648x448
340 852314
Я запилил поиск недостижимых сцен. Оказалось довольно много таких, иногда забывал написать переход, иногда просто что-то писал как заметку и не связывал с основным графом. Сколько раз давал себе обещание не кодить поздно ночью, но никак не могу остановиться.

лес
341 852404
>>852314

> поиск недостижимых сцен. Оказалось довольно много таких


Да и хуй с ними
Снимок экрана от 2023-01-22 03-58-31.png83 Кб, 1359x631
OP 342 852795
Оживлю тред.
Начал делать игру про фентезийный бордель на Gruescript.
343 852803
>>852795

> Gruescript.


А как и где будешь её публиковать?
OP 344 852808
>>852803
На itch.io

Если не забью, конечно же.
345 852810
>>852808
Как там вообще, пользуются популярностью текстовые игры?
Почему выбрал именно Gruescript?
OP 346 852893
>>852810

> Gruescript


Нравится объектная модель, возможность локализации на русский , простота ЯП, ну и для игрока кнопки тыкать более интуитивно, чем команды писать.
OP 347 852894
>>852810

> Как там вообще, пользуются популярностью текстовые игры?


Точно не знаю. Но как хостинг игры платформа хорошая (впрочем у меня есть и свой VPS, могу хостить игру на нём).
image.png456 Кб, 3052x1286
348 853521
Ух бля! Как думаете, что это?

лес
349 853545
>>853521

>Ух бля! Как думаете, что это?


>пёс


Проебывание времени на какую-то хуйню
image.png925 Кб, 811x743
350 853550
>>853545
ты чё пёс я геймдевелопер
351 854491
Я же говорил что у меня квест компилируется гредлом? Так вот, я разбил свой огромный джисон (уже под 10к строк!) на много маленьких и один индексый. И гредловая таска перестала работать. Сколько не запускаю, всё одно и то же. Оказывается она кеширует по входным параметрам. Помню так же dvc работал ололо. Короче я отключил кешрование и всё заработало. А если бы не так то пришлось бы в индексном файле добавлять хеши или версии, чтобы он изменялся при каждом изменении каждого файла.

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

держу в курсе, ваш лес
352 854515
>>741998 (OP)

>разработку интерактивных историй.


Самое бесперспективное направление игростроя, пустая трата времени, остановись сейчас, чтобы еще больше не проебаться
OP 353 854528
>>854515
Игры делают для души, а не ради денег.
354 854539
>>854528
А можно делать и для души и для денег
355 854694
>>854539
Они смогли https://store.steampowered.com/app/1676550/Dull_Grey/
До этого джва года джавили другую игру в виде пробы пера https://dtf.ru/gamedev/55393-vagon-vagon-klubok-tehnologiy-vnutri-prostoy-tekstovoy-igry

мимопроходил
image.png2,4 Мб, 1618x1618
356 856065
У меня уже 273 сцены и готова первая иллюстрация! Сколько строк в джисонинах я уже даже не считаю.
А знаете что меня привлекает в этом деле? Часто, идя по улице, я спрашиваю себя, что там в этих домах? Как там живут люди, и люди ли там живут? Вот бы залезть на ту крышу, спуститься в подвал, перелезть через перила. И тут же начинаю фантазировать что там и как.
И вот у меня наконец-то есть инструмент чтобы закрепить свои фантазии. Любой подвал, любая крыша, было бы только время записать! Хоспади, как же круто.

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

лес
buitengebieden-1616506625849978881-20230121014307-vid1.mp43,6 Мб, mp4,
720x1280, 0:18
357 856085
>>856065

>что там в этих домах? Как там живут люди


Так же как и все. Недавно иду на остановку, стоит тралик, мимо бежит женщина лет 55 с двумя детьми на этот троллейбус, одета бедно, выглядит как пидараха. Видно, что у нее ноги больные, медленно двигается. Меня обгоняют и она запыхиваясь на бегу говорит детям - всё, сейчас помру, назовите в честь меня троллейбус. - Вот думаю, так пренебрежительно относишься к людям, а у нее чувство юмора есть, может человек хороший с глубоким внутренним миром. Перед самым траликом она еще и упала немножко
358 856201
>>856085
Это не чю, это типичная пидорашкинская манипуляция детьми. Без цели, просто по привычке напоминает о своей смерти чтобы поддерживать нервозность в детях.
Ох сейчас умру, ах сейчас помру, как же не бомбит от них! Эти хабалки до 80 изи живут, когда их мужья уже в 60 всё.
359 856971

>бредогенератор


Даун не разобрался с настройками и несет чушь. Этот тред не имеет смысла, NovelAI даёт просто безграничные возможности для отыгрыша.
360 857011
>>856971

> Этот тред не имеет смысла,


нет ты
361 857862
Аноны, а есть какой-нибудь алгоритм, который сам бы настраивал работу с симуляцией мира, тысячими взаимосвязей объектов и вот это всё?
362 857866
>>857862
Ты опять выходишь на связь?
363 857867
>>857866
Я серьезно спрашиваю. Было бы заебато иметь что-то систему, которая работает с состоянием мира, а автору нужно лишь писать текст. Алгоритмы с подкреплением в теории могут это обеспечить, но это весьма сложные системы.
364 857869
>>857862
Конечно.
for (o1 in objects):
for (o2 in objects):
if (o1 is something and o2 is something): do_something
else: ....
365 857874
>>857869
Это явно не будет работать.

Просто если так подумать, бессмысленно заниматься state hell самостоятельно. Комбинаторный взрыв выходит. А вумный компьютер способен и миллионы связей просчитывать и веса им расставлять.
366 857887
>>857874
Не очень понял причем тут state hell. Если ты про то, что он "сам" посчитает какой-то пайплайн, в каком порядке считать связи... Я в прошлом году угорел по SAT/SMT солверам, но и они не панацея, комбинаторный взрыв сложно обмануть. Смотрел Дениса Юричева, читал книжки.
В нейронках и генетических не разбираюсь совсем, никогда ими не занимался.
Хз нужен ли сложный алгоритм? Вон игра Жизнь, полтора простейших правила, а комбинации получаются сложные. Как и в жизни, просто атомы летают по довольно простым правилам, а получается химия, молекулы всякие. Например потоки жидкостей/газов реально не посчитать. Да и вообще, я у себя пытаюсь склеивать такие объекты в один "объем газа", а там уже работают просто статистические методы. Вот нам же не надо знать скорость каждой молекулы газа, мы можем работать всего с единичными значениями температуры, давления, плотности.
367 857889
>>857887

> SAT/SMT солверам


Поподробней. И как их можно применить в IF.
368 858966
>>857889
Я не понимаю какие задачи стоят в IF. (Для меня IF это что-то из 80-х, где автор просто ручками прописал все действия на сцене или над объектом - то есть я бы делал через ООП).
С помощью SAT можно решить задачку Эйнштейна (которая, в красном доме живет Элвис, Боря живет в доме слева от Элвиса). Еще используют в пакетных менеджерах для разрешения зависимостей. Вот и подумалось, что может быть это можно приспособить для автоматического упорядочивания кто с кем взаимодействует.
369 860736
Плотненько держу тебя в курсе, анончик джан!
Внутри приложения я сделал экран отладки чтобы можно было вручную установить значение каждой переменной. А для сцен я даже сделал список сцен с понятными именами чтобы легко переключаться.
Всего сейчас у меня 346 сцен, 32 переменные и 1 иллюстрация.

лес
370 861577
>>851659

>146 сцен, 4,2к строк в джисонине.


Звучит как оверинжиниринг.
371 861579
>>861577
Это претти джисон, там скобочки, переносы строк и тп.

лес
372 861606
>>861579

>претти джисон


Это пробовал? https://hjson.github.io/

>>852314

>не связывал с основным графом


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

>>856065

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


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


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

>>857862

>алгоритм, который сам бы настраивал работу с симуляцией мира, тысячими взаимосвязей объектов


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

>>849761

>Речь идёт о методиках симуляции мира.


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

>конечные автоматы


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

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

> Это пробовал? https://hjson.github.io/


Нет, впервые вижу. Сейчас мельком посмотрел, не вижу как мне это поможет. Олсо, размер джисона не является для меня значительной проблемой на текущем этапе.

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


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

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


Да, что не так?

лес
374 861662
>>861610

>как мне это поможет


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

>mermaid-js


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

>Да, что не так?


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

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

Ну, не важно, я понимаю, что это очень похоже на спор "книга или фильм" (текстовая игра ≈ интерактивная книга, а визуальная игра ≈ интерактивный фильм), тут просто восприятие или вкусы у людей принципиально разные. Я просто удивился, что мысли похожие, а результаты - в том числе игры - такие разные.
374 861662
>>861610

>как мне это поможет


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

>mermaid-js


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

>Да, что не так?


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

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

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

> что такого в текстовом описании очередной квартиры?


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

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

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

> Мой основной проект - 3D


А чё как, дай посмотреть.
376 861940

>mermaid-js


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

>>861791

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


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

>Разумеется делать это я не буду.


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

>Огромное разнообразие, но при этом без шизы "поверните налево-направо".


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

>А чё как, дай посмотреть.


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

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

Чему я удивился, так это тому, что мой проект лучше всего описывается твоими словами здесь: >>856065

>А знаете что меня привлекает в этом деле? Часто, идя по улице, я спрашиваю себя, что там в этих домах? Как там живут люди, и люди ли там живут? Вот бы залезть на ту крышу, спуститься в подвал, перелезть через перила. И тут же начинаю фантазировать что там и как.


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


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

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

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

Собственно, я думал, что можно сделать базовую версию игры совсем без графики, только условные локации и персонажи, чтобы вести с ними диалоги или какие-то текстовые взаимодействия. Но потом понял, что мне всё-таки ближе графика, чем текст, даже если эта графика сама по себе не будет сложной (главное чтобы был объём, ибо бегать по 2D плоскости не хочется).
376 861940

>mermaid-js


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

>>861791

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


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

>Разумеется делать это я не буду.


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

>Огромное разнообразие, но при этом без шизы "поверните налево-направо".


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

>А чё как, дай посмотреть.


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

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

Чему я удивился, так это тому, что мой проект лучше всего описывается твоими словами здесь: >>856065

>А знаете что меня привлекает в этом деле? Часто, идя по улице, я спрашиваю себя, что там в этих домах? Как там живут люди, и люди ли там живут? Вот бы залезть на ту крышу, спуститься в подвал, перелезть через перила. И тут же начинаю фантазировать что там и как.


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


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

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

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

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

лес
378 862018
>>861940

> 2 пик


Выглядит годно! Там в каждый дом прям можно зайти? Сколько всего домов, сколько помещений в каждом доме? Сразу всё держишь в памяти или подгружаешь?

> Какая-то фигня без задач.


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

> Если применить процедурную генерацию


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

> до играбельной версии ещё далеко


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

> даже если эта графика сама по себе не будет сложной


Я вспомнил ещё пример unturned или как там. Тоже простая графика, но офигенный геймплей. Хотя понятно это совсем другой жанр.
image.png182 Кб, 1042x1498
379 863874
Раскрасил граф сцен потому что иначе уже не разобраться. Зелёный - готовые, жёлтый - тудушки, без цвета - какие-то непонятные.

лес, колорист от бога
380 863983
>>861791

>числовая метрика чтобы понимать в каком темпе я работаю


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

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

>слушать анекдоты по радио, пока едешь в машине


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

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

>>862018

>>Если применить процедурную генерацию


>имхо в тексте это будет выглядеть тупо


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

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

>Выглядит годно!


>Вот то что ты показал на скришоте выглядит классно.


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

>Там в каждый дом прям можно зайти? Сколько всего домов, сколько помещений в каждом доме?


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

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

>Сразу всё держишь в памяти или подгружаешь?


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

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


Не могу ничего обещать)

>Я вспомнил ещё пример unturned или как там. Тоже простая графика, но офигенный геймплей. Хотя понятно это совсем другой жанр.


Да, я играл в него, в разные версии. Это одна из игр, которые меня вдохновили и мотивировали в своё время, хотя стиль её графики мне не нравится. И я даже думаю, что сделаю свою игру полностью бесплатной, чтобы как и в Unturned люди могли свободно играть, даже если не имеют возможности платить. И в перспективе опенсурс, чтобы игра имела возможность жить без меня, а то очень обидно, когда игры умирают без возможности продолжить разработку силами заинтересованных игроков. Но перед этим нужно сделать что-то достойное)
380 863983
>>861791

>числовая метрика чтобы понимать в каком темпе я работаю


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

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

>слушать анекдоты по радио, пока едешь в машине


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

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

>>862018

>>Если применить процедурную генерацию


>имхо в тексте это будет выглядеть тупо


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

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

>Выглядит годно!


>Вот то что ты показал на скришоте выглядит классно.


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

>Там в каждый дом прям можно зайти? Сколько всего домов, сколько помещений в каждом доме?


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

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

>Сразу всё держишь в памяти или подгружаешь?


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

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


Не могу ничего обещать)

>Я вспомнил ещё пример unturned или как там. Тоже простая графика, но офигенный геймплей. Хотя понятно это совсем другой жанр.


Да, я играл в него, в разные версии. Это одна из игр, которые меня вдохновили и мотивировали в своё время, хотя стиль её графики мне не нравится. И я даже думаю, что сделаю свою игру полностью бесплатной, чтобы как и в Unturned люди могли свободно играть, даже если не имеют возможности платить. И в перспективе опенсурс, чтобы игра имела возможность жить без меня, а то очень обидно, когда игры умирают без возможности продолжить разработку силами заинтересованных игроков. Но перед этим нужно сделать что-то достойное)
381 864216
>>863983

> главной метрикой является количество слов или символов


Годно. Очевидная мысль, но мне почему-то в голову не приходила. Благодарю.

> Ты только в эмуляторе тестируешь?


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

> Кстати, как думаешь, слепые часто играют в текстовые игры?


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

> Не могу ничего обещать)


Ну лан, что поделаешь.

> неизбежно возникают мысли


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

>ррряяя текстовые игры нинужны яскозал


Зачем ты в этот тред зашёл?

>>864490

>весь тред изобретаете велосипеды


Так-то это самое весёлое в геймдеве...

>кроме парсера ру яз


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

Хммм, интересно, а чатбот - это текстовая игра?
Где грань между чатботом и текстовой игрой?
384 864795
>>864791

>наполнение главнее технической части


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

> твой сценарий


У текстовой игры необязательно должен быть сценарий.
image.png18 Кб, 676x148
386 865606
Третьего дня, по совету проверенного камрада, пересчитал печатные символы в своём сценарии. Получилось 65548 символов или 36 страниц А4 если по 1800 символов на странице. Я даже удивлён что так много. Но вроде нигде не нашёл ошибки. Это только текст, который может увидеть игрок, без управляющих конструкций, разметки и тд и тп.

лес
387 865822
>>865606

>65548


Неожиданно близко к 2 в 16 степени, максимальному значению двух байт: 65536. Совпадение, наверное.

Молодец.

>Я даже удивлён что так много.


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

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

Когда поиграть можно будет?
388 865879
>>865822
Спасибо.

> Неожиданно близко к 2 в 16 степени, максимальному значению двух байт


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

> Не знаю, зачем тебе в листах А4


Я раньше писал рассказы и повести, мне так привычнее оценивать.

> число строк консоли,


Лол.

> Когда поиграть можно будет?


Закрытое тестирование я планирую начать в течении недели-двух. Если хочешь порыться принять участие, напиши на FoEEfrestNarrativesStudioANUSg,fymailPUNCTUMco^K@m
Если нет то где-то через месяц будет открытое тестирование, ссылку выложу здесь.
389 865897
>>865822

> их ведь не только написать нужно, но и связать


А тут спасибо моему редактору.
Я заметил что у меня получается два типа глав: главы-повествовательния и главы-действия.

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

А вот с главами-действия всё интереснее, для каждой я придумываю свой механизм. Например для главы с радио я завёл две переменных: сколько времени прошло и текущая частота. После каждого прослушивания время инкрементится. Каждая частота - это отдельная сцена, которая выводит разные тексты в зависимости от времени. Таким образом если первая станция играет ABCD, а вторая EFGH, то мы можем послушать AFGH или EFCD или AFCH и так далее. Прямо как жизни не получится полностью послушать сначала одно, потом другое. Надеюсь ты понял о чём я.
Для других сцен я придумывал другие прикольные решения, но всё в рамках моего движка, пока что ни одного костыля не было использовоано.
Снимок экрана от 2023-03-05 03-20-46.png56 Кб, 1359x631
390 868639
Ахуеть тред тонет.

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

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

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

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

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

- Повышающаяся сложность.
У дайса мира тоже есть бонус - сложность, которая будет будет увеличиваться через н-ое количество пройденных локаций.
391 868655
>>865879

>мне так привычнее оценивать.


петух графоманский.
оцениваю в КОЛИЧЕСТВЕ ЗНАКОВ ПЛЕЙН ТЕКСТ.
ИДИ НАХУЙ ЧМО.
392 868660
>>868639

> пик


От любви до ненависти один дэ десять.
393 868690
>>868655
Причина тряски?
У меня уже 43 страницы текста и версия 0.11. Скоро начну закрытое тестирование.
лес
IMG20230310211403.png3,1 Мб, 1736x1736
395 869669
Как вам главное меню?
лес
396 869672
>>869669
Вдохновлялся дыркой в экране или блоком камер?

немножко трипофобно
1531165296856.png140 Кб, 370x340
397 869675
>>869669
Петушок
398 869701
>>869672
Там сначала были просто текстовые уроки, я решил переделать на иконки чтобы уменьшить площадь под кнопками, а дальше как-то само.

>>869675
Что же ты творишь, содомит!
399 871024
Сап, текстач. На этой неделе было закрытое тестирование. Накидали мне за шёку багов, большую часть я пофиксил. Сейчас выложил версию с исправлениями + некоторые фичи, например прогресс посещения сцен в процентах и количество открытых концовок. Если всё будет хорошо в ближайшие дни выложу тут ссылку на открытое тестирование. А ещё я завёл группу в вк и канал в телеге.

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

лес
400 871507
Вот и обещанная ссылка на открытое тестирование https://play.google.com/apps/testing/com.forestnarrationsstudio.house

лес
401 873231
Бамп. Не тонем.
402 873413
>>871507
Бро, а PC версии не будет?
ПМ-кун из оружача.
403 873414
>>873413
В обозримом будущем точно не будет. Может быть много позже, не раньше чем через полугода, если будет успех, попробую сделать. Если очень хочется, но нет андроида, можно поставить эмулятор.
404 873425
>>873414
Почему нельзя сконвертировать это за день? Это же мать его просто json.
405 873428
>>873425
Лол нет. Это дело точно не одного дня.
Во-первых там весь юай нативный андроидный. Нужно переписать юай. На чём переписать? JavaFx? Swing? И то и другое мне ещё нужно изучить чтобы переписать. Unity? Я его вообще не знаю, не уверен что он может с явой-котлином работать.
Во-вторых логика отображения там тоже завязана на андроид, всякие ViewModel, LiveData и прочее.
В-третьих сейвы, ачивки, прогресс игры там завязан на андроид.
Логика самой игры да, она отвязана от андроида в той или иной степени. Но гемплей там чисто под мобилку. Редикие картинки и абзацы текста. На десктопе это будет максимум тупо. Возьми например Бесконечно лето, там много разнообразых фонов.
Дальше сами картинки, у меня их тупо мало, недостаточно чтобы был нормальный геймплей (в духе вызуальных новелл) на десктопе.
И последнея дистрибьюция. Я вообще не знаю как распространять десктопную игру. Выложить файл на гугл диск? А как потом обновлять? Как собирать статистику с дектопного приложения? В стим? Вообще не знаю какие там требования.

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

Сам я планировал заюзать kotlin native и следующим шагом сделать версию под айос.
406 873429
>>873425
И кстати там не просто джисон. В нём ещё описаны переменные и операции с ними. Ну то есть если у тебя есть ключ, то в сцене с дверью появится пункт "открыть ключом". Если ты узнал чьё-то имя, то потом будет возможность обратиться к нему по имени. И так далее.
407 875547
На правах бампа. Я награфоманил ровно 666 сцен. Дело движется к кульминации.
Иллюстарций уже 7, а ещё я нашёл подходящую музыку и договорился с её авторами.

лес
408 878710
Жаль что тред не пользуется популярностью. Я тут похоже один.
409 878711
>>878710
Не один.
410 878712
Но похоже создавать игры бесполезно. Компьютерные никогда достигнут величия той же D&D.
411 878722
>>878712
Нейронки могут приблизиться как минимум, у детерминированного подхода шансов нет особых.
412 878723
>>878712
Нейронки могут приблизиться как минимум, у детерминированного подхода шансов нет особых.
413 878726
>>878712
Похоже это самый тупой пост года в нашем гд, поздравления этому подебителю.
414 878753
>>878726
Есть контраргументы?
415 878883
>>878710
бро, ты не один, нас как минимум n-1
Я конечно не ИФщик, но вот прям сейчас пилю сижу в меру своей поехавшести текстовый рпг-квест на Instead
416 878954
>>878710
Не один, я захожу раз-два в год.
мимописака с десятком забытых новелл и одной Самой Главной Ненаписанной
417 879017
>>878753
Ну я могу аргументировать.
1. Величие днд слегка преувеличено, среди илитных ролевиков это жвачка сорт оф вкусиочка. Там довольно штампованные сюжеты типа вы познакомились в таверне, потом пошли резать орков, потом дварф упал с обрыва и выкинул 20. Условный шэдоуран поинтереснее.
2. Насколько можно судить по /ai, аноны давно перекатились в ролки с нейросетями, так что компы тут уже возможно достигли такого величия.
мимо
418 879033
>>879017
Пока нейросети тупят сильно, а запустить локально, как правило, возможности нет.
image.png515 Кб, 1280x773
419 879529
Я это, выложил публичное демо https://play.google.com/store/apps/details?id=com.forestnarrationsstudio.house

А ещё создал тредик в ruvn https://2ch.hk/ruvn/res/147200.html (М) не знаю правда, может меня оттуда погонят тряпками.

Вот мой первый пост >>841091 С тех пор прошло уже пять месяцев.

лес
420 880618
421 880641
>>880618
Ты зачем насилуешь труп, перекатывайся в Twine.
image.png172 Кб, 708x776
422 889303
Сап, текстач. Я выложил новую публиную версию своего долгостроя. Ссылка всё та же >>879529
В этой версии довёл до конца две сюжетные ветки. Осталось ещё две или три.

лес
423 889321
Я только одного не понимаю, зачем нужны специальные движки? Наверняка же на половине захочется сделать какие-то свои фичи, какую-нибудь особую графику вставить или ещё че-нибудь, зачем упираться в эти движки а не делать сразу в юнити или годоте или вообще с нуля?
424 889400
>>889321
Порог вхождения и туллинг, чел. На условном QSP можно сразу сесть и написать игру без особых навыков. Юнити нужно какое-то время осваивать + знание c#, а уже самому написать движок даже аналогичный qsp это дело многих месяцев.
425 889517
>>889400

>написать игру

426 889534
>>889400

> На условном QSP можно сразу сесть и написать игру без особых навыков.


Хуй ты игру напишешь без особых навыков. Даже на QSP.

Надо уметь программировать, уметь рассуждать с точки зрения игрока, уметь в игровые механики, попытаться предсказать все действия игрока, чтобы не портить погружение.
427 893367
>>889321
потому что эти специализированные движки итак ничего не ограничивают, можно хоть как извращаться, просто есть удобные штуки для очень часто необходимых в каждой игре вещей, но можно ими не пользоваться
есть божественный instead, на котором игры пилятся в одно удовольствие и он гораздо лучше архитектурно продуман, чем даже qsp и другие
428 903334
Бамп.
429 904027
Еле нашёл ваш тред ребята, хули вы тут спрятались. Надо в название треда добавить "Twine" чтобы никто не пропускал.
430 904054
Черт, как сделать «паззлы» в эроигре? Ну типа, вызов игроку.
431 904061
>>904054
Если про твайн говорим то в ДОЛе, например, это выполнено через менеджмент ресурсов и плохие концовки. Если не хочешь нежелательный исход - делай менеджмент, хочешь облегчить менеджмент - исследуй игру.
432 904064
>>904061
А если без ресурсов и циферок?

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

Интересно было бы пообсуждать сабж.
433 904065
>>904064
Цель подобного вызова, имхо, это сделать игроку неприятно, чтобы цель игры не доставалась ему слишком легко. Можешь сделать джрпг-подобную боевую систему и сделать битвы, можешь сделать какие-нибудь мини игры. Думай об этом как о том, где нужно причинить игроку боль, чтобы усилить удовольствие от получения награды.
434 904713
>>904027
Надо. Жаль, отдельного твайнотреда нет, я как раз ебу пейсочницу/эрпоге на нём. Хотелось бы с ебиномышленниками поговорить.
435 904766
>>904713
Обсуждай здесь в более общем треде. Если внезапно появятся десятки единомышленников, тред улетит в бамплимит, вы перекатитесь в отдельный тред. Это база имиджборд, это классика. А так-то можешь создать очередной пустой тред, наподобие тредов по скретчу/снэпу или крайэнджину. И где эти треды теперь? Утонули.
436 904827
>>904766
Так это и так ясно что будет как в меме а опом и его тредом.
Тут сильно не хватает ссылкоты.

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

Я сам безыгорный нуфак. Вкатываюсь в сахарный кубик, пытаясь сделать с нуля песочницу/рпг, пока всё норм идёт, привык почти уже к новому инструменту, выезжаю в основном за счёт того что могу немного в жс и намного больше в css, html. Ставку делаю на взаимодействие, гриндан, дроч механический, ни в коем случае, не на нарратив, ибо в нём нихуя не смыслю. Планирую интереса ради попробовать прикрутить мультиплеер(именно ради эксперимента, я не собираюсь его в релизе держать) и я знаю, как сделал бы это уже.
А пока я занят больше продумыванием логики повидения неписей, их генерацией и как реализовать взаимодействие с ними в устраивающем меня объёме и попутно делаю интерфейс, который будет покрывать все нужды.
437 904849
Пока на работе делать нехуй, я попробовал покурить жс, в поисках решения проблемы генерации мира и инвентаря. Решение нашёл.
438 904868
>>904849
Пакеж что получилось
439 904884
>>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);

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

Как-то так.
439 904884
>>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);

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

Как-то так.
440 904890
>>904884
А как планируешь делать сохранения?
441 904919
>>904890

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

Вы тоже пишите, если есть что-то.
443 904922
>>904890

Сейчас ещё подумал, что, может быть, сделаю одну вещь, которую вообще пока не видел в играх на твайне: при условии наличия файлов сохранения, грузится самый новый, то есть, не нужно загружать сейв.
444 904996
>>904827
Создай в бредаче пробный, потом загони в отдельный на гд.
445 904999
>>904996
Ни в коем случае. Я не хочу чтобы в гд набежали различного вида долбоёбы, которые там обитают. Я знаю, о чём говорю, я сам в б регулярно бываю.
446 905000
>>904999
Глупости говоришь, ладно я сам создам
447 905009
>>905000
Чел. Ты неправ. Не создавай, подумой. Там вся досках в хохлозависимых, инцелах-блэкпильщиках и пидорах. Они нахуй тут не нужны.
448 905109
Итак, сегодня я дорвался до инвентаря и могу сказать, что это сложнее, чем я сначала думал.

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

https://pastebin.com/U1qbxA59
449 905119
получилась хуета, надо будет пофиксить.
450 905134
>>905109
Я тоже долго думал над инвентарём. В итоге надумал несколько подходов

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

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

Где описывать взаимодействия тоже несколько вариантов.
1. В коде. Но тогда для каждого нового предмета нужно менять код. Не айс.
2. В файлах сценария (джисон например). Тогда придётся изобретать свой формат (язык), состоящий из атомарных взаимодействий, и их комбинацию описывать в файле сценария.
451 905135
>>905134
Я к этому моменту нашёл решение и нашёл обходное решение.
Большая часть предметов будет использоваться в 2-3 окнах. Я не буду буквально каждое применение прописывать, я буду прописывать как предмет действует внутри пассаджа инвентаря, который уже будет апдейтит значения в паре с ключами в объекте. А там посмотрим. Предметов будет умеренно много. Я ручками в объекте пропишу их свойства, но эффект будет применяться в инвентаре, да. Для тестов пока соду и энергетик впилил в инветарь, как дойдёт до надеваемого, запилю одежду красные труселя и буду развлекаться.
452 905136
>>905134
Комбинировать предметы я не стану. В рот пусть ебутся, это не душный квест, это душная гриндилка.
453 905182
>>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" при её загрузке. В случае ошибки функция вернёт код ошибки. Если всё прошло успешно - вернёт ноль.


Соответственно, если каждый подлежащий сохранению объект, при своём изменении использует функцию записи, то когда нам нужно сохранить игру, у нас уже готовый набор данных в памяти, мы просто берём и выгружаем его в файл, или в отдельную переменную-чекпоинт в памяти, как нужно так и выгружаем.
Ну и разумеется, в вышеуказанных функциях должно реализовать все необходимые блокировки, чтобы, например, нельзя писать, пока идёт сохранение.
454 905248
>>741998 (OP)

>альтернативных движков


Кто-нибудь на Godot пробовал делать интерактивную историю? GDScript достаточно удобен + есть аддоны.
455 905284
Кстати, а в чём смысл писать текстовые игры на движках для 2д и 3д игр? Основная платформа для текстовок - html или терминал. Unity, Godot и всё прочее выолядит как большой оверхед не стоящий того.
456 905290
>>905284
Я вот уже почти год пишу свой движок именно движок где-то месяц или два писал, остальное время сценарий и тулинг для движка
лес
457 905451
>>905248
Неважно насколько удобен скрипт. Само наличие кодинга отпугивает жудожников с писателями. Им подавай но-кодин-энжинс.
458 905538
>>905451
Вот когда в ро сидел и листал тред этот, было как раз ощущение что большая часть контингента как раз пейсаки с художниками, которые боятся кода, как кот воды.

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

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

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

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

Это очень бьет по погружению, на самом то деле.
461 905696
>>905689
Опытный манчкин не пожалеет бесцельно проведённого времени и тысячу раз кликнет одно и то же действие, чтобы на тысячу первый раз услышать повтор, прибежать на форумы и сказать всем что вот у тебя в игре тысяча реплик повторяется.

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

>>905696
Дадая.

Ну чё, я заебал инветарь. Он работает хоть и неидеально.
Решение к окошкам на жкваери не работает, видать где-то штаны стали коричневыми, но я не заметил и не постирал.
Но в крайнем случае можно и без того что я делал на жкваери.
Тактеперь самое время сгенерировать локации и тысячу тянчек.
463 905724
>>905689

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


>очень бьет по погружению


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

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

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

>>905696

>делай по три четыре шесть реплик на действие


Избыточная, бесполезная сложность.

>манчкин


Значение знаешь?

>чтобы на тысячу первый раз услышать повтор, прибежать на форумы и сказать всем что вот у тебя в игре тысяча реплик повторяется


Манчкину плевать на текст, он на числа дрочит. Он будет жаловаться на форуме, что больше не выходит выбить 999 уровень после патча, фиксящего баг.
how to draw a waifu.jpg559 Кб, 1920x4200
464 905731
>>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. Чтобы рисовать хорошо и быстро, нужно очень много рисовать, а техника не столь важна. В какой бы технике вы ни пытались рисовать, для рисунка нужен кропотливый труд. Ускорение работы можно ожидать только когда ваши нейронки в мозгах перестроятся, автоматизируя рутину на подсознательном уровне, но для этого нужно очень много раз повторить эту рутину сознательно. Часть рутины можно переложить на компьютер, но тут нужно смотреть на желаемый уровень контроля над результатом и удобство инструментов.
465 905748
>>905731
Под лапками я имел ввиду что у меня мелкая моторика говна и цнс въёбана.
466 905750
>>905724
К ТЕБЕ ПОДХОДИТ ИГРОК И НАЧИНАЕТ ФЛИРТОВАТЬ
@
"ОТВАЛИ ЧМО"
@
СНОВА ФЛИРТУЕТ
@
"'ОТВАЛИ ЧМО"
@
8 ГРЁБАНЫХ МИНУТ СПУСТЯ
@
"ОТВАЛИ ЧМО"
@
С ЛИЦОМ ЛЯГУШКИ ПОКОРНО ОТВЕЧАЕШЬ НА ПОДКАТЫ, ПОНИМАЯ, ЧТО ТЕБЯ ИСПОЛЬЗУЮТ ТУПО ПОТОМУ ЧТО ГЕЙМДЕВ РЕШИЛ, ЧТО СКИПЫ ВРЕМЕНИ В ИГРЕ НЕ НУЖНЫ
467 905754
>>905724

> Значение знаешь?


> Манчкину плевать на текст, он на числа дрочит.


Именно так. И он будет дрочить реплики, пока точно не выяснит число:
>>905696

> вот у тебя в игре тысяча реплик повторяется

468 905845
>>905689
Хороший вопрос. Я вот какие штуки сделал:

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

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

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

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

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

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

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

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

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

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

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

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

> Если игрока рядом нет, неписью начинает делать


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

Между делом накотил пару вещей, чтобы кириллить было удобнее. Вообще, я бы расширил шапку треда в плане твайна добавив полезной ссылкоты. Нам пора думоть о перекате.
image.png78 Кб, 1048x690
475 906261
>>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
}

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

лес
image.png78 Кб, 1048x690
475 906261
>>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
}

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

лес
476 906271
>>906261

> вечером ебём еот опа


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

>>906271
Нам не привыкать, выебем нулл.
478 906276
>>906275
Null Pointer Exception словите.
image.png23 Кб, 411x377
479 906279
>>906276
Мы будем предохраняться!

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

Как дома буду, накидаю полезной твайноссылкоты для шапки.
vscode + t3lt.png134 Кб, 1919x1037
482 906380
Так, настало время ссылкоты.

ОП, в следюущем кате для твайна запили следующую инфу (важный нюанс, я не расписываю все 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.
1697029498438.mp41019 Кб, mp4,
620x720, 0:11
483 906528
>>906261

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


Годно. Я тут подумал, что можно вообще подойти к вопросу заполнения мира непиями с тозиций ленивого программирования. Изначально существует общее описание мира, события, происходящие в нём, описания уровня "торговая гильдия города N наложила заградительные пошлины на продукцию ферм из города M" и пока игрок не интересуется этим вопросом, никакие персонажи не созданы и не существуют. Но! Имеется подробная схема каких персонажей и с камими графиками GOAP создавать, если игрок забредёт в офис гильдии. В этот момент появятся секретарши, клерки, чиновники, заживут своей жизнью.

Вот только как всё это закодить так, чтобы без глюков.
484 906655
>>906528

> с тозиций ленивого программирования


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

> как всё это закодить так, чтобы без глюков.


Это чисто ремесло. Один раз кодишь, другой, а на сотый раз уже без компилятора в одном блокноте можешь писать код. Я так понял ты на яваскрипте пишешь, тут я конечно не советчик. А если не котлине то могу что-то подскзаать.
Screenshot20231012-011425Chrome.jpg528 Кб, 1080x1920
485 906661
>>906655

> у тебя будет


Не знаю, что там у него будет, это вообще мимокрок был.

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

Потому мне кажется ты путаешь, если я тебя понял правильно.
486 906663
>>906528
Ну это все клево но есть вопросики
Что же получается люди только в офисе и никуда не выходят? Или даже так, никогда между городами не ездят? Откуда же тогда каждый день такие пробки на выездах в реале
Как глубоко готов ты детализировать, только до челиков? Как насчет органов, клеток, молекул, атомов? Ведь все еще трудности сделать какую-то способность вроде "превращать железо в золото" включая кровь людей...
487 906680
>>906661

> это вообще мимокрок был


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

>>906663
Так появился Dwarf Fortress
488 906711
>>906680
Короче, аноны треда собираются в одного супер-анона и пилят игорей разных жанров.
Я тебя услышал.
489 906797
>>906711

> аноны


Ты абсолютно не понимаешь сути. Это не пикабу и не вк, где пользователи могу собраться. Здесь один, единый анон. Ему не нужно собираться, он таким был и таким будет, пока Бибизян платит за хостинг.
490 906851
>>906680

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


Респект олдфагу, постигшему суть борд.
>>906655

> Я так понял ты на яваскрипте пишешь


Бэк на расте, фронт на годоте.

> А если не котлине то могу что-то подскзаать


Можешь подсказывать хоть на фортране, я суть улавливаю, а не синтаксис.
491 906897
>>905689

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


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


>Это очень бьет по погружению


>>905853

>пишу игру-тамагочи, и там лишь один NPC, но он обязан быть очень проработанным.


>В такой игре нужно создать эффект, что непись как бы живёт своей жизнью


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

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

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

> Всё ради чего?


Имхо там буквально клеточный автомат работающий по правилам природы (физики/химии/ботаники) и владелец ставит себе "игровую" цель не потерять растение, потому что оставленное в дефолтном состоянии в горшке оно погибнет. Реализация требует найти правильную последовательность шагов/действий, по сути алгоритм.
Иными словами, мотивация не в том что "цветок не умер", а в том, что "я не обосрался и не дал ему умереть, смог вырастить".
493 906902
>>906897
Но в целом с твоим посылом я не согласен. Это и делает картонных персонажей.
Это как с экшн играми, где все больше девушек сражается на высоких каблуках, в пышных платьях. Это физически невозможно. И слишком явно становится что это фишка, а не человек. А ведь потом кто-то насмотрится и решит повторить и сломает свою настоящую ногу.

Вообще, я считаю это уже на грани мошенничества. Такие неписи зачастую просто хибоксы. А иногда даже не хитбоксы, а просто хитпоинты. А иногда даже не хитпоинты.
Но при этом их рисуют людьми, подсовывая игроку, который думает что купит игру про людей.
Давайте тогда делать честнее. Если непись ведет себя как доска объявлений, то и не надо рисовать ее бородатым гуманоидом воспроизводящим анимацию открывания рта. А так и надо рисовать доской объявлений. Если непись умеет себя вести только как тренировочное чучело, тои не надо придавать ему человеческие черты, пусть это и будет набитый соломой мешок.
67678-burzum-download-filosofem.jpg189 Кб, 1024x884
494 906908
>>741998 (OP)
все кто делают не текстовый квест и не книгу-игру в текстовом формате - официально щизы, хер ли вы тут делаете? зочем все это?
495 906918
>>906908
Ебусь с твайном в попытках реализовать свои хотелки, хули доебался? Иди пиши свою книгу, я тут ебашусь по хардкору, не мешай мне ААА-велосипед писать.
496 929573
Здорово, гадолиняч, как ваши творения поживают?
заебали умирать тут
497 929578
>>929573
Никак. Я конечно программист и могу хоть свой движок написать, а вот сценарист и геймдизайнер из меня никакой.
498 929579
>>929578
Хуёво. А у меня графен понемногу появляется(уровня внок), в процессе прикручивания его вариативности к неписям пока.
499 929720
>>929579
Показывай епт все равно мы тут точно одни нас никто больше не видит не стесняйся будь как дома че как не родной братанчик
hs.png1,8 Мб, 1919x964
500 929749
>>929720
Я бы рад похвастаться, но пока оно не в кондиции, чтобы выёбываться. Пока что сегодня прикрутил неписям функцию смены батиных труханов, расширил фунцию апдейта списка неписей в локе, прикрутил адейт стат и внешности для всех неписей в зависимости от стат их. Это ещё не конец, мне ещё ебать как много прикручивать логики с менеджментом труханов и стат, которые на них вляют. Вот собственно, как оно пока.

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

upd. #2: ещё пару вещей в css прописал вдобавок.
501 929753
>>929720
Сейчас увидел на пикче косяк с css небольшой который со стороны не видно, надо будет поправить.
502 930136
>>929749
Норм, койкацу тема. Размер текста бы побольше
503 930215
>>930136
Поскольку я выкатывать не собираюсь, там будет много инфы и зрение у меня збс, то и шрифт я не хочу увеличивать. Я уже как-то другим людям в твайне пишущем показывал, они про шрифт сказали, потому я в курсе.
Но с чего ты подумал про койкацу? Там буквально ничего нет оттуда.
504 930368
>>930215
А Бля ошибся названием проги, давно не юзал перешёл на художников. Успехов тебе
505 930651
>>930368
Ага, спасибо.
506 932435
Прикрутил время и дату(не конвенционально принятым в твайне образом через создание виджетов времени и апдейтов типа <<addmins x>>, где х - количество игровых минут, дельта времени, а полностью свою поделку на жс, функцию инициализации времени в игре и апдейта с аргументом, который принимает минимальную единицу времени(минуты) на которую время сместится(сейчас подумал, что лучше перепишу в жва аргумента - время и единица времени, будет шикарно), немного переписал отображение персонажей, накидал ещё ассетов персонажей, понял, что надо ряд ассетов запилить и чуть изменить логику их хранения и подсасывания в игру.
Надо бы ещё апдейты состояния мира прикрутить к апдейтам времени, но это чуть позже. Я хочу сначала неписей допилить до какой-то точки, когда интеракция с ними не начнёт походить на что-то нормальное, а не кринж с болванчиками, пока я не начал локациями обмазываться и пока они не начали разбредаться.
507 989201
>>742016
>>742017

>Писать текст все умеют, а вот красиво рисовать, делать музыку, вот это всё - нет.


Ну так что, с приходом ИИ всё пошло в гору? Уж всяко иллюстрирование рассказов уж точно стало доступно почти каждому.

>>741998 (OP)

>написать движок самому, благо это не так сложно


Не могу согласиться. Только лишь задумался над этим вопросом - а уже с каждой новой деталью задумки конструкция обрастает, как снежный ком.
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее