Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

1    0    #1
18.05.2019 18:37

Nicord
Участник (+3, -2)
Зарегистрирован: 18.05.2019
Сообщений: 6

Подскажите базовые технологии для текстовой игры

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

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

Основные идеи:
1) Возможность свободно переключаться между локациями по клику мышки.
2) Отсутствие текстового парсера (все варианты ответов заранее прописаны).

Я так понимаю, что требуется базовая память на переменные (взял/не взял предмет, посетил/не посетил место), а также возможность их менять.

Может ещё какие то техники стоит предусмотреть?

P.S. Пишу на python, работа среды предполагается в вебе.

Неактивен

4    1    #2
18.05.2019 20:41

Zlobot
Участник (+206, -36)
Зарегистрирован: 28.09.2017
Сообщений: 112

Re: Подскажите базовые технологии для текстовой игры

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

1). Зачем вообще писать еще один текстовый движок? Причина как правило не из разряда банальных. Например, автор осознает, что для его задумки нет подходящего готового решения. Каждый движок занимает свою нишу. Если повезет, то подтянутся единомышленники, которые будут отлавливать баги, помогать советами, подавать идеи и самое главное писать игры под новую платформу. Увы активных участников и авторов в тестовом комьюнити с годами все меньше. Новичков почти нет, а "старички" уже давно нашли свой излюбленный шест.

2). Python 2 или Pyhton 3? Это принципиально важный вопрос. Если вторая версия, то мог бы посоветовать написать какой-то модуль для RenPy. Наверно кто-то что-то давно хочет или кому-то нужна помощь. Это ВН, но не все ли равно для чего писать код, если просто хочется набить руку выполняя осмысленную задачу. Не могу обещать, что в комьюнити RenPy, кто-то будет рад новому человеку, там такой же рунет, как и везде со всеми его плюсами и минусами. Просто не знаю где еще в рамках ТГИ сообщества может пригодится Python.

3). Боюсь никто не сможет выдать ТЗ для написания текстового движка. Это сложно, долго и очень индивидуально в плане подхода к разработке. Надо играть в текстовые игры, возможно даже попробовать их писать и тогда придет озарение. По другому никак.

4). Тут тухло. Можете присоединится к каналу в дискорде #IFRUS, там теоретически могут помочь, посоветовать во что стоит поиграть или испортить настроение. Это как повезет:) В общем все они в чартиках сидят. Там треньдеть удобно.

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

P.S. Я не гуру и не эксперт. Делаю сосиски в тесте и тушу мясо в квасе. Это сегодня. Такое я умею, а игры там или движки - сложно. Диванный эксперт свое выступление закончил.

Неактивен

2    0    #3
19.05.2019 06:40

Oreolek
Модератор (+450, -169)
Откуда: Кемерово
Зарегистрирован: 02.11.2009
Сообщений: 673
Вебсайт

Re: Подскажите базовые технологии для текстовой игры

Для текстовой игры с выбором вариантов достаточно вывода текста, ввода номеров вариантов и кучи условий if-then-else. Это интересно как упражнение в программировании, но не очень полезно остальным.

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

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

Неактивен

1    0    #4
19.05.2019 12:33

Nicord
Участник (+3, -2)
Зарегистрирован: 18.05.2019
Сообщений: 6

Re: Подскажите базовые технологии для текстовой игры

Зачем вообще писать еще один текстовый движок?

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

Для текстовой игры с выбором вариантов достаточно вывода текста, ввода номеров вариантов и кучи условий if-then-else. Это интересно как упражнение в программировании, но не очень полезно остальным.

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

Ну так, просто размышления на тему. Я недавно поменял область деятельности и заделался python-разраотчиком. На работе то я пишу код как положено, а это просто pet-project для себя.

Ну, собстенно наброски я сюда склыдваю:
https://github.com/IgorZyktin/Essence

Неактивен

0    2    #5
19.05.2019 15:03

blinovvi
Участник (+675, -117)
Зарегистрирован: 16.11.2014
Сообщений: 278
Вебсайт

blinovvi.blogspot.com

Re: Подскажите базовые технологии для текстовой игры

Nicord написал:

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

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

Вообще можно посмотреть тот же twine, например.

А ещё, наверное, полезно определиться, зачем это делать -- и отталкиваться именно от этого: какая цель, какая целевая аудитория, какие у неё запросы, каким видится конечный продукт.

Отредактировано blinovvi (19.05.2019 15:04)

Неактивен

0    0    #6
19.05.2019 15:15

