Я ищу идею, как лучше хранить информацию о порождении для бокового скроллера. Игра, которую я пишу, очень похожа на Super Mario Bros. Я пытаюсь реализовать то, что когда вы проходите уровень, враги должны появляться в определенных местах. Я хочу хранить эту информацию на уровне, и я не хочу просто случайным образом вызывать врагов. Я ищу высокоуровневую стратегию для хранения и извлечения появившихся объектов, когда игрок достигает определенного места (например, Марио). Я не смог найти ни одного достойного учебника или предложения от Google.
Уровень основывается на тайле, поэтому карта - Tile [] []. Сейчас каждая плитка имеет размер 16x16 пикселей.
Единственное хорошее предложение, которое я видел до сих пор, - это хранить информацию о порождении в 2d массиве, где первое измерение - x, а второе - y, заданное в пространстве листов. Проблема, с которой я столкнулся в этой реализации, заключается в том, что, если у моего игрока, скажем, (160, 0), я хочу вызвать конкретного врага. Однако, если в следующий раз уровень будет сброшен, игрок находится на (160, 5), я хочу вызвать того же врага. Таким образом, чтобы эта реализация работала, я должен выполнить сканирование для заданной позиции y.
Я ищу более эффективный механизм хранения. Мне нужно что-то, где я могу быстро найти правильные икры, а не тратить слишком много памяти, сохраняя места для нереста.
Есть ли в играх какие-то общие стратегии для этого?