В Екатеринбурге с 26 января в еженедельном режиме начинаются курсы для программистов игр "From Junior To Senior". Одним из организаторов данного мероприятия является член нашего сообщества DRON. Было бы замечательно, если данные курсы посетили и другие игроделы с GcUp.ru
Курс лекций по программированию кросс-платформенных риалтайм приложений на примере разработки небольшого движка и игры. В процессе разработки будут рассматриваться большое количество косвенных вопросов связанных с программированием и поддержкой масштабных систем.
Курс рассчитан на людей умеющих программировать и способных самостоятельно писать приложения под Windows.
Будут рассматриваться языки: C++ и STL, C# и Mono, PHP и SQL, ObjectiveC, JavaScript, Java, Lua, MaxScript.
А также API: OpenGL и GLSL, OpenAL, Cocoa, WinAPI, XWindow, Windows Presentation Foundation.
Будут рассказывать представители компаний: ООО "ДиПроСофт", НПЦ "Спектр", ООО "Кибертайм Систем", ООО "Яндекс" и возможно другие специально приглашенные представители.
Лекции будут проходить еженедельно по четвергам в 16:00 по МСК в г. Екатеринбурге, по адресу Ленина 10. Далее будут выкладываться на YouTube-канале.
Тезисный план лекции и корректировки темы будут производиться за неделю до предстоящей лекции в этом документе. Сам план лекций не окончательный и будет корректироваться.
1. Введение в курс. Процесс компиляции и сборки бинарного кода. Основы современной 3D графики. Нотация кода и кодстайл.
a. На кого рассчитан курс. Конечная его цель. Формат преподнесения информации. (Pit, DRON).
b. Все этапы компиляции исходных кодов в бинарные файлы (Windows и Unix) систем. Различия статически-компилируемых от динамически-компилируемых языков (байт-код, JIT-компиляция) программирования. (Pit).
c. Как работают современные 3D ускорители. Фиксированный и программируемый конвейер. Основы программирования 3D графики, апи DirectX и семейство OpenGL. (DRON).
d. Зачем и как красиво оформлять код. Повышение читаемости кода и избегание ошибок за счет правильного форматирования. (DRON).
2. Разработка концепции игры, от идеи к концепт-документу и дизайн-документу. (DRON). Разбиение проекта на модули и постановка задач, а также планирование работ. (Pit).
3. Особенности архитектуры риал-тайм приложений. Проектирование архитектуры приложения (игра, редактор, конвертеры(экспортеры) серверная часть). Уровни абстракции. Особенности проектирования кросс-платформерных систем.
4. Проектирование и разработка кросс-платформерного движка (создание окна, взаимодействие с оконной системой, файловой системой, вводом пользователя, инициализация OpenGL). Особенности различных платформ (Windows, Linux, MacOS, iOS, Android).
5. Работа с OpenGL. Различия семейства API OpenGL (OpenGL 1.x-2.x, OpenGL 3.x-4.x, OpenGL ES 1.x-2.x, WebGL). Работа с матрицами, пространственные преобразования. Работа с шейдерами. Вывод геометрии и текстурирование.
6. Проектирование и разработка менеджера ресурсов. Работа со звуком и музыкой на примере OpenAL.
7. Проектирование форматов хранения данных (паки, текстуры, шрифты, меши). И разработка инструментов экспорта (MaxScript, консольные конвертеры). Реализация поддержки форматов в движке.
8. Проектирование и разработка графа сцены. Оперирование объектами сцены рендера.
9. Создание игровых объектов. Разработка интерфейсов взаимодействия со скриптовым языком на примере биндов в Lua.
10. Создание редактора уровней (C#, WPF) игровых сцен. Имплиментация формата сцен.
11. Создания редактора (C#, WPF) и формата эффектов и внедрение его в движок.
12. Разработка игровой графики. От скетча до 3D модели. Левелдизайн.
13. Разработка игровой логики и AI (Lua).
14. Проектирование клиент-серверного взаимодействия и сетевой игры. Реализация серверной части (Java сервер) и Web-портала (php).
15. Разработка клиентской части, работа с сокетами. Проблема лага. Взаимодействие по протоколами UDP и HTTP. Проектирование и разработка своего протокола на основе UDP.
16. Подготовка приложения для размещения в Apple App Store, Apple Mac App Store, Ubuntu Software Center, Android Market.
17. Портирование на HTML5. Реализация движка на JavaScript и WebGL.
18. Портирование игры, проблемы и решения.
19. Платформа Windows Phone 7. Вопросы портирования.
20. Заключительная лекция, подведении итогов и анализ решения встреченных проблем. Что делать дальше?
Если вы заинтересовались "From Junior To Senior", то обсудить данное мероприятие можно непосредственно с организатором в соответствующей теме на форуме GcUp.ru, там же вы найдёте дополнительные ссылки и примечания. |