Vandallord
> 3D карта все остальное 2D
Вся трёхмерность карты заключена только в карте высот, а в целом карта обычная
тайловая.
Up:
Залил на ютуб видео с рендерингом деревянного мостика и разрушенных зданий.
Решил не спамить им сюда, ибо изменения там минорные, да и слишком большая
плотность видео в теме получается
Да спамь, интересно же :)
Ну, коли интересно, то вот вам очередная порция
С утреца ускорил вывод тайлов (да-да, мультитредом :)).
Получилось примерно в два раза быстрее сделать, с 9..11 мс до 4,5..6 мс.
В дальнейших планах перенести загрузчик информации из data.bin с шарпов
на плюсы, ну и далее грузить инфу по секциям юнитов, мешочков, всяческих
эффектов на валяющихся по уровню итемах. В ближайшее время визуального
подтверждения прогресса можно не ждать, таска обещает быть длительной.
На работе завал, ничего особо не пишу пока. Но без паники, завалы проходят, и впереди новогодние выходные, так что я всё же смогу попрограммировать аллоды
Края берегов, словно обгрызенные.
Туман войны после некоторого допила
Сказал, значит, что буду писать загрузчик data.bin, а сам вместо этого переписал пересылку данных в видеокарту с SetDIBitsToDevice на PBO. Зато теперь можно заявлять что будет шанс поиграть на линуксе/маке
Vandallord
> Вот анимация воды это же точно обычная анимация, или это шейдеры такие если 3D
> карта?)
Учитывая, как раньше игры делались, подозреваю, что вода и листва тут - так называемая палировая анимация (color cycling), когда картинка в индексном (256 цветов режиме) остаётся той же самой, а цвета некоторые её цвета циклически меняются.
https://www.youtube.com/watch?v=Lg3kolPcVOw
А вот что с её помощью создавали:
https://www.youtube.com/watch?v=sOHM05pTO_w
https://www.youtube.com/watch?v=dgvYnyQ2sjA
Здесь реализовано или шейдерами или просто для каждой стадии текстура сгенерирована.
pda
Нет, вы ошиблись, на каждый кадр анимации воды свой тайл, и у листвы тоже каждый кадр уникален.
Секрет в том, что данные спрайтов хранятся в RLE-виде, и распаковываются непосредственно при
отрисовке, благодаря этому в малое количество оперативной памяти можно напихать целую кучу кадров
и рисование их относительно дёшево.
Madware
Значит они уже тогда обленились делать по классике. :)
pda
Сами тайлы палитровые на самом деле, причём для разных видов освещённости генерится отдельная палитра.
У юнитов есть различные вариации палитры, как например различная расцветка одежды людей, и разная
цветовая гамма на разные уровни монстров. В общем, своих палитровых ухищрений у Аллодов хватает.
Вообще, нужно понимать пайплайн нивала чтобы делать выводы о том ленились они или нет.
Суть в том, что всё, что мы видим в Аллодах изначально создавалось в трёхмерном редакторе и рендерилось.
Сделать палитровую анимацию для рендера тайлов воды и для вручную отрисованного пиксель арта, это,
на мой взгляд, две больших разницы.
интересные подробности, спасибо
Продолжил прокрастинацию -- в этот раз переписал рендер тайлов так, чтобы они рендерились заново только при скролле(и только та часть, которой ещё не было видно), при необходимости обновить кадры воды и при изменении освещения/зоны видимости. В итоге производительность возрасла если не на порядок, то в разы уж точно, и отпала необходимость в многопоточных "хаках", так что ядрышки теперь разгружены и при случае их можно занять чем-то поинтереснее ускорения отрисовки.
Далее ещё немного попрокрастинирую, рисуя правую панельку игрового гуя, а потом вернусь к data.bin с новыми силами и решимостью :)
Вообще, настроение оптимистичное. Возможно, к двухлетнему юбилею темы можно будет даже пойти и зарубать какую-нибудь белку или пчелу