суббота, 9 февраля 2013 г.

создание игры проверка коллизий

2001 2013 © GameDev.ru Разработка игр

По теме есть какие нибудь предложения? :)

Постоялецwww22 фев. 201223:09

Правка: 22 фев. 2012 11:51

Пока речь не о проверках. Серверу хватит лишь md5 хеша всех ресурсов, а дальше клиент подгрузит с веб сервера, например. И пока md5 не совпадет, сервер клиента не пустит. Речь о том, что именно грузить текстуру для ее использования, это абсолютно не нужно.

Постоялецwww22 фев. 201211:51

Правка: 22 фев. 2012 11:11

По-хорошему как раз должен. То есть, грузить не обязан, в общем случае, но проверять их должен. Я сам поначалу удивлялся, зачем серверам нужны текстуры и из-за этого они так много весят. Сервер должен проверить, что ресурсы у клиента совпадают с сервером, то есть, что текстуры, например, такие же, и клиент не заменил их на прозрачные. Другое дело, что эту проверку довольно легко обмануть.

> Поскольку сервер грузить текстуры не собирается (не должен по хорошему)

Может есть готовые примеры или статьи, где почитать про серверную геодату?

У меня появилась мысль: каждый объект на карте это картинка и массив простых rectangle для физики. Их может быть сто и даже тысяча (для более точных коллизий, например). Сервер соответственно подгрузит только массив этих прямоугольников и будет уже оперировать с ними, проверяя клиентов. Вроде не очень ресурсоемко на первый взгляд, но как оно на самом деле?

Например, есть картинка лабиринта: она целиковая, например, в ней проходы. Клиент попиксельно просчитает коллизии и сможет войти в проход, а вот что скажет сервер? Если дать ему общий rectangle объекта, то клиент не сможет войти в лабиринт, значит нужен какой то другой вариант проверок.

Интересует такой вопрос. Начинаю разрабатывать 2д шутер на XNA, клиент-сервер. На клиентской стороне боле менее все понятно, там можно сделать pixel collisions или упрощенный rectangle collision, а как быть на сервере? Просто позволять клиентам самим высчитыват коллизии как то не комильфо, будут и читеры и воллхакеры и пр. поэтому хочется проверять позиции (хотя бы базово) на сервере. Поскольку сервер грузить текстуры не собирается (не должен по хорошему), то pixel collision ему не пойдет, а как быть в случае неровных картинок?

Постоялецwww22 фев. 201210:34

Клиент-серверная геодата (коллизии)

/ / / Клиент-серверная геодата (коллизии)

Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум

Клиент-серверная геодата (коллизии) / Форум / Программирование игр / GameDev.ru Разработка игр

Комментариев нет:

Отправить комментарий