28.01.2008

GraviLens Construction 3

Вчера ночью после зелёной вечеринки пришёл домой, захотелось сделать звуковое оформление, хотя бы начать. С ходу в TSR был интегрирован BASS и спустя несколько минут появились первые звуковые эффекты. Это было очень здорово.

Что-то сегодня был какой-то день формул. В начале я отказался от глупой линейной формулы распределения силы и поставил всем известную: пропорциональна произведению масс и обратно пропорциональна квадрату расстояния. Далее рутина с нахождением коэффициентов и увидев удовлетворивший меня результат - зависимость Ньютона была утверждена.

Второй загон с математикой начался когда я захотел сделать Рефлекторы(отражающие гравилинзы). Мне нужно было найти точку пересечения окружности и луча. Отложить от этой точки нормаль и отразить вектор скорости. Пришлось аналитически(на листочке) решать задачу, систему уравнений с векторами, которая потом сводится к обыкновенному квадратному ур-нию. Т.к. точка лежит внутри окружности там очень просто берётся одно решение которое с минусом, потому что у нас t<0.. брр, в общем всё решение для своего конкретного случая я расписал на половине листика А4. Жалко ни фотика, ни сканера нету. Дальше в код, всё работает, я счастлив.

Сложность отследить поведение луча даже на простых уровнях заставила меня сделать на прицельном круге стрелку, которая показывает направление результирующей силы в данной точке и коэффициент дисперсии(когда луч рассеивается). После этого мне даже приятно стало стрелять, т.к. подсознательно было понятно как ведёт себя поле.


Сделал возможность выключать некоторые гравилинзы попаданием в них. Однако только некоторые из них выключаются на всегда(или пока их не включить гравитационным ключом), остальные выключаются на определённое время. Но всё равно это можно будет использовать в уровнях.

В принципе и всё. Вот и прошло 7 дней с начала работы. Уже немало сделано, многое ещё впереди. Между тем сдана сессия! С чем я себя уже не раз поздравил.

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

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