@MaxYenot

Как пишутся подобные текстовые игры? Логика игры?

Здравствуйте. Думаю над тем, как написать подробную игру. Нужно для учебных целей, не собираюсь продвигать. Главное — рабочий механизм. Можно даже, чтобы игра выбрасывала реплики в консоль, а варианты надо было вводить через prompt().
Из языков программирования лучше всего знаю .js
Понимаю, что такое функции-конструкторы в .js, что такое json. Но не понимаю, как сделать логику этой игры.

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

Может, есть какая-то книга/мануал как создать такие игры? Не обязательно на .js Это может быть другой язык, или вообще псевдокод. Главное, чтобы я понял алгоритм игры, увидел её "архитектуру" (если так можно выразиться).

P.S. игра из play market. Stories Your choice. Может, кому-то проще будет по названию сориентироваться.
5f624d52ca891093615332.jpeg5f624d6b908b0285758596.jpeg
  • Вопрос задан
  • 269 просмотров
Пригласить эксперта
Ответы на вопрос 6
Griboks
@Griboks
Это визуальная новелла. Существуют множество готовых движков и библиотек. Но, в принципе, логика игры зависит исключительно от вас. Можете писать свою игру так, как вам заблагорассудится.
Ответ написан
Psixodelik
@Psixodelik
Преподаватель на Hexlet
За какие-то варианты можно получить плюс к наблюдательности. Достаточное количество пунктов наблюдательности же, в дальнейшем может помочь сделать какой-то выбор без траты алмазов (другой игровой валюты).


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

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


Есть персонаж, у этого персонажа есть параметр отношений с ГГ. От этого строятся ветки.

Не советую замахиваться сразу на такое. Начни с простого: рассказ, с одной развилкой. В зависимости от ответа показывать ту или иную ветку повествования. Вначале научись это. Потом вводи постепенно характеристики ГГ. Только потом начинай думать о других персонажах
Ответ написан
LaRN
@LaRN
Senior Developer
Вот тут разбирали похожий вопрос.
https://qna.habr.com/answer?answer_id=975360#comme...
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Этот жанр называется "визуальные новеллы" или "интерактивная литература" (если картинок почти нет).
Самый известный движок для визуальных новелл -- Ren'Py.
Ответ написан
Комментировать
kirbi1996
@kirbi1996
Вообще давно еще играл ее, по сути там должно быть дерево событий, и разные сценарии. Как вариант события можно хранить как раз таки в объекте, а вот ответ должен менять у тебя коэффициент влияния. Ну и функциями обрабатывать все это. На самом деле для первого проекта сложная задача. Проще будет создать ветку в которой нет кожфициентв влияния а просто последовательное действие в зависимости от ответа
Ответ написан
Комментировать
@HellWalk
Может, есть какая-то книга/мануал как создать такие игры?

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

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

Заодно и хорошая практика в программировании будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 19:31
500 руб./за проект
21 нояб. 2024, в 19:28
200000 руб./за проект