Алексей@Swamp_Dok
Программист, радиолюбитель.
Информация
- В рейтинге
- 6 081-й
- Откуда
- Воронеж, Воронежская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Разработчик игр, Инженер встраиваемых систем
От 50 000 ₽
C++
C
Программирование микроконтроллеров
Python
Разработка игр
Разработка электроники
Когда мне студенты приносят нейросетевой код (его обычно видно), я начинаю просто спрашивать по коду и прошу какую-то часть логики переделать при мне.
Обычно такие студенты не справляются, а если справляются, то значит все ок, пусть используют.
Спасибо за вашу библиотеку. Использую вашу библиотеку в своих играх, все работает отлично.
Статья тоже отличная, познавательно)
Не ожидал, что и в тетрисе 6502. Особенно забавно, что я тоже пишу игры под 6502 для денди) 6502 повсюду.
Это ведь ещё и эпл 2 и коммодор 64, жаль только у всех слишком разная обязка и весь софт пропитан хаками, портировать проблематично.
Тогда да, я думал вы написали обертку поверх стандартной.
Да, знаю исторических блогеров, которые продают платный доступ к текстам.
Это может работать, если блогер набрал большую аудиторию на массовых ресурсах, а потому перевёл кор-аудиторию к себе на закрытые каналы.
А с нуля я не представляю как можно набрать аудиторию по узкой теме на текстовых статьях. А если они ещё и платные будут с самого начала, то шансов ноль.
Перехватчик нажатий вызывается каждый раз при нажатии клавиши? Не слишком это замедляет выполнение программ? Хотя, если это работа с текстом, то все равно, наверное.
Интересно, что я тоже последнее время думаю про клавиатуры для древние компов. Мне нужно сделать клавиатуру для ДВК 3 и для рк86-подобного компа.
Ещё мечтаю о БК и спектруме (любой вариации), но пока на это все жалко денег). А с MSX совсем грустно в этом плане.
Поэтому я стараюсь лишний раз комментарии на хабре не писать. Вероятность критического урона слишком велика)
А свои статьи не забрасывайте, темы интересные)
До 22го было не сильно лучше, а так да, согласен. Бытовуха убивает творчество.
Спасибо, интересно)
Я тоже за тексты, начинал с текстового блога 13+ лет назад. Чтение по диагонали мастхэв, видео никогда не заменит статьи.
А решил перейти на ютуб, так как понял, что тексты больше никому не нужны. Медийный тупик.
На счёт "мёртв" не уверен, но интересных статей стало меньше (по крайней мере для меня).
Раньше была куча очень необычных авторских программных и железных проектов, типа дампера Кластера (первое, что приходит в голову).
А сейчас 90+% ленты - это обзоры фреймворков и новых версий софта + какие-то очень специфические бизнес кейсы. А хочется читать про самодельный комп на пневматике или про обсерваторию на балконе:)
Но я и сам виноват в упадке, слишком редко пишу статьи. Затянулся проект с 3д движком для денди, но его точно добью. Будет интересно.
PS: Прошу прощения у своих подписчиков за долгое отсутствие, все проекты в работе. Спасибо, что не отписываетесь)
А мне казалось, что прикладывание к статье видео-версии и видео-иллюстраций наоборот вызывает негатив у читателя.
Всегда с некоторым стеснением прикрепляю видео и жду осуждения.
Да. Надеюсь этим летом добить демку с плавной камерой. Но пришлось переписывать весь движок.
256 для фонов и 256 для спрайтов
Можно купить новодельную денди и посмотреть топологию осовремененую под микроскопом. Но там не чистый 6502.
Только сейчас прочитал комментарий.
Вчера перед сном размышлял о движке и архитектуре таблиц. И забавно, что придумал примерно тоже самое, что ты описал в этом комментарии (код нормально тоже не смотрел ещё).
Тоже пришёл к мысли, что тангенсы вообще не нужны. Сделать таблицу тангенс*младший байт координаты даже проще. Можно ещё можно два младших разряда координаты убрать и получим в 4 раза меньшую таблицу, что хорошая экономия.
Только лучи около 0 и 90 градусов нужно отдельно обрабатывать.
Про 128 лучей согласен, логично. И хорошая идея про ориентацию по таблице из фиксированной стартовой позиции, но тут придётся вручную на асме писать. Сс65 туповат, он каждый раз будет считывать указатели в регистры. Но это мелочи.
И я примерно придумал как быстрое формирование стен сделать с дробными тайлами по краям. Если брать шаг тайла в 2 пикселя, там не так много вариантов высоты стен.
И со статус баром проблем нет. Можно выводить его спрайтами или использовать параллакс.
С полигонами тоже скорее всего многое заменится таблицами, ибо сцена всего 64х64 пикселя. Но там все надо доделать пока без оптимизации.
Код буду изучать, работа большая проделана, спасибо. Попробую его портировать. Прикрепи его на странице на итч.ио, так удобнее будет.
Но свою версию тоже постараюсь добить все равно, как минимум как учебное пособие для следующей статьи. Может просто в итоге не буду закапываться в оптимизацию, но посмотрим.
Библиотеку дробей я изначально писал, так как у СС65 они вообще никак не реализованы, только целые типы. Поэтому пришлось писать библиотеку. Там у меня псевдо дроби по факту, ибо они с фиксированной точкой, арифметика целочисленная.
Значит у тебя сейчас лучевая шестеренка на 128 зубьев? А как же рывки? Я наоборот перешел на таблицы с 1024 значений на 360 градусов, шаг 0.35 градуса. Значения в таблицах можно было сделать однобайтными, но проще знак хранить в таблице, чем генерировать его через свитч. Но вычисления, связанные с тангенсом, в однобайтные числа как закладывать? Тангенс около 90 градусов может быть +- 160.
Итоговый рендер выглядит отлично, меня такой результат устроил бы вполне. И туда не так сложно добавить имитацию освещения и добавить косые тайлы. Осталось собрать все в кучу и добиваться приятного вращения камеры и хотя бы 30 фпс.
Я тоже планировал заменять таблицами места, где число умножается на тангенс. Расстояние тоже можно было бы скорее всего загнать в чистые таблицы (на основе косинусов или корней не особо важно, суть одна).
Этот вариант тоже рассматривал, я рассчитываю угол наклона полигона, чтоб определить его видимость, можно привязать к нему и освещённость.
Но частоту кадров всё-таки хотелось бы побольше) Тем более выяснилось, что я могу перерисовать всю сцену за один кадр.