m0sk1t
@m0sk1t
SPA web-developer

Какие могут быть варианты разработки игрового сервера?

Недавно я решил для себя набираться опыта в JavaScript и узнал что в принципе всю мою задумку можно реализовать с помощью этого ЯП. Что именно хотелось бы сделать:
1. Разработать игровой сервер на Node.JS который бы умел отдавать JSON (ну или что-то другое) представления текущего состояния игрока(-ов) и в принципе всё (основные вычисления будут на клиенте). Для чего: небольшая RPG на 5 игроков с таким же небольшим миром (естественно по мере вникания в предмет будут улучшения и доработки).
2. Разработать структуру данных для MongoDB, которая бы как раз и хранила в себе состояние игрока.
3. Разработать клиент для игры (ну тут будут: отрисовка на канвасе, обработка коллизий, запросы к серверу и т.д.)
От вас очень прошу совета по организации сервера (что почитать о программировании подобного?), ну и по остальным пунктам желательно. Заранее спасибо!
P.S. Я боюсь монструозных талмудов, но если нет доступной информации в небольшом количестве, готов побороть свои страхи).
P.P.S. Возможно игр будет несколько (пинг-понг на четверых, к примеру) как поступить в таком случае?
  • Вопрос задан
  • 3844 просмотра
Решения вопроса 2
Webdesus
@Webdesus
Вот тут обучающие видео по всему тому что Вы описали. С примерами.
Ответ написан
ScorpLeX
@ScorpLeX
Если игроков будет мало, можете посмотреть в сторону node-webkit, тогда можно будет делать сервером одного из клиентов, но в наше время жизни за натом, это часто проблемно.
В остальном сервер под игру делается довольно просто, если брать пример с пинг-понгом, сервер шлет каждому клиенту данные каждые n ms о состояние поля, а клиенты шлют данные на изменение состояния поля, в этом моменте главное понимать, что нужно стараться просчитывать все данные на сервере, иначе будут читеры и возможно баги. Ну и для клиента возможно потребуется некий смягчающий алгоритм, для плавного отображения.
На хабре где то была статя про разработку пинг-понга, именно про реализацию сервера, поищите.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы