суббота, 23 мая 2009 г.

Набросок кусочка уровня "Junkyard"

На днях решил проверить на что способен мой редактор. Закинул в движок несколько моделей и собрал из них небольшой участок уровня "Свалка". Ниже можно увидеть пару видео с результата. Собственно этот прототип позволил выделить несколько проблем:
1) Робот часто задевает углы и спотыкается о неровности пола. С этим придётся чтото делать, т.к. раздражает ужасно.
2) Необходимо ввести в движок дополнительную физ геометрию, которая будет реагировать только на игрока и врагов. Ей нужно будет обтягивать все участки с которых игрок может упасть в пропасть, а также участки куда по идее игрок заезжать не должен.
3) поиск пути для роботов скорее всего надо будeт делать с помощью Paths а не AStar. Это позволит ввести более интеллектуальных врагов по средством добавление дополнительной информации о уровне в Path Points.

Видео с геймплея движка:


Видео с редактора уровней:


К сожалению показать физ геометрию уровня получилось плохо (из-за низкого разрешения видео), поэтому покажу отдельным скриншотом:

четверг, 21 мая 2009 г.

Сериализация мира

Наконец то я отладил сериализацию (покрайней мере основных объектов). Последняя ошибка, которую я искал дня два была крайне банальной. Я перерыл по пятьсот раз все коды загрузчиков и отгрузчиков, но так и не мог понять почему периодически в случайном месте файла байты при загрузки съезжают. Не мог понять пока не додумался проверить способ открытия файла.. фак, я бинарный файл открывал как текстовый (!!!). И самое прикольное - периодически уровень грузился нормально )))) 

Вообщем поставил я бинарный доступ - и сразу всё заработало как надо.

Такие дела, господа. Не делайте глупых ошибок :)

среда, 13 мая 2009 г.

Модели: тайлы уровней

Мир в игре будет тайловый. Т.е. собираться из отдельных мелких (и не очень) объектов в редакторе. Плюсов из этого подхода довольно таки много – большое разнообразие уровней, большая детализация. Также считаю огромным плюсом возможность управлять детализацией – в зависимости от настроек не загружать объекты, помеченные как «только для высокой детализации» (ну например дополнительный мусор, второстепенные элементы уровня и т.д.). Минусы конечно тоже есть- большее количество DIP. Но учитывая наклон камеры и деферред шейдинг я не думаю что это будет сильно влиять на производительность )

Ещё конечно придётся сделать в редакторе функции выравнивания объектов, подгонки друг к другу и убирания зазоров между ними, иначе зашьёшься выравнивать всё в ручную…

Начал работать над тайлами первых уровней – «катакомбы» и «район старой свалки».










Довольно долго подбирал тектуру поверхностей свалки, такую, чтобы на ней не терялись активные объекты. Вроде не плохо смотрится: