User Tag List

Показано с 51 по 60 из 79

Тема: Специалист: программирование на ассемблере

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #18

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Еще раз присоединюсь к svofski, что это мелочи, на которые не стоит обращать много внимания, пока они не станут критичными. Лучше бы я пока помолчал, но теперь могу только учесть на будущее.
    Вот как раз момент с OR/XOR (HL) не является мелочью, а является наглядным примером того, как можно одновременно сократить размер, сделать быстрее и понятнее код. Именно поэтому я решил снять короткий ролик. А другие ошибки типа опечаток я просто правлю тихонько за кадром. Но здесь был не тот случай! А я ещё как раз сидел и думал, как бы избавиться от PUSH/POP BC в этой процедуре. Нутром чуял, что можно, но в итоге так и забыл про (HL).

    Цитата Сообщение от ivagor Посмотреть сообщение
    У меня еще вопрос, который возможно ты затрагивал в первых видео, которые я, признаюсь, подробно не смотрел. Почему не взял за основу какой-нибудь спековский игровой движок? Понятно, что современные движки сложные, зато их авторы теоретически могли помочь разобраться и упростить. Хотя конечно они (авторы движков) люди занятые и могли отказаться, тогда вопросов нет.
    Нет, я этот вопрос не освещал. Основная причина, конечно, потому что я не игродел и у меня попросту таких знаний нет. У меня вообще изначально была идея просто показать как настроить среду и написать "Hello, World!" без процедур ПЗУ. Но когда увидел некоторый интерес со стороны зрителей, решил двинуться чуть дальше, а потом ещё и т.д.

    Ну а что касается того, о чём я рассказываю, то я-то как раз по сути и описываю движок Sanchez'а! Как-то давно в разговоре он упомянул (когда это ещё не было широко известно), что для своих игр он вначале пишет прототип на C#, а графику в прототипе отрисовывает, записывая данные сразу в битмап. Мне это показалось очень интересным и я на Python сделал нечто вроде виртуального Спектрума со стандартной структурой Спектрумовского экрана, для которого можно писать на Python. А потом под это дело на Python решил сделать движок, чтобы потом перенести его на Спектрум, как это делал Sanchez. И так как у меня не было опыта создания спрайтовых игр, я начал одолевать Sanchez'а вопросами: "А как ты сделал то?", "А как ты реализовал это?". И Саша терпеливо на пальцах начал рассказывать мне как работает его движок, как он хранит карту, как анимирует тайлы, как выводит спрайты, как их сдвигает, а при необходимости ещё и разворачивает. Ко всему этому он шел постепенно, а мне просто выдал уже готовый результат. Например, когда-то ранее он мне рассказывал, как jerri на страницах этого форума подсказал ему крутую идею про вывод спрайта с маской по OR/XOR. Для меня это тогда вообще было тёмным лесом. Даже потом нашёл то сообщение на форуме, но всё равно ничего не понял. А вот когда я уже начал сам реализовывать печать спрайтов, то реально поразился красоте решения. Вот так по описаниям Sanchez'а я и написал по сути его движок на Python, обильно снабдив для себя комментариями. А сейчас я просто перекладываю его с Python на ассемблер, как и планировал ранее, только уже не для Спектрума и Z80, а для Специалиста и i8080. И, соответственно, сталкиваюсь с ограничениями в виде меньшего набора регистров у процессора, и отсутствия возможности синхронизировать вывод на экран. С последним у меня сейчас на Специалисте вообще проблема - анимированный спрайт героя сильно мерцает при восстановлении фона под ним. На Специалисте нужно делать дополнительный промежуточный буфер, что усложняет программу и понимание её работы. Я пока не реализовал это и вообще не уверен, что это легко позволит избавиться от мерцания. Хотя помочь, конечно, должно, потому что именно так сделано в Batty, в там на Специалисте уже ничего не мерцает. А вот на Спектруме нужно просто подгадать правильное по времени начало отрисовки без всяких лишних буферов и дополнительных процедур.
    Последний раз редактировалось CityAceE; 08.02.2024 в 09:22.
    С уважением, Станислав.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Программирование на ассемблере
    от shuran33 в разделе Вектор
    Ответов: 341
    Последнее: 05.11.2025, 20:00
  2. Программирование на ассемблере
    от tnt23 в разделе Океан-240
    Ответов: 6
    Последнее: 30.10.2025, 12:56
  3. Ответов: 22
    Последнее: 12.02.2023, 16:13
  4. Ответов: 275
    Последнее: 16.12.2018, 23:01
  5. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •