Каковы возможные недостатки использования (на стороне клиента) JavaScript при создании многопользовательской игры?
Описание игры: Это MMORPG / RTS. Это означает, что игроки активно участвуют в создании структур в мире и сами создают большую часть контента.
2d
multiplayer
javascript
jcora
источник
источник
Ответы:
Это хорошо, если:
источник
Подходит ли ваша игра для разработки на JavaScript, зависит от игры. Вы не описали свою игру, поэтому мы не можем ответить на вопрос в названии.
Однако я могу сказать, что ваше беспокойство по поводу взлома не является проблемой здесь. Не потому, что JavaScript не может быть взломан (он может и легко), но так же, как и любая другая технология на стороне клиента. Одним из основных принципов разработки многопользовательских игр является «никогда не доверяй клиенту». Создайте свою игру таким образом, чтобы все, что вам нужно было защитить от взлома, выполнялось на сервере, потому что клиент будет взломан. Это означает только отправлять команды пользовательского интерфейса от клиента (например, «игрок нажал кнопку« Бомба »)» и вычислять результаты действий игрока на сервере. Затем сервер отправляет обратно клиенту результаты этих действий.
Поскольку независимо от того, на какую технологию вы полагались, вы должны разрабатывать свою игру с предположением, что клиентский компонент будет взломан, возможность использования JavaScript не учитывается при принятии решения о том, использовать ли JavaScript.
источник
Люди могут изменить код клиента, чтобы обмануть, что является проблемой для любой многопользовательской игры. Если скорость игры или быстрое решение математических задач является частью игры, вы не можете полностью предотвратить обман.
Для любого другого игрового элемента вы должны убедиться, что клиент не получит и не сможет получить информацию, которая должна быть скрыта для игрока. И, конечно, сервер должен подтвердить, что каждое действие, совершенное игроком, является законным.
Самая большая проблема, которую я вижу в играх JavaScript, заключается в том, что многие браузеры имеют тенденцию заикаться, особенно Firefox был довольно плохим в прошлый раз, когда я проверял. По этой причине JavaScript не является хорошим выбором для чувствительного ко времени геймплея. Но для пошаговых или хотя бы медленных игр JavaScript может работать достаточно хорошо.
источник
Изменить переменные Javascript довольно легко с помощью таких инструментов, как Firebug (для Firefox) или встроенных инструментов разработки Safari / Chrome. Вы можете просто набрать в консоли javascript, и он будет выполнен. Как простое правило, не полагайтесь на клиентскую сторону для обеспечения безопасности. Кроме того, с введением элемента HTML5 canvas, javascript предлагает вам некоторые реальные возможности для простых игр (например, существует полная версия Angry Birds для javascript / html5).
источник