Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Наилучшая реализация игры по сети (https://forum.antichat.xyz/showthread.php?t=160548)

Markus_13 02.12.2009 03:36

Наилучшая реализация игры по сети
 
Вообщем пишу игру (2D аркада на OpenGL) - решил добавить "мультиплеер" - обмен данныи реализовал на сокетах (TClient Socket; TServerSocket) - схема простая: кто-то один становится хостом - остальные к нему подключаются...
вообщем данные передаются - все пашет, но столкнулся с проблемой получения клиентами IPшника хоста - не буду же я всевремя по аське свой ип всем писать :D
Проблему эту я решил всетаки: написал 3 пхп скрипта (1 - добавляет ипшник в файл, 2 - удаляет (REMOTE_ADDRESS) и 3 полностью чистит файл) скрипты захостил и 3ий скрипт (по crontab`у) поставил на выполнение каждые полчаса. А 1 и 2 соотв. запускались из приложения: 1 - при создании хоста, 2 - при закрытии, ну а при выборе в меню "Обновить список" (серверов) - просто скачивается файл, в котором айпишники сервов хранятся.
Все работает, но... во1ых хостинг не очень надежный (зато бесплатный :)), во2ых я думаю если одновременно человек 20 будут создавать хосты и\или обновлять список - будут тормоза...

Хотелось бы узнать как еще (попроще, побыстрей) можно реализовать Игру по сети - без центрального сервера?

З.Ы. гуглил, статьи читал - находил нечто похожее на тот метод, который я использовал, но ничего лучше не нашел... :confused:

t04 02.12.2009 04:37

все подробно описанно в первых 4 статьях. udp тебе в руки. для сети сначала посылаешь широковещательный пакет на который должны ответить другие игроки и сервер, в ответ получаешь ip адрес и кем является откликнувшийся: игроком или сервером. можно сделать чтобы отвечал только сервер.


Полное руководство по сетевому программированию для разработчиков игр. Часть 1 (скучная).
http://www.gamedev.ru/code/articles/?id=4262
Полное руководство по сетевому программированию для разработчиков игр. Часть 2.
http://www.gamedev.ru/code/articles/?id=4261
Полное руководство по сетевому программированию для разработчиков игр. Часть 3. UDP
http://www.gamedev.ru/code/articles/?id=4260
Полное руководство по сетевому программированию для разработчиков игр. Часть 4. TCP
http://www.gamedev.ru/code/articles/?id=4259


WinSock2 для игр.
http://www.gamedev.ru/code/articles/?id=4256
Сетевой код.
http://www.gamedev.ru/code/articles/?id=4254
Устранение эффекта запаздывания с помощью кубических сплайнов.
http://www.gamedev.ru/code/articles/?id=4257
On-line игры: взаимодействие с сервером (на примере игры MOBL от компании K-D LAB).
http://www.gamedev.ru/code/articles/?id=4255


Время: 14:52