Pull to refresh

Comments 29

Хороший вопрос. Я думал, о квестах.

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

Другой возможный пласт - предусмотреть механизмы раздачи квестов другими игроками.

Вообщем, насчет квестов можно подискутировать.

Прикрутить LLM? :) Пусть NPC генерят случайные квесты, можно даже учитывать контекст от других игроков.

Я так понимаю, это больше шутка? :)

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

В данном контексте да, это больше шутка, нежели предложение. Но и в такой шутке не без доли правды: https://youtu.be/g9LhYdAKTOU - тут, конечно, не совсем про квесты, или точнее, совсем не про квесты, но это дело времени.

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

Сейчас есть несколько квестов на сопровождение: довести дварфа до интересного ему места.

Квест разведки - найти поселение.

Квест уничтожения - поразить лорда Бэйна, который обитает на нижнем уровне подземелья (да, теперь подземлье многоуровневое)

Занятно.

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

Спасибо.

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

Управление ужасное, прям отбивает желание потестировать.

немного пропатчил, теперь стрелки/asdf сразу перемещают в желаемом направлении (если для этого надо повернутся, персонаж автоматически поворачивается.

Плюс можно сразу мышью кликать на карте и персонаж автоматически туда пойдёт

Хм, у меня пока A и D поворачивают персонажа, вместо того, чтобы идти в этом направлении.)

Принятие решений

Я в свое время думал над похожим проектом. И "принятие решений" сделал через тот же интерфейс что используется для пользовательского взаимодействия.

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

Тоже об этом думал.

У этого подхода есть свои плюсы и минусы:

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

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

  • при такой реализации нет возможности использовать какую-то "инсайдерскую" внутриигровую информацию

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

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

Сеть может быть другая (внутренняя), у меня было ещё отдельное API доступное только локально для получения расширенной информации о мире.

Показывать в коде особенно и не чего. Это был проект на отработку различных идей больше чем попытка сделать что-то финальное.

Чем Майнкрафт-то не устроил?
Лучше установили бы сервер и реализовывали поверх него свои правила "живого мира".

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

У каждого свои интересы. Разрабатывать near real time движок под мир не менее интересно. А если попытаться ещё сделать бесшовный мир между несколькими серверами да для MMO - бесценно.

Можно попробовать такое.

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

Лучше установили бы

Кому лучше?

Майнкрафт

Это совсем другая игра

намного интереснее ведь задача

Это далеко не единственная задача, которая меня интересует

пытаться разрабатывать

Какой толк от этого комментария, когда уже всё готово?

А веб интерфейс в опен-сорс не пойдёт? Было бы интересно посмотреть как решаются, например, разные слои в коде и т.п.

Так javascript код же доступен. Или имеется ввиду всякие лицензии, что можно использовать в своих целях?

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

Если очень надо - могу кинуть ссылку на гитхаб

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

А так в принципе всё разнесено очень хорошо: можно переписывать клиент не меняя ни строчки на сервере и наоборот. + рисование картинок также никак не трогает остальную разработку.

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

Его специфичность со многих сторон меня как раз "і приваблює". + Не смотря на то, что у меня нет нормального бекграунда в ммо и мудах, взятая тобой за основу игра, вызвала у меня когда-то такие же чуства, не смотря на то, что знакомство произошло с ней в журнале (((:

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

Заметил, что ты несколько опасливо относишься к разговорам/коммуникациям о игре. Уже встретил на просторах интернетЫ, "великих гуру"? Правильно понимаю? Или просто, не хочеться попусту тратить время на разговоры, а не дела?

И еще интересно: сколько времени уже заняла разработка всех готовых/работающих концепций и модулей?

Заметил, что ты несколько опасливо относишься к разговорам/коммуникациям о игре.

Да нет, наоборот, я рад бы пообщаться. Но почти ничего не пишут.

И еще интересно: сколько времени уже заняла разработка всех готовых/работающих концепций и модулей?

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

Кстати, насчёт клиента в браузере, можно использовать wasm и не писать на js (кроме небольшой обертки). Rust точно можно компилировать в wasm (из игровых движков мне нравится bevy). Не уверен, но возможно c++ тоже можно собрать в wasm.

нет желания попробовать написать клиент для моей игры?)

Возможно, попробую. Если будет чем поделиться, то отпишусь в ЛС)

было бы здорово. Если нужен список команд клиенту и серверу - пишите, пришлю.

Sign up to leave a comment.

Articles