Сеть в играх.
Стало интересна сфера игр многопользовательских.
сделал простейший пример -
есть сервер, есть клиент.
Разница между ними только та, что сервер - основная программа, а клиент - подключается к серверу.
Суть программы - это то, что имеется два объекта. Одним управляет игрок за сервером, другим - игрок за клиентом.
Как работает программа -
Объект сервера имеет переменные - Х, У, Скорость, Поворот.
И объект клиента имеет точно такие же переменные.
На сервере мы управляем одним объектом, затем посылаем клиенту Х,У,поворот нашего объекта.
Клиент их принимает, и рисует в нужной области с нужным поворотом объект, затем управляет своим объектом, и те же данные посылает серверу. Сервер же так же рисует.
Т.е. такая система -одним управляем, второй тупо рисуем по полученным данным.
Отправка и прием идет каждым циклом. отправляется, как я понял, за цикл - 8 байтов.
На деле же эта система передачи - наитупейшая.
Как вообще реализуется передача данных? Как правильно делаются игры многопользовательские?
Возьмем шутер.
Играет, допустим, два человека.
На одном компе высчитывается вся логика, второй тупо прниимает эти данные? или же делятся задачи пополам?
Допустим, как работают пули? выстрелил я - пуля по расчетам летит. Кажыдй цикл данные о пули передаются? или как? Или просто передали то, что чел такой-то выстрелил, , а у всех уже идет логика пули сама, и не надо уже больше ничего передавать?
а как в гонках все работает? как в стратегиях?
Кто знает, можете рассказать о всей этой работе в играх. А то сам пока точно понять не могу.
Как мне кажется ,система эта очень гибкая, и идеального решения нет.
|