Показать сообщение отдельно
Старый 17.12.2011, 16:54
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 13  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
да нет, с погрешностями проблем не было.
Я наверно не очень корректно употребил слово детерминированную. Там всё-же использовались переменные с плавающей точкой, но только в промежуточных расчётах. Можно было конечно перенести промежуточные расчёты на fixedPoint тогда полный детерминизм соблюдался бы.
Начал я делать для того чтобы все столкновения в модели происходили в полном соответствии с граф представлением. Задел пикселями один объект другой - столкновение, не задел - не столкновение.

Я исходил от экрана и квантования времени. Есть такты обсчёта(кадру грубо говоря) и экан. Объект на экране не может попасть на нецелые координаты. Т.е. пиксель объекта всегда равен пикселю на экране, субпиксельное сглаживание было идеологически отвергнуто. Также continuous collision detection был возведён в абсолют и достигался везде. Естественно во время линеаризации движения и во многих внутренних процессах использовались дробные числа, но после применения сил и резолвинга коллизий всё опят становилось целочисленно. Возникли существенные проблемы с физикой прыжков т.к. я хотел чтобы высота прыжка зависела от длительности нажатия клавиши. Также возникли проблемы с ездящими платформами и трением об них. Трения между объектами у меня небыло вовсе, а было только трение об среду. Хотя потом я придумал как это всё разрулить, к проекту я так и не вернулся. А ведь платформер, придуманы и элементы дизайна и общий сценарий написан...
__________________
:)