Показать сообщение отдельно
Старый 20.04.2011, 13:02   #13
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Плохо Ответ: Создание и работа с удаленной базой данных MySQL через PHP

Я вот подумыываю сделать свою игру (KillemAll, мож кто видел) под онлайн. На 2-3 человек. Вот вопросы:
- Итак, каждый такт работы игры будет генерится текстовая строка 1xxxyyyaaa, в которой
1 - ID действия (в данном случае, передача координат)
x - координата x,
y - координата y,
a - угол поворота.

Плюс при выстреле будет генериться строка, содержащая информацию о том, под каким углом летит пуля.

Это ещё 4 байта: 2aaa
2 - ID действия (из противника вылетает пулся под указанным углом)
aaa -угол

Допустим, фпс - 10, игрок в среднем выпускает по 1 пуле в секунду.

Получаем: 10*10+4=104 байта в секунду. Пусть для игры человеку хватает 10-20 минут. 104*60*10(20)=62 400 (124 800).

Вопросы:
1. Не будет ли тормозить передача данных, если отправлять эти данные слишком часто (10-20 раз в секунду)?
2. Не жалко ли отдавать за 20 минут игры >=125КБ трафика (для тех, у кого "встроенный", траффик интернет)?
3. Всякие процедуры по скорости перемещения героя и столкноения с препятствиями вычисляет телефон.
То есть какой хакер может ломануть игру и поставит, скажем, мега скорость.
Выход - завставить производить все вычисления на сервере, а телефону отправлять лишь данные (например - телефон отправляет запрос (хочет узнать не столкнулся ли герой с препятствием). Сервер проверяет это и отправляет телефону отзыв ('1' - да столкнулся, стой на месте; '0' - все нормально, беги дальше.)). Но это же дополнительный трафик! Что посоветуете?

Вот.
Буду рад если кто ответит.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием