![](https://habrastorage.org/storage2/d3c/0db/578/d3c0db578be55cec5720a0c4c48691a7.jpg)
Всем привет!
На прошедших выходных под Томском прошла одна из самых необычных IT-конференций, на которых мне удалось побывать.
Если вы не видите себя без общения с себе подобными, любите отдых, палатки, ночной кодинг шейдеров, игровые движки, C++ хардкор оптимизацию, игры, задушевные разговоры о LLVM и Flash под раскаты грома, красивых девушек в купальниках, способных собрать билд на 7 платформ в один клик — велкам под кат, там про то, как это было.
Кто все эти люди?
Всё началось ещё на CodeFest 2013 — мегапозитивная и знающее своё дело команда Unigine под руководством Дениса Шергина binstream рассказала о суровом сибирском 3D движке, который бороздит мир уже не первый год и является одним из заметных продуктов не только в Сибири, но и во всем мире. У ребят очень большой опыт, слаженная, на удивление небольшая команда, высококлассный продукт, светлый взгляд в будущее, и, что самое важное, огромное желание делиться опытом, учиться и объединять людей этой отрасли. Между докладами проходил небольшой квартирник, где помимо обсуждения насущных проблем 3D разработчиков, был анонсирован Unigine Open Air — IT-конфа про геймдев на природе, на которую они приглашали всех желающих.
Пришло лето, регистрация на Unigine Open Air 2013 торжественно открылась, пробежавшись по программе, сомнений совершенно не оставалось — однозначно ехать!
День первый
20 июля, пункт Б находится в 300 км от Новосибирска, навигатор бодро прокладывает дорогу до Томска, поворот, ещё один, кончается асфальт, километр по щебёнке и вот она — заветная поляна. Большая часть участников уже на месте, разворачивают палатки, копают ямки под костры, солнце слегка припекает, играет лёгкий D'n'B, счастье!
![](https://habrastorage.org/storage2/7dd/8fb/af9/7dd8fbaf95b703a380d5a386a2a93665.jpg)
Организаторы подошли ответственно — территория обработана от клещей, куча питьевой воды, охрана, туалеты — придраться не к чему.
Открыл мероприятие Денис Шергин binstream рассказом о 3D на пальцах. Кто такие вертексы, эджи, полигоны, тексели, как натянуть текстуру, получить нормаль и отобразить всё это на вашем 2D мониторе. Интересно, живо, новичкам самое то!
Кстати, поначалу дул сильный ветер, и вот этот дружок помогал всеми силами удерживать флипчарт (подробности в комментах, если интересно):
Показать героя![](https://habrastorage.org/r/w780q1/storage2/6e0/9d9/aa5/6e09d9aa54ecba3a84bf14aa11a65ab9.jpg)
![](https://habrastorage.org/storage2/6e0/9d9/aa5/6e09d9aa54ecba3a84bf14aa11a65ab9.jpg)
Продолжил образовательное действо Александр Погребняк apogrebnyak рассказом о технологиях в разработке современных казуалок. Кому и зачем нужна статистика, как привлекать аудиторию, какие инструменты для этого используются, зачем и почему работают лидерборды, социальная составляющая любого проекта, как сделать разработку игр быстрой, кроссплатформенной и с минимальными рисками сразу для всех. В 90% случаев эта кухня не используется в проектах, выходящих без издателя, что сводит на нет практически все шансы на успех, хотя это нужно, важно и является чуть ли не половиной успеха. Отдыхающие коллеги живо интересовались подробностями, коих было достаточно.
После небольшого обеда был обнаружен небольшой шатёр, где, что-бы вы думали? Была демо-платформа с настоящим Oculus Rift! Движок Unigine уже поддерживает эту штуку!
![](https://habrastorage.org/storage2/7df/48b/beb/7df48bbebf203ed69c02537f4d527fe6.jpg)
Друзья, это потрясающе. Девелоперская версия слегка огорчает невысоким разрешением, но всё остальное просто заруливает любой 3D кинотеатр на несколько порядков. Всем, кто по каким-то причинам не смог опробовать эту штуку там на месте, искренне сочувствую. Это как путешествие в будущее, с четким осознанием того, что это будущее уже не такое будущее, и будет доступно с шикарным качеством в ближайшие пару лет. Ещё рядом стояла PS3, где все желающие могли порубиться в Mortal Kombat, дабы перезагрузить мозги перед очередным мегапознавательным докладом.
Следующим экспагифтером был Павел Наказненко, который рассказал в мельчайших подробностях про всю боль и радость портирования Unreal Engine 3 на Flash с использованием технологии FlasCC. Как раз в это время пошёл суровый ливень и всё действо быстренько переместилось под шатёр. Здесь мы узнали как эмулировать UDP over TCP (ага), как в теории можно делать peer-to-peer через RTMP (где-то тут был самый громкий раскат грома, думаю он что-то понимал), сколько состояний текучести у флэша, сколько памяти и часов надо, чтобы пересобрать проект, какие подводные камни были, какие есть сейчас и какая перспектива у всей технологии в целом. Уже сейчас проект находится в open source, имеет хорошее будущее в виде перехода на Clang, и вообще, не так страшен черт, как говорится. Сомневающиеся, уже можно колбасить, там всё работает (у нас тоже есть положительный опыт с FlasCC).
Не отвлекаясь на долго, на сцену вышел сам…… Александр Frustum Запрягаев! Не знаю как у вас, но в моём скромном мирке этот дядька находится на одном уровне с Джоном Кармаком.
Об Александре
Любезно взято отсюда.
Тот самый Frustum. Его код используется в сотнях 3D проектов по всему миру. Создатель UNIGINE Engine. 14 лет в программировании, написал уже больше миллиона строк отлаженного и сильно оптимизированного кода под Windows, Linux, Mac OS X, PlayStation 3, Android, iOS и WinRT.
С детства увлекался техникой: механикой, радиоэлектроникой. Разбирал все, что мог, и собирал достаточно сложные устройства с нуля.
Начал усиленно программировать в 1999 году, полностью самостоятельно освоив Computer Science (Александр радиофизик по образованию).
Cоздавал различные программы — от словаря до прототипа операционной системы под разные платформы (включая встраиваемые).
Увлекшись 3D графикой, Александр написал более 50 кросс-платформенных (Windows/Linux) демок, которые опубликованы в открытом доступе на его персональном сайте frustum.org.
Так как практически все они отличались очень оптимизированным, качественным и понятным кодом, эти демки стали учебниками по 3D графике для многих программистов по всему миру.
Уже в этот период на его работы обратили внимание представители NVIDIA и ATI.
В 2002-2003 Александр работал в немецкой компании VRtainment: занимался вопросами 3D графики и симуляции физики.
В 2004 году Александр решил заняться разработкой своего 3D движка, который стал основным продуктом компании, основанной им совместно с Денисом Шергиным в 2005 году.
Александр — ведущий разработчик UNIGINE Engine, он отлично разбирается во всех вопросах, связанных с интерактивными 3D приложениями реального времени: графика, физика, звук, управление ресурсами, GUI, скрипты…
Помимо этого, он является автором собственного языка программирования UnigineScript.
На базе кода Александра компания выпустила серию графических бенчмарков (Sanctuary, Tropics, Heaven, Valley), которыми пользуются миллионы людей, и стратегическую игру Oil Rush.
Работы Александра опубликованы в популярной серии книг «ShaderX — Advanced Rendering Techniques», демонстрировались на ведущих профильных выставках (GDC, SIGGRAPH, ITEC), в 2012 году он выступал на SIGGRAPH (наиболее авторитетная конференция по компьютерной графике на планете).
Сейчас Александр является техническим директором компании UNIGINE и продолжает писать очень много кода, параллельно руководя командой разработчиков.
Тот самый Frustum. Его код используется в сотнях 3D проектов по всему миру. Создатель UNIGINE Engine. 14 лет в программировании, написал уже больше миллиона строк отлаженного и сильно оптимизированного кода под Windows, Linux, Mac OS X, PlayStation 3, Android, iOS и WinRT.
С детства увлекался техникой: механикой, радиоэлектроникой. Разбирал все, что мог, и собирал достаточно сложные устройства с нуля.
Начал усиленно программировать в 1999 году, полностью самостоятельно освоив Computer Science (Александр радиофизик по образованию).
Cоздавал различные программы — от словаря до прототипа операционной системы под разные платформы (включая встраиваемые).
Увлекшись 3D графикой, Александр написал более 50 кросс-платформенных (Windows/Linux) демок, которые опубликованы в открытом доступе на его персональном сайте frustum.org.
Так как практически все они отличались очень оптимизированным, качественным и понятным кодом, эти демки стали учебниками по 3D графике для многих программистов по всему миру.
Уже в этот период на его работы обратили внимание представители NVIDIA и ATI.
В 2002-2003 Александр работал в немецкой компании VRtainment: занимался вопросами 3D графики и симуляции физики.
В 2004 году Александр решил заняться разработкой своего 3D движка, который стал основным продуктом компании, основанной им совместно с Денисом Шергиным в 2005 году.
Александр — ведущий разработчик UNIGINE Engine, он отлично разбирается во всех вопросах, связанных с интерактивными 3D приложениями реального времени: графика, физика, звук, управление ресурсами, GUI, скрипты…
Помимо этого, он является автором собственного языка программирования UnigineScript.
На базе кода Александра компания выпустила серию графических бенчмарков (Sanctuary, Tropics, Heaven, Valley), которыми пользуются миллионы людей, и стратегическую игру Oil Rush.
Работы Александра опубликованы в популярной серии книг «ShaderX — Advanced Rendering Techniques», демонстрировались на ведущих профильных выставках (GDC, SIGGRAPH, ITEC), в 2012 году он выступал на SIGGRAPH (наиболее авторитетная конференция по компьютерной графике на планете).
Сейчас Александр является техническим директором компании UNIGINE и продолжает писать очень много кода, параллельно руководя командой разработчиков.
Александр рассказал о том, как удаётся создавать виртуальные 3D миры огромной площади, какие проблемы при этом возникают, как бороться с нервно-трясущимся пейзажем, почему double не панацея, как подружиться с камерой в движке и использовать её силу во благо, почему без float'ов никуда, и как двигаться с космической скоростью по всему этому миру. Очень круто!
Следующим докладчиком была наша замечательная коллега Наташа Оглоблина, которая руководит очень клёвой студией разработки игр Alawar Stargaze, базирующейся в Барнауле. Наташа поделилась опытом внедрения в рабочий процесс игровой системы поощрения сотрудников за эпичную работу, прыжки выше головы и страсть к своему делу. В качестве награды выдаются Старгейзики, которые потом можно обменять на реальный шмот и быть довольным собой. Тема была очень интересной, потому что обычно это либо не работает, либо работает очень плохо. У наших коллег опыт получился очень позитивный, было много обсуждений. Жаль, что Наташа не захватила Старгейзиков с собой, было бы кому раздать.
Под вечер были шашлыки! Ну что тут сказать? Такие вполне себе геймдевочные шашлыки :)
![](https://habrastorage.org/storage2/30a/1b4/691/30a1b4691699201bc5eedeaa53238872.jpg)
После успешного подкрепления все пошли слушать Андрея Аксенова shodan. Его огромный опыт в разработке показывает, что в этом процессе нет ничего сложного. Отличное повествование с юмором, куча реальных кейсов, настоящая жизнь проекта и разработчика, куда копать, куда не надо — просто супер! До этого я на рассказы Андрея как-то не попадал, а тут получилось. По факту, в процессе рассказа, подкрепил все свои мысли реальной практикой более опытного коллеги. Вообще, если у вас будет возможность послушать Андрея, очень советую, вещи порой говорит очевидные до боли, но укладываются они куда-то в более правильное место в голове. Кто-то из слушающих порекоммендовал сварганить из этого курс лекций и учить студентов — пользы было бы ну очень много! Будем надеяться, что Андрей когда-нибудь запилит аццкий курс и студенты будут идти сразу на senior'ов (я чуть-чуть в это поверил, пока писал).
Завершал первый день Иван Авдеев w23 очень атмосферно и в тему. На часах было уже почти 11 вечера, темно, проектор вещал Mac OS X на белое полотно, и все замерли в ожидании. К мощной опэнэйровой акустике был подключен MacBook Air, все устроились поудобней (как кинотеатр под открытым небом, ага), и «доклад» начался. Это было прекрасно — демо-сцена во всей красе на природе, мощный эмбиент, завороженный взгляд соседей по поляне и запах репеллента. Иван рассказал какие бывают категории демок, какой тулсет обычно используется в разных категориях, почему в 4 кб есть простор для творчества, а в 1 кб всё почти также, но чуть-чуть иначе. Как сделать демку на 256 байт, и даже запилить глитч-фаршец, уложив его в 26 байт (Commodore, превед). Окзывается, рей-трейсинг — это манна небесная для авторов демок. Видео-карта пережевывает всё, и код, рисующий потрясающий вижуал-таймлайн, получается ну очень компактным (шейдеры же). Понравилось всем! Комарам, думаю, особенно.
Потом была D'n'B дискотэка, виски-пати, лайвкодинг шейдеров и трогательный четырёхчасовой сон.
День второй
Проснулся, оделся, умылся, поел, готов к докладам! — это не про нас :). Но не всё так плохо — большая часть выжила и была готова внимать контент.
В бой опять рванул Андрей Аксенов shodan с большим опытом low-level C++ оптимизации. Рассказал ну ооочень много всего — про STL, про компиляторы, про тупые дефолтные флаги, про дефайны, про замену мелких векторов на статичные массивы, про прирост и потерю скорости из-за недо/переоптимизации компиляторами. Такой поток инфы, что чувствуешь себя Нео из Матрицы, при загрузке программы кунг-фу и джиуджитсу.
Затем вышел Руслан Машуков с рассказом о серверной составляющей современного игрового проекта. К сожалению, тут я вам много не расскажу, потому как эта тема была не сильно интересна для меня, и я просто погулял по полянке :)
После этого со своей историей вышла Аня Чаплинская. Топик был про билды, автоматическую сборку, CI и счастье, которое царит благодаря этому добру. Unigine работает на куче платформ, имеет сборочную ферму из 4-х тачек. Всё это очень круто интегрировано с Trac'ом, любой разработчик может получить конкретную версию движка для своей задачи буквально в один клик. Очень круто, теперь мы тоже так хотим :) Также ребята рассказали про Steam Greenlight, Desura и всю эту не очень приятную кухню (на удивление). К счастью, в последний год Greenlight стал более адекватным, и Steam в итоге стал очень открытым для любых разработчиков.
Программа второго дня плавно двигалась к своему финишу, предпоследний рассказ был от Андрея Викторова — человека, который любит инди, любит игры, любит разработку и любит делать любимое дело независимо от того, какой доход оно приносит. Андрей рассказал про небольшую студию разработки инди-игр Fate Studio, которую организовал со своими друзьями, и которой отдаёт всё своё свободное время. Оказывается, жизнь инди-девелопера интересна, необычна, удивительна, внезапна, радостна и в то же время трагична. Нет, нет, в целом всё круто, клёво и позитивно, но по-своему — инди-клёво, инди-позитивно :). Были озвучены разные пробы и ошибки, разные подходы, оказывается, работа без менеджеров — возможна! В конце Андрея засыпали вопросами — было такое ощущение, что всем хочется делать любимое дело, но лишь у некоторых это получается на полную катушку.
Под конец мероприятия Андрей Аксенов shodan продолжил свои рассказы об опыте работы над Sphinx на разных платформах, о часах оптимизации и сумашедших приростах производительности из-за таких вещей, что диву даёшься.
Прощание
По окончании все дружненько собрались и поехали по домам — кто куда, а я в Новосибирск.
Ссылки
Unigine Open Air 2013. Главная
Unigine Open Air 2013. Программа (там же ссылки на докладчиков)
UPD:
Фоточки (10x binstream)
Группа Вконтакте
С вами был C++ гейм/тул/либ-девелопер из Alawar. Ищите хорошие конференции, участвуйте и зовите своих друзей!