Game Engine
Проектуємо, пишемо, думаємо розмірковуємо, читаємо і багато іншого
Увага. статті містять багато милиць!
Всім доброго часу доби. Не так давно, вирішив зайнятися розробкою 3D ігрового движка, так як структурованої інформації з цього приводу не багато, вирішив створити серію статей, в якій постараюся показати, більше технічну частину, ніж теоретичну.
Зараз відійду від теми і хочу дещо відразу обумовити ... Я не є хорошим програмним архітектором і Senior developer (ом). Мені 21 і я маленький амбітний C ++ middle developer, можу помилятися, і писати дурниці.
Only a Sith deals in absolutes. Obi-Wan "Ben" Kenobi
Частина 1: Вступ
По-перше, треба розібратися в чому суть движка і навіщо його писати.
Хм ... І що ж це.
- Такс ... Значить, просто написати пару класів мало.
Хороші движки (UE, Unity, Cocos2D) складаються з пари сотень класів, декількох підсистем і купи менеджерів. Якщо конкретніше:
- графічна система
- Звукова система
- Система для роботи з мережею
- Менеджер процесів
- Менеджер завдань
- Менеджер об'єктів
- Менеджер сцен
і багато іншого…
- І що ж нам робити? Як, що і куди?
Найперше і найголовніше - розділити велику задачу на більш дрібні і йти крок за кроком. Маленькими, невпевненими, черепашачими кроками.
Це тільки перші начерки, матеріалу буде набагато більше!
Що повинно вийти
Для вступної статті, думаю, вистачить. У наступній статті ми напишемо каркас для движка і задумаємося над взаємодією систем і менеджерів, а так само що туди має входити. Чекаю ваших порад, матеріалу і пропозицій
Так само ось списочок матеріалу, для тих кому цікаво: