Инди-разработка требует креативных решений. У меня нет времени и сил изобретать велосипеды и делать всё так, как принято в индустрии. Поэтому часто приходится выкручиваться :)
Вот взять например редактор объектов. Нужен ли он? В проекте сложней крестиков-ноликов – обязательно. В слепую править сотни параметров, потом грузить игру и смотреть что получилось – это не достойно настоящих джедаев. Однако при ближайшем рассмотрении его создание должно было бы затянутся на месяцы: ведь в нём будет куча диалогов, в них дофига контролов, связанных с параметрами объектов. И это всё богатство придётся держать в актуальном состоянии на всём протяжении разработки! Ведь создаётся он не под готовый движок, и новые параметры у объектов будут появляться с завидной регулярностью.
Ясно дело что такой путь не для меня, разработчика-одиночки. А теперь давайте подумаем: а что собственно требуется от движка игры? Правильно, только отображать изменения в реальном времени. А теперь внимание вопрос: “Накой фиг нам создавать тучи диалогов с параметрами если все данные в игре лежат в православном формате XML и править его очень удобно с помощью программы XMLNotepad??”. Вот тут то ко мне пришла конгениальная мысль – пусть мы будем править все данные в удобном редакторе
XMLNotepad, а наша программка пусть отслеживает все изменения ресурсов для редактируемого объекта и если время изменения файла поменялась – перегрузить изменённые ресурсы. Достаточно просто сохранить файл (нажать CTRL+S), и результат изменений сразу отобразится во вьюпорте!
Причём метод позволяет добиться такой функциональности, которой не располагают даже многие коммерческие движки:
- можно в реальном времни текстурить объекты в фотошопе и сразу видеть финальный результат в движке!
- можно менять сетку (например корректировать нормали) объекта и видеть сразу результат!
Вообщем этот метод даёт огромный функционал инди-разработчику, требуя затратить минимум времени для его реализации.
Вот полноразмерное видео такого редактора (20mb в разрешении 1680x1050):
http://depositfiles.com/files/6qz6z31gfПревьюшка на youtube: