Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2018, 23:40
Аспирант
Отправить личное сообщение для yinfo Посмотреть профиль Найти все сообщения от yinfo
 
Регистрация: 30.04.2015
Сообщений: 43

Покритикуйте реализацию игры на Node js...
Всем привет!

До этого занимался другим программированием...
В node js работаю 3 месяца - за тарелку супа - пошел с нуля писать игру...

Инструменты мне предложили на выбор. Я выбрал:
1. node js
2. Mongo Db
3. native socket ( не socket io)

Если кому это вообще интересно - могу рассказать подробнее, как я реализовал это новое (для меня) дело и каких советов жду...
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2018, 13:08
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

где игра-то?)
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2018, 14:29
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

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!!!'))
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2018, 00:27
Аспирант
Отправить личное сообщение для yinfo Посмотреть профиль Найти все сообщения от yinfo
 
Регистрация: 30.04.2015
Сообщений: 43

Извиняюсь, я много написал, но телефонный звонок прервал нажатие кнопки ...

Используя 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, 22.12.2018 в 00:31.
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2018, 05:46
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

yinfo, если игра простая, то пойдет, а если игра сложная, там рпг какой-нибудь или много действий, ну ты понял. То монго замени на postgresql, они шустрее. А в остальном норм. Я сам делаю игру в такой связке + сюда еще nginx как прокси.

Ну а там дальше смотри сам. итог все равно в том, что все манипуляции и игровой цикл будут на клиенте))))) Сервер тут нужен только для i/o данные игроков, рендер каких то данных
Ответить с цитированием
  #6 (permalink)  
Старый 29.12.2018, 02:50
Аспирант
Отправить личное сообщение для yinfo Посмотреть профиль Найти все сообщения от yinfo
 
Регистрация: 30.04.2015
Сообщений: 43

Спасибо, коллега, за внимание) Удачи в разработке игры в новом году !)

У меня вроде проще - сервер кэширует "правила игры" - заклинания, волшебства и т.п. А при старте боя между игроками один раз отдает объект char (персонаж) и они как-то там бьются заклинаниями и в БД записывается только результат боя + новые фишки/заклинания.
По сути во время игры все висит в оперативке. Если кто отвалился по дисконнекту - другой выиграл.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Node JS commandline как прощу использовать VyacheslavBozere Библиотеки/Тулкиты/Фреймворки 2 29.07.2018 13:41
Node js, область видимости Maxix Node.JS 3 19.03.2018 13:12
Node js игнорирует if Snegan Node.JS 4 31.12.2017 18:07
Back-end Developer (Node JS) на удаленку FreddyMat Работа 0 20.12.2017 20:02
Оцените \ покритикуйте код, пожалуйста (верстка + js) Heian Ваши сайты и скрипты 6 17.09.2012 20:23