Нет, это AY, но ви53 тоже будь здоров умеет -- это в соседней ветке.
Нет, это AY, но ви53 тоже будь здоров умеет -- это в соседней ветке.
Больше игр нет
Дописал код для back buffer. Скелёлики вернулисьВроде не моргают. Другой позитивный эффект, раньше они рисовались в 12.25fps, теперь в ~25fps. то есть сейчас все рисуется в 24fps, в дальнейшем конечно станет меньше.
Но я все равно доволен результатом
- - - Добавлено - - -
Можно заметить над головами героя и скелетов появляются мусорные пиксели. Где-то бага и прирывание портит данные на квазидиске. Нужно лечить![]()
Привет всем...Дописал код для back buffer. Скелёлики вернулись Вроде не моргают. Другой позитивный эффект, раньше они рисовались в 12.25fps, теперь в ~25fps. то есть сейчас все рисуется в 24fps, в дальнейшем конечно станет меньше. Но я все равно доволен результатом
Уже хорошо смотрится...
parallelno(20.09.2022)
Stl75, Спасибо!
Починил этот баг. Обновил систему анимации. Раньше смена кадров хотьбы зависела от позиции, теперь это зависит по времени. Это привело к обновлению анимационного формата. Теперь монстры и герои не мельтешат ножками.Можно заметить над головами героя и скелетов появляются мусорные пиксели. Где-то бага и прирывание портит данные на квазидиске. Нужно лечитьТак же герой теперь перемещается по пиксельно. Данные немного разбухли но пока терпимо. Ром весит 18.2KB
Немного новостей. Работая над атакой героя, решил что было бы хорошо добавить побольше тайлов и всех оставшихся мостриков с анимациями и посмотреть а сколько игра занимает сейчас.
Получилось ~28К. Что уже приближается к максимуму для моей игры. так как я распаковываю данные в экранную память, затем перемещаю в квазидиск. Думал думал что же делать и решил что можно последний блоб данных который вылезет за 32К не сжимать и перемещать как есть в квазидиск, тем самым освобождать видео память для распаковки оставшихся кусков. Это дало примерно 8К что очень неплохо, но не супер. итого сводобной памяти стало 11К. затем пришла идея не хранить preshifted спрайты к rom игры, а расчитывать их в игре на этапе инициализации. Потестил, это дало +~9К что уже звучит неплохо. Затем еще покумекав доработал zx0 чтобы он сразу на квазидиск распаковывал. Тем самым последний блоб тоже можно сжать. Это высвободило еще памяти, плюс ром ьеперь можеть быть 64К. В итоге сейчас rom со всеми монстрами, анимациями и тайлами занимает примерно 16K, и 48K свободно что звучит сейчас как анлим для меня.
Распределение памяти сейчас такое.
генерация preshifted спрайтов все еще в процессе, поэтому пока только скриншот![]()
![]()
Последний раз редактировалось parallelno; 13.10.2022 в 06:29.
Black Cat / Era CG(13.10.2022), nzeemin(13.10.2022), svofski(13.10.2022), thetrik(25.01.2023)
parallelno, а комнаты, т.е. лабиринт уже весь сделан? это же тоже сколько-то займёт, пусть и не так много как графика?
Мне нравится деталь как края лабиринта рассеиваются во тьму. Мелочь, но очень приятно.
Больше игр нет
parallelno(13.10.2022)
nzeemin, комнат пока 3. Планируется несколько десятков. Да, это займет сколько то памяти. Да и проджектал пока один и анимаций смертей нету. Уверен что снова придется кумекать где бы ужаться
- - - Updated - - -
svofski, спасибо. Сейчас вижу что нужен какой-то паттерн, а то смотрится мусорно.
Опять немного новостей про проект.
Доделал прешифтинг спрайтов до состояния "не оптимально но без ошибок". Запуск игры теперь с ощутимой задержкой в 3-4 секунды. Ром немного разбух до 17.2к из-за "лишь бы работало" кода.
Перенес код гигачада на квазидиск в тот же банк где сама музыка. Это дало аж 60 байт!
Видео не прилагаю так как визуально ничего не поменялось.
В игре используется бэк буфер в три экранных области. Отрисовка спрайтов туда не подвержена теарингу, так как это не основной экран. Спрайты обычно 24*15 пикселей, но их ширина и высота могут быть разными, но не шире 24 пикселя. Первая мысль была рисовать их по столбцам, так как 15 байт подряд более длинный сиквенс чем при отрисовке горизонтальными линиями в 3*3 байт. Но у меня не получилось сделать код быстрее чем тот что вы обсуждали здесь на форуме. Буду очень благодарен если кто-то осилит этот челендж и найдет более оптимальное решение.
Ещё хочу сказать что организация самого бэкбуфера может быть любая, главное чтобы перенос спрайта из него на основной экран был быстрым.
- - - Updated - - -
Забыл добавить что перенос спрайта из бэкбуфера в квазидиске на основной экран сделан по столбцам. Переносить спрайт горизонтальными линиями у меня получилось медленнее. Если кто-то попробует найти более быстрый вариант, буду безмерно благодарен.![]()
Последний раз редактировалось parallelno; 19.10.2022 в 12:07.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)