Суммарный опыт программирования – около 10 лет;
3 года работал разработчиком веб-сервисов на C#/ASP.NET MVC.
Участвовал в разработке клиент-серверного тайм-трекера, eСommerce платформы, веб-сервису по сбору и отображению данных о посетителях сайтов (аналог Google Analytics), и других проектах.
На одном из последних проектов руководил небольшой командой разработчиков.
C Unity3D работаю около 8 месяцев. Демонстрационный проект ниже (разработка длилась почти 2,5 месяца).
Помимо Unity3D есть базовые навыки работы с GLSL шейдерами, OpenGL.
Помимо навыков скриптинга, демонстрирующихся ниже в демке, на Unity3d есть базовые навыки работы с Shuriken, Mecanim, физикой, написанием расширений редактора, RPC функциями для работы c сетью.
Разбираюсь в оптимизации кода на unity3d; есть опыт использования профайлера, батчинга, LOD системы.
Помимо Astar Pathfinding, работал также со стандартным поиском пути в Unity3d.
Информацию об остальных моих скиллах и опыту работы можно посмотреть здесь:
http://ru.linkedin.com/pub/sergey-sibara/52/470/633
Демонстрационная RTS-ка:
windows версия: RTSdemo
Упор был сделан на кодинг, поэтому сцену красочной не назовешь.
HTML код для вашего блога :
Перечень основных фич:
1. Поиск пути, реализованный с помощью Astar PathFinding
2. Обход динамических препятствий (юниты не обходят друг друга, т.к. не добавлена подсистема уклонений)
3. Размещение зданий с запретом установки на юнитах, зданиях и неровных поверхностях.
4. Выделение группы юнитов с помощью генерации Frustum для выделенной на экране области и GeometryUtility.TestPlanesAABB().
5. Смена материалов объекта и всех его дочерних объектов одним скриптом, размещенным в объекте-родителе.
6. Spawn юнитов с определением свободных позиций.
7. StaticBatching для зданий, созданных в рантайме.
8. Архитектура спроектирована так, что позволяет задавать юнитам и зданиям набор допустимых задач, а также набор кнопок отображаемых при их выделении. Сами кнопки и задачи объектов реализованы как компоненты. Спавнинг любых типов юнитов реализован одним классом-компонентом, помещаемым, например, в здание. Есть возможность задать несколько игроков, а также задать каждому из них, каких игроков он будет считать враждебными.
По возможности стоило бы также избавиться от иерархической архитектуры классов юнитов и строений (разбить действия юнитов на отдельные компоненты, как в случае с их задачами; вынести код управления задачами в отдельный компонент).
Управление:
перемещение камеры - стрелки, клавиши W,S,A,D.
изменение высоты/угла наклона камеры - колесико мыши.
выбор зданий/юнитов - левая кнопка мыши
отправка юнитов в указанную точку, отправка атаковать вражеский объект - правая кнопка мыши
выход - Esc
Выкладываю также исходники для демонстрации архитектуры проекта, навыков. Хоть и выложено в открытый доступ, просьба не распространять!
Сам проект: https://dl.dropbox.com/s/gfulexy0i36h8u ... t.zip?dl=1
Только исходный код: https://dl.dropbox.com/s/qx7843q4tkhu2u ... s.zip?dl=1
На шейдерах реализовал метод обратной трассировки лучей, применяющийся для визуализации сцен.
К сожалению, написанные шейдеры работают далеко не на всех компьютерах, так как реализовывал довольно давно. Поэтому прилагаю только пример одной из получившихся сцен:
отражения пирамиды в 4 зеркалах: