Category: Разработка

16
Мар
2024

Начинаем открывать двери

Интересный прикол в оригинале – алмаз появляется раньше, чем открывается сама дверь:

 

15
Мар
2024

Уже похоже!

Недавно в эмуле GIDа появились “Точки остановки с условиями” – можно задать условие остановки, когда, к примеру, произойдет обращение к интересующей ячейке памяти по чтению или записи (на выбор). Крутая штука! Благодаря ей я нашел сейчас причину одного из глюков – время от времени скролл экрана уезжал неведомо куда. Оказалось, причина была в неверном развороте Дейва в падении. Эта процедура была расчитана на первоначальный вариант падения, а этих вариантов уже стало четыре. Как обычно возникает вопрос – как оно вообще работало? 🙂

GIDу огромное спасибо за шикарный инструмент разработки и отладки!

Итак, я добавил проверки на горизонтальные препятствия, коррекцию “полетов” при столкновении с этими препятствиями. Теперь Дейв уже не проходит сквозь стены и не пролетает. Поправил свойства некоторых объектов. Вообще, прикольный механизм придумали Ромеро с Кармаком, конечно, для обработки обстановки – у каждого тайла есть свойства “можно пройти объект справо налево”, “можно пройти объект сверху вниз” и т.д. Обработка столкновений проще при этом. Но зато приходится эти свойства обдумывать и назначать.

В целом, Дейв стал двигаться уже похоже. Теперь надо с длиной и высотой этих прыжков разобраться, чтобы не прыгал слишком далеко. И можно переходить к стрельбе!

04
Мар
2024

Его пигалица перемахнула через куст!

Итак, сегодня Дейв научился прыгать на разную высоту, в зависимости от того, когда будет отпущена кнопка “прыжок”. А также впервые начал распознавать под собой землю при приземлении. Так что сегодня Дейв самостоятельно залез на дерево.

29
Фев
2024

Даешь прыжки!

Собрал анимацию и механизм прыжков, а также переделал анимацию бега. Прыжки управляемые, как и положено в Дейве – на лету можно повернуть в другую сторону, уж не знаю, что за физика такая 🙂 Анимация работает успешно, теперь надо проверить, получаются ли при прыжках такие же расстояния в длину, как в оригинале. А потом можно и обстановку задействовать – пора побродить по этажам 🙂

26
Фев
2024

Дейв научился ходить!

Сегодня Дейв перешел на новый уровень – это уже не разрозненные демки, а заработавший движок. Первые движения – разворот на месте и бег вправо-влево. Управление обрабатывается от джойстика и клавы. После того, как Дейв побежал по экрану, я попробовал добавить и горизонтальный скроллинг. Он заработал, но нужно регулировать зону “люфта”, а также хитро менять смещения спрайтов Дейва, когда двигается слой фона, чтобы этот самый Дейв не дергался. Но главное, что он теперь управляется и готов учиться новым движениям!

 

18
Фев
2024

Овеществляем лабиринт

Разобрал тайлы первого  и второго уровней, прописал им свойства. В Дейве своя система обработки обстановки – каждый тайл имеет свойства “проходимости”, т.е. признаки того, что через этот тайл можно пройти справа налево, слева направо, сверху вниз, в него может попасть пуля, по нему можно спрыгнуть вниз и т.д. К примеру, сквозь ступеньки лестницы можно свободно проходить справа-налево и обратно, и прыгать вверх сквозь них тоже можно, а вот провалиться сквозь них нельзя. Но можно спрыгнуть по ним вниз. В оригинале каждое свойство это байт, у меня это будут (уже есть) биты в слове. Номер тайла умножаем на два, получаем смещение в таблице свойств и по нужным битам видим, можно ли проваливаться и т.д.
Так что скоро буду запускать Дейва в лабиринт 🙂

09
Фев
2024

Аппаратный скролинг на AZBK

Сделал экран размером 512х512, причем видимая часть 256х192. И кручу рулон во всех направлениях двумя регистрами – горизонтального и вертикального скроллинга. Так работает он мгновенно, то пришлось вставить задержку, чтобы было вообще видно, что экран двигается 🙂

05
Фев
2024

Липучка!

Помнится, мы называли ее так. Добавил анимацию ее движений и прыжков. Пока я изучал ее поведение, стало понятно, что для нее надо будет делать такой же алгоритм просчета, как и для полета пули под углом 45 градусов.