• Есть ли хорошие JavaScript 2d игровые движки?

    @haradorlist
    Мой ответ слишком поздний, но может быть кто-то еще сюда попадет и задастся этим вопросом. Так вот, касательно того что игрок в браузере может прописать себе ресурсы - он и в десктопе может себе ресурсы прописать (есть проги для просмотра и редактирования ячеек памяти). Нюанс в том, что в мультиплеере контролировать и проверять ресурсы должен СЕРВЕР а не клиент.
    Привожу пример - игрок Петя Кулхацкеров очень захотел нанять себе шлепу-гигачада с большой челюстью в вашей многопользовательской стратежке. Через панель разработчика (или через прогу в десктопе) он накрутил себе 100 золота и тыкнул на кнопку найма. Но наш маленький злодей не знает, что вы умный программист и на сервер отправили лишь ЗАПРОС НА ПОКУПКУ, передав токен пользователя, айди нанимаемого юнита и количество. Далее сервер ПРОВЕРЯЕТ, а есть ли вообще у игрока нужное количество золота и обращается к БАЗЕ ДАННЫХ. Серверу глубоко чихать как там Петенька извращался на клиенте чтобы накрутить ресурсы, он об этом даже не узнает (а может и узнает, читай дальше), поэтому сервер видит, что у Петеньки 0 монет и в ответе шлет ошибку. Таким способом можно кстати злоумышленников отлавливать, запоминая, что каким-то образом юзер отправил запрос на покупку, не имея даже на то возможности, обойдя блокировки на клиенте. И потом им дарить банхаммер на новый год. Но это тоже с умом надо организовать.
    Если же кто-то переживает за атаки в синглплеере - вообще забейте, защитить оффлайн сингл от игрока невозможно, только время зря потратите, так как все данные в его ОЗУ валяются в свободном для него доступе, как и файлы сохранений.