Первые наработки

Наконец-то, после адового дебага, появилась возможность показать какой-никакой прогресс по текущему концепту. В этой, условно первой, новости, вы можете увидеть игровую камеру и систему вращения башен, а также, непосредственно два основных типа башен.
Новость
13 4 112
29
lentinant, ну в принципе да, у меня так и есть. Просто из твоего описания ошибки, я понял, что ты делал это как то странно.
lentinant:
Особенно с учетом того, что у меня каждый луч - отдельный объект.
ну так я про это и говорил и у меня так сделано. Один объект ссылается на следующий и предыдущий. У меня танцы с бубном начинаются только в момент просчета препятствий для луча. В варе, это сделать не так то и просто, если еще и взять особенности "2д движка" проекта, поэтому там приходится вручную смотреть кучу шагов на определение коллизий и прочего
26
alexprey, со связными списками я работал еще на Паскале. А мой код, по сути, и работает по этому принципу (просто я не сразу это понял). В здании есть переменные входящего и исходящего луча, у каждого исходящего луча есть переменная в виде целевой башни, а у целевой башни этот луч находится в качестве входящего, и т.д.. Функция перерасчета луча при определенных условия вызывает функцию перерасчета луча у следующей башни и т.д.. Просто в Unreal Script это не так уж и тривиально реализовать. Особенно с учетом того, что у меня каждый луч - отдельный объект.
29
lentinant, я просто тебе пример показал на коде, который у меня был ща под рукой. Короче учи матчасть
26
Doc, сам. В UE фишка в том, что угол не в градусах, а просто интовое число (не 0-360, а 0-65536, плюс, минусовая часть). Если разница между необходимым и текущим углом больше нуля, то угловая скорость положительная, если меньше нуля - отрицательная. После этого еще один расчет - если модуль угла, на который нужно повернуть башню, больше 32768, то угловая скорость меняет знак, а необходимый угол меняется на противоположный (в зависимости от знака добавляется или вычитается 65536). И только после этого башня начинает поворачиваться.
alexprey, вряд ли тут подойдут джассовые методы решения проблемы. В общем, проблема решена, и пересматривать метод решения я не буду, если только не возникнут связанные с ним проблемы.
29
башня определяет, в какую сторону ей крутиться ближе.
Стандартная функция UE или сам как-то?
29
При наличии генератора и двух башен, например, А и Б, возникал один баг. Припустим, луч генератора направлен на А, и луч с А направлен, соответственно, на Б, с которого луч был направлен в пустое пространство. И если генератор повернуть так, чтобы его луч не трогал башню А, то ее луч, ясное дело, исчезал. Но не исчезал луч башни Б. Проблема оказалась элементарной. Дело было в том, что луч может перестать "питать" башню в двух случаях - когда "хозяин" луча менял угол, и когда луч просто исчезал. Ну, и оказывается, я просто не принял в расчет вторую ситуацию, и башня А понимала, что луч на нее больше не светит, а башня Б - нет.
Ты просто не правильно подошел к понятию луча и рассматривал его как 2 совершенно разных луча. А надо было рассматривать его как одно целое. Как я делал в HLL
struct TLaserRay
        TVector2D pos
        TVector2D direction
        TLaserRay back = 0
        TLaserRay next = 0
        method Destroy takes nothing returns nothing
                if .next != 0 then
                        call .next.Destroy()
                endif
                call .destroy()
        endmethod
endstruct
То есть луч - это связанный список. При удалении какого либо элемента, удаляются все последующие. И при этом мы имеем доступ к каждому лучу и можем получить доступ к любому с помощью .next и .back.
Проект был создан по идее, которую можно прочесть в этом посте моего блога.
Вкратце - это своеобразный "дневник разработчиков", в котором я буду рассказывать о всех нюансах, возникших при разработке.
Именно поэтому Game Forge - мы будем "ковать" игру
Технические…
124 50 090
26
Karp1989, Кисмет? Обижаешь. Скрипты, конечно.
Все, после пары часов мучительного дебага, я закончил отражатели. Ждите первую новость по текущей игре скоро.
20
lentinant, а ты чем бользуешься? кисметом, или скриптами пишешь?
26
Doc, дык не после каждой же строчки кода постить.
Как только завершу отражатель - будет вам пост о проделанной работе, со всеми подробностями. Слово скаута.
29
lentinant, ну ты бы хоть скрины видео делал. В идеале - девелоперс диари.