Вопрос новичка, который я должен задать, начиная программирование сети для игр? - PullRequest
3 голосов
/ 08 января 2010

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

Я посмотрел онлайн и увидел, что есть сетевая библиотека с надстройкой, я хотел бы использовать ее, поскольку я действительно заинтересован в дальнейшей интеграции ее с моей базой кода. Но мне интересно, как бы я кодировал и отлаживал такие вещи? Если я хочу разрабатывать только на одном ПК, как я могу эмулировать сетевую среду с выделенным / равноправным сервером и количеством подключенных к нему игроков?

Ответы [ 4 ]

2 голосов
/ 08 января 2010

Вы должны запустить сервер на своем компьютере и запустить x копий кода проигрывателя.

Затем вы можете отладить сервер или одного из игроков.

Это не будет имитировать такие вещи, как сетевое отставание и пропущенные пакеты, оно позволит вам проверить взаимодействия и в определенной степени поведение вашей системы под нагрузкой.

Существуют инструменты, которые вы можете получить, которые будут имитировать сетевое отставание и т. Д. , но обычно это будет стоить вам денег (как это делает), но там будут некоторые бесплатные альтернативы.

2 голосов
/ 08 января 2010

Вы можете просто запустить много процессов на одном ПК. Вы можете использовать сеть локально (127.0.0.1). Или вы можете использовать виртуальные машины.

1 голос
/ 08 января 2010

Я думаю, что подход, который приближает вас к реальным условиям, заключается в настройке виртуальных машин, которые подключаются к вашему серверу, который работает на вашей реальной машине.

0 голосов
/ 08 января 2010

Если вам просто нужно подтвердить, что ваша игра успешно подключается, я бы пошел с установкой нескольких виртуальных машин и переводом их всех в режим NAT, чтобы каждая из них получила уникальный IP-адрес от вашего DHCP-сервера. Если у вас фактически есть контроль над маршрутизатором, вы можете даже выполнить дополнительный шаг по настройке выделенных IP-адресов для каждого MAC-адреса Vmachine, чтобы можно было регистрировать, какой IP-адрес создает проблему, и сопоставлять его с каким компьютером. Приложив немного усилий (и немного хакинтоширования), вы даже можете расширить этот набор для проведения тестирования на базе ОС.

...