(бухай): программируй
148 subscribers
465 photos
96 videos
3 files
65 links
Мысли, дегустация и код
Download Telegram
Одно из достоинств боевой системы - это возможность настроить врагов, как душе угодно.

Одновременно в памяти может храниться информация о 64 врагах. Для каждого врага указываются его параметры и имя. А еще можно присвоить врагу любой спрайт из 32-ух доступных, и даже переназначить все цвета этого спрайта.

Вот и получаются такие штуки 😂
🔥7❤‍🔥1
Весь код почти дописан (да, осталась боевка, но там не так много), поэтому выдумываем все подряд.

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

А еще @grongy нарисовал вот такие классные потолочные балки, и игра сразу стала живее=)
8🔥3❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Последний(?) вариант боевой системы. Добавил атаки врага и возможность защититься от них.
Логика такая же как и при атаке (попал в красную зону или не успел за таймером - урон x2, попал в желтую зону - урон x1, в зеленую - враг промахнулся).
Враг моргает и прыгает, экран моргает, цвета меняются. Осталось на это дело звуки накинуть, и будет огонь=)

И конечно, я забыл рассказать про расчлененку! Теперь, если игрок держит в руках правильное оружие и попал в зеленую зону, от врага отваливается случайный кусок, и кровища хлещет=)

А еще каким-то волшебным образом починился артефакт в левой части экрана между текстовой и битмап зоной (так и не понял, как).
🔥7👍2❤‍🔥1
Я думал, что с рендером покончено... И я ошибался.

Во-первых, я ускорил отрисовку кадра. Не очень сильно, но визуально заметно.

Во-вторых, сократил рендер-таблицы больше, чем на килобайт! Оказалось, что повторяющиеся значения можно хранить отдельно, а не дублировать для каждого луча.

В-третьих, добавил плоские стены! Они могут быть вертикальными и горизонтальными (при повороте меняются местами).
С помощью таких стен можно делать, например, выемки для дверей и окон или, наоборот, выпирающие элементы (шкаф, стиральная машинка). А можно просто поставить плоскую стену посреди карты, и получится вот такая шторка в ванной=) Короче, движемся в сторону Wolfenstein 3D.

P.S. А памяти у меня осталось не так много — 4 Кб на оставшиеся эксперименты и 4 Кб на звуки с музыкой.
🔥11❤‍🔥2
Последние изменения в первую очередь касаются рендера.
Теперь на один блок можно повесить аж две текстуры: одна текстура на вертикальных стенах, вторая на горизонтальных.
Из-за этого сперва немного просела скорость просчёта кадра, но каким-то магическим образом мне удалось сделать её еще быстрее, чем было раньше. Теперь в худшем случае (если игрок стоит прямо перед стеной) кадр рисуется за 0.46 секунды против предыдущих 0.57.

Ну и немного о редакторе карт. Раньше я все делал в Tiled, но из-за того, что появилась разная геометрия блоков и двойные текстуры, это стало очень неудобно
А я и подумал: а почему бы не использовать в качестве редактора движок Godot, тем более он позволяет из коробки делать кучу вещей.
Короче, карты теперь рисуются в 3D, в реальном времени в редакторе обновляются текстуры, геометрия и спрайты, накладываются триггеры.
А потом все это дело можно одной кнопкой экспортировать в ASM.
Обычные будни разработки под Коммодор😂
🔥122❤‍🔥1
Приехало все для пайки, будем разбираться :)
🔥8❤‍🔥3