Я в настоящее время разрабатывает сверху вниз, в режиме реального времени, зомби шутер. Я кодирование это в Java, используя JBox2D как мой физический движок. Я кодировании сети на этой неделе, и я теперь до синхронизации физики.
Я планирую использовать / модель авторитетного сервера интеллектуального клиента, где клиент может свободно перемещаться, пока сервер одобряет его позже. Это включает в себя клиент отправляет пакеты, содержащие данные движения на сервер, и сервер вычисления задержки, и повторно имитируя мир от более старого государства.
Моя проблема, мой текущий физический движок, JBox2D (в основном порт Box2D), не поддерживает откат мира, и, видимо, не так просто сериализации мировые данные. У меня есть 2 решения, я мог бы либо модифицировать / расширить свой текущий физический движок, или написать свои собственные.
Причины для написания собственного физического движка -
- Я могу удалить ненужные функции. В игре сверху вниз мне действительно нужны только механика столкновения и управляемые силы. Нет силы тяжести не участвует.
- Я могу понять код лучше, и было бы [скорее всего] будет легче реализовать рулон обратно функции
Причины расширения / модификации JBox2D
- Дать свой собственный физический движок, был бы значительный объемом работы, который может быть громоздким
- JBox2D имеет широкий поддерживающее сообщество, которое может помочь мне с моим разработчиком
- JBox2D, имеет определенные оптимизации, для таких вещей, как обнаружение столкновений, которые делают его полезным
- Некоторая работа, как уже было сделано над этим, но мало кода было передано
Итак, что вы думаете. Это моя первая игра, и я не путь профессионального разработчика игр. Если кто-то может предоставить некоторые ссылки на работу, уже проделанную в этой области (желательно с использованием JBox2D / Box2D / Java).
strictfp
везде, что серьезно повлияет на производительность. В противном случае сервер и клиент не может получить точно такие же результаты. Я бы рекомендовал использовать неподвижную точку вместо этого.