@vafegoc821

На чём лучше сделать 2D онлайн бродилку?

Есть идея сделать игру, 2D с видом сверху, то есть видны только голова и плечи, например, как в первой GTA:
Тык
in-game_screenshot.png

Без каких-либо механик, чисто бродилка. Но, что важно, она должна быть онлайн, чтобы можно было зарегистрироваться, выбрать цвет волос и одежды, видеть других игроков (одна общая карта), переписываться с ними в чате. Собственно, вопрос в том, на каком языке это будет проще всего реализовать. Более-менее знаю JS и Python. Canvas ещё актуален? Слышал, что в WebGL есть серьёзные проблемы с безопасностью. Unity не знаю совсем, но нашёл вот такой репозиторий: тык, в этой игре, вроде бы, есть все перечисленные требования, можно попробовать переделать под себя. Итак, что думаете, или может знаете, где найти полезные ресурсы или туториалы, в общем, любая информация будет полезна.
  • Вопрос задан
  • 353 просмотра
Решения вопроса 1
AlexNest
@AlexNest
Работаю с Python/Django
При условии, что речь идет про браузерную версию.
1. Графика.
ThreeJS, как уже писали, оптимальный вариант. Canvas, конечно тоже можно использовать, но это крайне низкоуровневая вещь и писать на них придется очень долго.
Unity web player. Знаю, что есть, но не более.
UPD: Из коментов.:
А разве Unity Web Player сейчас работает? Он вроде как использует npapi, ныне выпиленый из всех браузеров по соображениям безопасности.

2.Онлайн.
Сокеты. Тут без вариантов, по идее, поскольку нужен реал-тайм для синхронизации персов и чата. Есть, вроде, и другие способы соединиться, но я не интересовался.
3.Бекенд.
Компилируемые языки и иже с ними (C#, RUST, JAVA). Поскольку игра это не просто "вывести текст из базы" а работа с десятками, а то и сотнями (в идеале) игроков в реальном времени (при этом для нормальной работы частота общения клиента-сервера должна быть как минимум несколько (десятков) раз в секунду), что требует значительных ресурсов, особенно учитывая, что данные придется хранить в памяти сервера.
python. В теории, конечно можно и на нем, но надо учитывать, что он, скорее всего, будет требовать больше ресурсов. При том, на порядки.
4.База данных.
Тут многое зависит от ваших особенностей игры. Если предполагается наличие каких-то специфических предметов, у которых будет большое количество разных параметров (которые могут отличаться от предмета к предмету), то, наверное, имеет смысл брать nosql-базы. (тоже самое касается других сохраняемых аспектов_
Если же этого не требуется - берите любую sql-бд.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Levsha1337
Если нужно что-то на JS, то имеет смысл посмотреть в сторону Three.JS.
Бэкенд в теории можно написать на python, вот и получается твой стек.
Ответ написан
Комментировать
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Очевидный выбор - юнити. Со всем другим разбираться скорее всего в разы дольше. В юнити уже есть сетевое взаимодействие для мультиплеера (не скажу из коробки или надо что-то подключать, но 100% есть). Разве что для большей функциональности надо будет подучить С#.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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