partyzanx
@partyzanx

Какие технологии нужно знать для разработки многопользовательской стратегии с терраформированием?

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

Концепция игры:
  • Юзер управляет группой игровых персонажей, которым может ставить моментальные задачи, поочерёдные задачи и/ или запланированные по календарю задачи, для задач устанавливать приоритеты, таким образом некоторые задачи с высоким приоритетом будут прерывать запланированные задачи, например, при нападении на игрового персонажа, он бросает все дела и , например, бежит в заданную точку или просто в сторону.
  • Я пока не определился 2Д или 3Д игра. Нужен более оптимальный путь, чтобы игра не жрала ресурсы сервера и мобильного телефона. Но если это 2Д , то обязательна возможность поворота камеры на 90 градусов
  • Игра на мобилку
  • Огромный единый сервер, с огромной зацикленной картой
  • Возможности терраформирования: землю и камень можно копать (но очень долго), добывать из неё ресурсы, переносить (хотя бы кубиками), растительность растёт оазисами, можно её засаживать, фауна генерируется сама, можно также культивировать породы животных. Можно глубоко прокопать , и там строить подземные города. Можно менять русла рек, перенося куски пород. Можно обрушать и возводить горы, опять же перенося куски пород. И так далее
  • Игровым персонажам юзер может прописывать свои скрипты, или прописывать через пользовательский интерфейс, чтобы можно было делать самостоятельно квесты, которые будут выполнять персонажи юзера, или, например, выдавать порционно из сундука ресурсы, в зависимости от того, кому это предназначенно, сколько он взял, состоит ли в дружеских кланах и так далее
  • Создавать сложные права делегирования управления своими персонажами. Персонажи можно передавать во временное или вечное пользование с ограничением определённых возможностей или без ограничения. Например, во время тревоги (а тревога инициализируется звуковым рогом часового, например), все персонажи из одного города, клана, переходят в управление тем полководцам, кто сейчас онлайн в этом городе, и так далее.
  • Если персонаж умирает, то юзер может вселить его душу в другого персонажа.
  • Количество персонажей, которыми может управлять юзер ограничено, и это внутри игры объясняется "ограничением могущества юзера"
  • Если юзер давно не заходил в игру, его "могущество" утрачивается и персонажи убегают от него, могут присоединиться к другим юзерам, если и у тех будет "могущество". Также могут быть случайные события, типа пожаров, эпидемий, нападения хищников. Это сделано для того, чтобы юзер не мог автоматизировать огромное количество персонажей, например, чтобы они сами себя обеспечивали без его ведома и добывали ресурсы, а через месяц игрок зашёл в игру, и там вырублено пару огромных лесов и перекопано пару гор
  • Можно в игре, допустим, построить таверну, автоматизировать работу своих персонажей и задать разные условия поведения. Они будут по расписанию спать, есть, торговать, убираться, покупать еду на рынке, готовить, и всё это в автоматическом режиме.


В общем мы сейчас рассматриваем не концепцию игры, которую объяснять очень долго, и я записал много материала на этот счёт,

а рассматриваем вопрос в том, можно ли сделать такую игру на unity, на JS, или вообще лучше создавать свой движок? Какими технологиями нужно овладеть, какой путь преодолеть. Получится должно что-то типа rimworld (только без космических технологий), stronghold, только многопользовательская со сложной системой внутриигровой организации, как экономической, так и клановой, так и возможностью автоматизации некоторых процессов, делегирования прав управления своими персонажами, и прочим.
  • Вопрос задан
  • 205 просмотров
Решения вопроса 2
@SkrinV
Нужно знать как минимум для такой игры:
1. Создание сетевой игры
2. Создание и деформация ландшафта в режиме реального времени
3. Создание и тест самой игры
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Я бы сделал на crafty.js в WebView (если 2D, JS и быстрый путь).
Там проще всего собрать сцену и есть много готовых компонентов (включая работу с box2d и three.js)
5d87970fcafb1220879228.png
Если 3D - лучше выбрать Unity(и C#).
И все подключить к websocket-серверу.

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

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

Похожие вопросы