Сервер контента vs хранение данных
Я не могу и не хочу хранить весь контент игры в оперативной памяти. По орочьи это расточительно.
Изначально я планировал использовать SQLite, чтобы брать только те данные, с которыми нужно работать прямо сейчас. Данные игроков при этом сохранялись бы на сервер GamePush.
Но возникла проблема: на клиенте (в браузере) невозможно реализовать SQLite. Можно использовать IndexedDB, но если хранить в нем контент игры, теряется весь смысл оптимизации, ведь придется каждый раз загружать game.json, чтобы заполнить базу.
Я долго ломал голову и пришел к выводу, что не обойтись без собственного сервера под игру. Это будет сервер контента, который будет отдавать части контента по запросам.
Что из этого?
❌ Зависимость от второго сервера (помимо GamePush)
❌ При высокой нагрузке это может стать узким местом
✅ Можно менять баланс без сборки и модерации
✅ Возможность создать админку контента игры
Идеальных решений не существует, приходится чем-то жертвовать. Итог: cервер контента для игровых данных + GamePush для данных игрока.
📖 Больше деталей и рабочего процесса в блоге: t.me/+oNTh-Tsp…
#Геймдев #СозданиеИгр #Геймдизайн #GamePush #ВебИгры
Изначально я планировал использовать SQLite, чтобы брать только те данные, с которыми нужно работать прямо сейчас. Данные игроков при этом сохранялись бы на сервер GamePush.
Но возникла проблема: на клиенте (в браузере) невозможно реализовать SQLite. Можно использовать IndexedDB, но если хранить в нем контент игры, теряется весь смысл оптимизации, ведь придется каждый раз загружать game.json, чтобы заполнить базу.
Я долго ломал голову и пришел к выводу, что не обойтись без собственного сервера под игру. Это будет сервер контента, который будет отдавать части контента по запросам.
Что из этого?
❌ Зависимость от второго сервера (помимо GamePush)
❌ При высокой нагрузке это может стать узким местом
✅ Можно менять баланс без сборки и модерации
✅ Возможность создать админку контента игры
Идеальных решений не существует, приходится чем-то жертвовать. Итог: cервер контента для игровых данных + GamePush для данных игрока.
📖 Больше деталей и рабочего процесса в блоге: t.me/+oNTh-Tsp…
#Геймдев #СозданиеИгр #Геймдизайн #GamePush #ВебИгры