Nicord
Участник (+3, -2)
Зарегистрирован: 18.05.2019
Сообщений: 6

Re: Подскажите базовые технологии для текстовой игры

Основная мысль, лежащая под всем этим делом, помимо собственно практики, это старое аниме из 80-х под названием Bubblegum crisis. Мне давно хотелось сделать игру на его тему, но после нескольких попыток я понял, что никаких других вариантов кроме текстовых я реализовать не смогу. По нему есть куча фанфиков, но 99,9% из них на английском языке. Я подумывал прикрутить возможность автоматического перевода через google-translate. Т.е. в самом базовом варианте это пролистывалка страниц с автоматическим переводом текста. В качестве первичного варианта я просто возьму фанфик и нарежу его на отдельные страницы. Будет только кнопка "Далее" smile.

У RenPy кстати классный формат документа. Я сначала пытался такой сделать, но устал и перешёл на xml. Сейчас подумал что зря, надо добить эту тему, так гораздо удобнее.

Неактивен

1    4    #7
19.05.2019 19:02

Irremann
Участник (+341, -199)
Зарегистрирован: 24.11.2012
Сообщений: 234

Re: Подскажите базовые технологии для текстовой игры

Lua говорят норм и движков много под него smile.

Неактивен

0    2    #8
20.05.2019 09:47

Nicord
Участник (+3, -2)
Зарегистрирован: 18.05.2019
Сообщений: 6

Re: Подскажите базовые технологии для текстовой игры

Мне не нужен готовый движок, мне свой нужен.

Неактивен

0    0    #9
02.06.2019 15:11

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: Подскажите базовые технологии для текстовой игры

Nicord написал:

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

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

Основные идеи:
1) Возможность свободно переключаться между локациями по клику мышки.
2) Отсутствие текстового парсера (все варианты ответов заранее прописаны).

Я так понимаю, что требуется базовая память на переменные (взял/не взял предмет, посетил/не посетил место), а также возможность их менять.

Может ещё какие то техники стоит предусмотреть?

P.S. Пишу на python, работа среды предполагается в вебе.

Во-первых, хорошо бы сразу определиться с основным моментом:

A) будет ли это CYOA, вроде "найди лучшую из 20 концовок" где игрок видит текст + варианты выбора, кликает на один из вариантов и получает следующую порцию текста + варианты выбора. Продвинутые CYOA-игры, могут включать собирание и использование предметов, боёвку, учёт и изменение каких-то характеристик игрока, скрытые триггеры и прочее.

Б) будет ли это заданный автором мир, в котором игрок может бродить, собирать предметы и взаимодействовать с персонажами и объектами мира?


1.A) CYOA похожа на постепенно раскрывающийся рассказ и переключение между локациями в ней, как правило, неуместно. Хороший пример возможностей CYOA можно увидеть благодаря редактору Митрил. Посмотрите его, там есть обучалка. Ознакомитесь с возможностями.

1.Б) Уместность свободного переключения между локациями зависит от конкретной игры. Например, почему бы игроку не идти последовательно из локации А в локацию Б, потенциально имея возможность столкнуться по дороге с чем-то новым? Или наоборот - что если, по сюжету, в какой-то момент в локации завёлся дракон, мимо которого теперь нельзя пройти? Тем не менее, для каких-то игр эта идея может оказаться годной.

2) Нужно будет прописывать "условные варианты", зависящие от наличия предметов, триггеров и прочая. Надо продумать, как будет выглядеть использование предмета. Допустим, у героя есть еда - как дать понять, в каких случаях её можно есть? А если есть фонарик - как дать понять, в каких случаях его можно включать/выключать? Как вообще будет выглядеть собирание/выкладывание/использование предметов.

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

3) Собственно, "выделить переменные и их менять" - это всё, что требуется для текстовой не парсерной игры практически любой сложности))

Неактивен

0    0    #10
03.06.2019 18:06

Nicord
Участник (+3, -2)
Зарегистрирован: 18.05.2019
Сообщений: 6

Re: Подскажите базовые технологии для текстовой игры

A) будет ли это CYOA, вроде "найди лучшую из 20 концовок" где игрок видит текст + варианты выбора, кликает на один из вариантов и получает следующую порцию текста + варианты выбора. Продвинутые CYOA-игры, могут включать собирание и использование предметов, боёвку, учёт и изменение каких-то характеристик игрока, скрытые триггеры и прочее.

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

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

Неактивен

1    0    #11
21.06.2019 17:36

