Авторитетный Flash многопользовательский игровой сервер: вдвое больше работы? - PullRequest
1 голос
/ 12 ноября 2011

Я работаю над игрой-головоломкой во Flash. Это игра для двоих, с элементами реального времени. Он не похож на тетрис, но уровень взаимодействия с игроком и скорость передвижения похожи, хотя и немного сложнее, чем битва тетрис на Facebook.

Естественно, я бы хотел подбирать игроков по Интернету. Я также хотел бы предотвратить мошенничество как можно больше. Из-за этого я исследую авторитетное серверное решение, очень похожее на то, как Колин Моок описывает в этом ответе на аналогичный вопрос. Таким образом, сервер выполняет официальную игровую логику, в то время как клиент выполняет параллельное моделирование, отправляя движения игрока на сервер для проверки.

Мой вопрос таков: не означает ли это, по сути, реализацию логики игры как на стороне клиента, так и на стороне сервера? Хуже того, сервер, вероятно, не будет запускать симуляцию во Flash / ActionScript, что означает, что вы не можете делиться кодом, и вы будете реализовывать одну и ту же логику дважды на двух разных языках. Это походит на логистический, пронизанный ошибками кошмар. Я неправильно понимаю проблему?

1 Ответ

2 голосов
/ 14 ноября 2011

Работая в нескольких компаниях, которые делают Flash-игры / приложения такого типа, я могу сказать вам, что я не нашел решения для этого.Если вы хотите безопасности, все должно оцениваться на стороне сервера, а если вы хотите оперативности, ваш клиент должен уметь обрабатывать вещи во время вызовов на сервер.Добро пожаловать в захватывающий мир клиент-серверных коммуникаций.

При этом код AS3 очень похож на Java, особенно если вы правильно отделили свою бизнес-логику от своего представления.Это делает написание Java-сервера очень простым (мы научили нескольких разработчиков Flash писать логику сервера за несколько дней, но написание всего сервера занимает некоторое время).Кроме того, вам может повезти в поиске конвертера Actionscript в Java (хотя все, что я видел, требует ручной корректировки позже).

...