Покритикуйте реализацию игры на Node js...
Всем привет!
До этого занимался другим программированием... В node js работаю 3 месяца - за тарелку супа - пошел с нуля писать игру... Инструменты мне предложили на выбор. Я выбрал: 1. node js 2. Mongo Db 3. native socket ( не socket io) Если кому это вообще интересно - могу рассказать подробнее, как я реализовал это новое (для меня) дело и каких советов жду... |
где игра-то?)
|
alert(decodeURIComponent('%D0%98%D0%B3%D1%80%D0%B0%20%D0%B2%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5!!!')) |
Извиняюсь, я много написал, но телефонный звонок прервал нажатие кнопки ...
Используя Mongoose создал коллекцию users с полями login, password, sessionId и last_time. last_time - время последнего обращения. Если больше некоторого значения - то новый sessionId. Это sessionId проверяется при коннекте через websocket в url при подключении в строке URI, примерно так 'ws://host:8080?sessionId= 333444' в событии wss.on('connection') , если sessionId неактуален,то socket.close(). Дальше пока не пишу - наверное уже и тут косяки у меня есть... |
yinfo, если игра простая, то пойдет, а если игра сложная, там рпг какой-нибудь или много действий, ну ты понял. То монго замени на postgresql, они шустрее. А в остальном норм. Я сам делаю игру в такой связке + сюда еще nginx как прокси.
Ну а там дальше смотри сам. итог все равно в том, что все манипуляции и игровой цикл будут на клиенте))))) Сервер тут нужен только для i/o данные игроков, рендер каких то данных |
Спасибо, коллега, за внимание) Удачи в разработке игры в новом году !)
У меня вроде проще - сервер кэширует "правила игры" - заклинания, волшебства и т.п. А при старте боя между игроками один раз отдает объект char (персонаж) и они как-то там бьются заклинаниями и в БД записывается только результат боя + новые фишки/заклинания. По сути во время игры все висит в оперативке. Если кто отвалился по дисконнекту - другой выиграл. |
Часовой пояс GMT +3, время: 05:10. |