Nicord
Участник (+3, -2)
Зарегистрирован: 18.05.2019
Сообщений: 6

Re: Подскажите базовые технологии для текстовой игры

Работа продвигается медленно. Собрал вот бинарник для пробы, можно немного погонять.
https://yadi.sk/d/8f32pjfW-rjl3w

Неактивен

0    0    #12
15.03.2020 22:01

rulog
Участник
Зарегистрирован: 12.03.2020
Сообщений: 1

Re: Подскажите базовые технологии для текстовой игры

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

Неактивен

1    1    #13
16.03.2020 06:05

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 795
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Подскажите базовые технологии для текстовой игры

rulog написал:

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

http://taplap.ru/articles.php?op=show&aid=40 - Хорошая старая статья от Emperor. Выбор платформы пропускаем, идём сразу в Главу 2, читаем структуру игры.
Если программирования совсем не знаете, не могу рекомендовать RINFORM, RTADS, INSTEAD.

Два варианта:
1. Выбираем менюшную платформу. "Менюшки" я пишу (сейчас уже крайне редко) на URQ и AXMA.
2. Ищем соавтора программиста. Если Вы умеете хорошо писать, делать сценарии - это был бы неплохой вариант.

Отредактировано Korwin (16.03.2020 06:05)

Неактивен

3    0    #14
16.03.2020 13:18

Enola
Участник (+465, -141)
Зарегистрирован: 20.11.2015
Сообщений: 325

Re: Подскажите базовые технологии для текстовой игры

rulog написал:

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

Теория и практика:
Большой список статей для авторов текстовых игр
Также на ifwiki много другой полезной информации.

Современные платформы/движки для создания игр:
Наличие онлайна/игра в браузере:
Axma Story Maker https://axma.info/ ещё отдельный сайт с их играми http://hyperbook.ru/
Twine http://twinery.org/  похож, а в чём-то даже лучше Аксмы. Материалов на русском маловато, но разобраться реально.
Аперо http://apero.ru/
Квестбук https://quest-book.ru/ тут больше ориентация в сторону книг-игр.

С онлайном есть проблемы:
Urq http://urq.plut.info/
Qsp http://qsp.su/

Все остальные движки для новичков будет сложновато освоить, особенно в начале.
Instead https://instead3.syscall.ru/
RInform https://rinform.org/
RTADS http://www.rtads.org/

Ещё можно смотреть не специализированные для текстовых игр или иностранные движки типа Ren'Py, Game Maker и т.д.

Ещё есть discord где можно пообщаться с другими авторами, поискать программиста и т.д. https://discord.gg/h59Qtzr

Неактивен

0    1    #15
17.03.2020 15:48

Гаяр
Участник (+33, -20)
Зарегистрирован: 22.08.2018
Сообщений: 17

Re: Подскажите базовые технологии для текстовой игры

rulog написал:

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

Если коротко и по делу, то вот:
С чего начать Самые азы, про придумывание и проработку идеи от Эмили Шорт,

коротко- без парсеров и шелухи.

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

Неактивен

0    0    #16
11.05.2021 12:05

YARS
Участник
Зарегистрирован: 11.05.2021
Сообщений: 2

Re: Подскажите базовые технологии для текстовой игры

Доброго времени суток!

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

- YOUNG MARIA - автор MariaMod
- TO THE FULLEST - автор royarus
- BODY EXCHANGE - автор kriogames

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

Буду ждать ваших ответов и советов.
Заранее благодарю за помощь.

P.S.: хотел дать прямые ссылки на Patreon'ы авторов, но сайт их блокирует...

Неактивен

1    0    #17
11.05.2021 16:48

crem
Участник (+231, -82)
Зарегистрирован: 22.08.2016
Сообщений: 90

Re: Подскажите базовые технологии для текстовой игры

YARS написал:

- YOUNG MARIA - автор MariaMod

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

Буду ждать ваших ответов и советов.
Заранее благодарю за помощь.

Если запустить игру онлайн, в самом низу написано:

Using Twine2 version 2.3.8 and SugarCube version 2.35.0

Неактивен

0    0    #18
11.05.2021 17:15

YARS
Участник
Зарегистрирован: 11.05.2021
Сообщений: 2

Re: Подскажите базовые технологии для текстовой игры

crem написал:

Если запустить игру онлайн, в самом низу написано:

Using Twine2 version 2.3.8 and SugarCube version 2.35.0

*испанский стыд*

Спасибо) Мысль, проверить сами игры на содержание ответов меня не посетила...

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru