Важная информация

User Tag List

Показано с 1 по 3 из 3

Тема: Разработка игр под две конфигурации

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Разработка игр под две конфигурации

    Серьёзные разработчики (типа RELEVO или Mojon Twins) делают игры под несколько платформ. Особенно легко это делать, если все платформы (или конфигурации) на одном и том же Z80. Различаться должны только ресурсы (графика, музыка, звуки), загрузчик, графический движок и звуковой движок. В любом случае вся логика игры, карты и балансировка могут оставаться прежними.

    Как этого добиться без лишних усилий?

    Допустим, вы пишете в ALASM. Поскольку у него память под исходники ограничена, то у вас однозначно уже есть несколько исходников: в одном обвязка, в другом лежит графический движок, в другом звуковой, в третьем интеллект и т.п.

    Допустим, программа уже работает под одну конфигурацию. Допустим, это 6912. Надо добавить поддержку цвета на точку. Чтобы не начинать всё с начала и не утонуть в отладке, надо переделывать программу маленькими шагами. Мой рецепт следующий:

    1. Убеждаемся, что все адреса таблиц заданы константами или динамически выделяются, а не прописаны непосредственно в коде. Это можно проверить, физически сдвинув таблицу.
    2. Убеждаемся, что нигде не используются абсолютные адреса графики, а есть только номера спрайтов или таблица с адресами. Это можно проверить, физически сдвинув спрайты.
    3. Делаем так, что ресурсы в страничках не INCBIN'ятся, а грузятся.
    4. Убеждаемся, что программа сама собирается на диск одной кнопкой (SAVEOBJ*, mrip* или m2hr*).
    5. Мигрируем в ассемблер с АТМ страницами. Убеждаемся, что всё работает и после сборки на диск тоже работает.
    6. Добавляем в главный исходник константу atm=1 и все последующие изменения обрамляем IFN atm ... ELSE ... ENDIF.
    6. Добавляем код инициализации ATM, включаем режим EGA и смотрим на кашу на экране.
    7. Переписываем графический движок так, чтобы он выводил 6912 графику на EGA экран. Экран проще всего подключать в #0000. Пусть тормозит, это не важно! Убеждаемся, что всё работает.
    8. Переделываем для начала несколько спрайтов и/или тайлов под цвет на точку.
    9. Переписываем одну графическую процедуру за другой под новые графические ресурсы, они должны лежать в странице. Тестируем на том, что мы наконвертили.
    10. Переделываем остальные ресурсы.
    11. Автосборщик должен при atm=1 сохранять игру под одним названием, а при atm=0 под другим.
    12. PROFIT!

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,692
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    30 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В 1997 году у меня появился Пентиум 1й 166MHz MMX все дела 32Mb памяти и карточка S3 c 2Mb на борту, но не смотря на все эти «навороты» Need For Speed III согласился запускаться только 320x240 с очень скудной графикой и всё достаточно притормаживало, поскольку, как не трудно догадаться, всё ложилось на процессор. Затем я купил 3Dfx Voodoo 2 c 12Mb на борту! И о чудо игру стало возможно запускать 800x600 (или даже 1024x768 не помню точно), машины стали достаточно «красивыми» (как для того времени), игра работа чётко, быстро и без лагов.

    А теперь вернёмся к теме: И в первом случае был тот же процессор, и во втором, но между ними нюанс, как говорил Василий Иванович…
    (๑•̀ㅂ•́)و✧ Doors UI → https://t.me/doorsui | https://t.me/atari_xl_xe ← Atari XL/XE (●´ω`●)ゞ

  4. #3
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Синхронизация игровой логики по кадровому прерыванию и регулировка размеров экрана могут решить проблему разной скорости у разных машин.

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

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

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

Похожие темы

  1. Reverse. Конфигурации
    от Ewgeny7 в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 1296
    Последнее: 24.01.2021, 13:15
  2. Ответов: 55
    Последнее: 25.08.2013, 23:24
  3. PentEvo: Графические режимы конфигурации (TSConf) от TS-Labs
    от breeze в разделе Программирование
    Ответов: 15
    Последнее: 15.06.2013, 13:48
  4. Разработка под эмулятором
    от Hacker VBI в разделе Программирование
    Ответов: 33
    Последнее: 14.03.2013, 15:11
  5. Разработка ZXOOM
    от Andrew771 в разделе Графика
    Ответов: 666
    Последнее: 16.08.2011, 17:22

Ваши права

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