Я ветеран C #, никогда раньше не делал игр. Пытаясь расширить свой кругозор, я начал учить себя основам XNA, пытаясь создать простую 2D-игру типа лабиринт с типичной стрельбой по противнику. Мой вопрос связан с поиском пути для нескольких врагов.
Рассмотрим типичный пример: Pacman.
Когда вы начинаете раунд в Pacman, призраки выходят из коробки и выбирают разные, казалось бы, случайные пути, за одним исключением - они взвешиваются для определения текущей позиции игрока. Я думал, что могу пересчитывать путь каждого врага каждый раз, когда игрок движется, чтобы добиться аналогичного эффекта, но я не хочу, чтобы враги слишком сильно перекрывали пути, поэтому мне нужно случайным образом исказить каждый рассчитанный путь, чтобы придать некоторую степень уникальности враг. Есть ли к этому стандартный подход?
Думаю, я мог бы смотреть на это, поскольку каждый враг сам по себе является препятствием, и поэтому ни один путь врага не может включать путь, который мог бы столкнуться с другим врагом. В случаях, когда нет нового пути, который предоставил бы игроку свободный доступ, я бы попросил врага продолжить свой существующий путь, пока либо рабочий путь не будет найден, либо столкновение не изменит текущий путь. Этого может быть достаточно, но не слишком ли я упрощаю?