User Tag List

Показано с 1 по 10 из 667

Тема: Разработка ZXOOM

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

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

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    Хотяяя =) Может можно не хранить карту, а генерировать её в реалтайме?
    Как я понимаю, мы говорим про мини-карту? Сама-то карта хранится уже.
    Кстати, если генерить саму карту по ходу, то нужно хранить в точности то, где уже прошел игрок. Иначе при возвращении он не узнает, где был. В общем, всё равно приходится хранить основную карту.
    Мини-карту, чтоб не хранить каждый ее бит в 2048 байтах, можно высчитывать на лету. Для этого, например, можно:
    1. Запомнить все клетки, где был игрок. Точнее, даже не клетки, а, для экономии памяти, перемещения игрока от начальной позиции. По 2 бита на перемещение - 4 значения: вперед, назад, влево, вправо. Ессно, при возвращении в клетку, где уже был, создавать новое подмножество перемещений с запоминанием этой клетки. А еще - для большей экономии памяти - соседние посещенные клетки тоже сокращать. А уж по этим перемещениям высчитывать все окружающие клетки и их выводить на мини-карту. Теоретически, даже если игрок посетит все клетки лабиринта, всё равно получится меньше 2048 байт. Недостатки - слишком сложно для реализации и быстродействие будет хромать. Хотя, если мини-карту выводить только "по требованию", то пару-тройку секунд игрок может подождать.
    2. Можно разбить лабиринт на условные квадраты, к примеру, 4х4 клетки. Тогда, если игрок посетил хотя бы одну клетку из квадрата, то весь квадрат виден на мини-карте. В памяти это займет, если по биту на квадрат, всего каких-то 128 байт! Недостаток есть небольшой - иногда будет видно частично то, что недоступно через стенку.

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

  3. #2

    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Как я понимаю, мы говорим про мини-карту?
    Неа. Про большую "просто" карту.
    Сама-то карта хранится уже.
    Ну вот и сэкономить на ней памяти.
    Кстати, если генерить саму карту по ходу, то нужно хранить в точности то, где уже прошел игрок. Иначе при возвращении он не узнает, где был.
    Почему не узнает? Комнаты генерить как функцию от их координат на карте и начального seed'а для разных уровней. Трупы должны конечно исчезать, да, и с минимапой трудно, а уж как генерить проходимый лабиринт я вообще не предполагаю. Но память сэкономит =)

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

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

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

Похожие темы

  1. Разработка клавиатуры для ZX.
    от ZXFanat в разделе ZX Концепции
    Ответов: 171
    Последнее: 13.02.2013, 10:24
  2. Разработка БК-0101-10
    от CodeMaster в разделе БК-0010/0011
    Ответов: 61
    Последнее: 21.04.2011, 21:13
  3. Разработка НОВОГО клона
    от MegaMyth в разделе Несортированное железо
    Ответов: 311
    Последнее: 01.08.2008, 21:52
  4. Методическая разработка. Выпуск.1
    от Ne01eX в разделе Пресса
    Ответов: 7
    Последнее: 06.09.2005, 14:32

Ваши права

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