[ AmberSkyNet VR ]

FECI AUOD POTUI, FACIANT MELIORA POTENTES
я сделал, что мог, кто может, пусть сделает лучше
(народн. латинская мудрость)

Небольшое предисловие

Скажу сразу, чтобы не было никаких недоразумений далее =).

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

Во вторых, я хоть пока еще и не забыл (после прочтения разных умных книжек) некоторые умные слова вроде "сериализация", "смартпойнтер", "синглтон", но в реальной жизни с такими терминами сталкиваюсь относительно редко. А чем редко пользуешься, то из памяти быстро выветривается. Поэтому описания шагов будут более на человеческом языке, а, соответственно, менее на терминологически насыщенном профессиональном языке разработчиков (который я знаю на уровне "все понимаю, вот только сказать не могу").

Во-третьих =), шаги разработки - это именно шаги, т.е. отражают состояние движка в то время, когда писался шаг. Через некоторое время интерфейсы классов могли немного поменяться (например, я сделал во внешних интерфейсах const char* вместо std::string). Что-то в интерфейсах классов может быть добавлено, что-то убрано за ненадобностью, немного изменен порядок наследования. Но основные алгоритмы работы классов движка там изложены верно.

Шаги разработки движка

  • Шаг 1. - определение структуры каталогов, работа с SVN.
  • Шаг 2. - главный класс CEngine и интерфейс к нему.
  • Шаг 3. - добавляем систему плагинов.
  • Шаг 4. - ini-файл.
  • Шаг 5. - asnLog плагин - плагин лог-файла.
  • Шаг 6. - asnFileSystem - плагин файловой системы, чтение из ZIP-архивов.
  • Шаг 7. - asnDeviceGL плагин - плагин менеджера графики и ввода.
  • Шаг 8. - плагин мира asnWorld, плагин 3ds-модели asnNode3ds, менеджер ресурсов.
  • Шаг 9. - плагин разбора/формирования данных DataParserXML, реализация камеры.
  • Шаг 10. - плагин анимационных спрайтов, плагин звука. Базовые объекты.
  • Шаг 11. - плагин менеджера сети, плагин IRC-клиента
  • Шаг 12. - менеджер событий и слушатели событий, модификаторы ноды
  • Шаг 13. - менеджер скриптового языка
  • Шаг 14. - плагин реализации HTTP-протокола

Powered by: SourceForge.net Logo