Pull to refresh

Unigine Open Air 2013. Как это было (взгляд одного разраба)

Reading time 8 min
Views 10K

Всем привет!

На прошедших выходных под Томском прошла одна из самых необычных IT-конференций, на которых мне удалось побывать.

Если вы не видите себя без общения с себе подобными, любите отдых, палатки, ночной кодинг шейдеров, игровые движки, C++ хардкор оптимизацию, игры, задушевные разговоры о LLVM и Flash под раскаты грома, красивых девушек в купальниках, способных собрать билд на 7 платформ в один клик — велкам под кат, там про то, как это было.

Кто все эти люди?

Всё началось ещё на CodeFest 2013 — мегапозитивная и знающее своё дело команда Unigine под руководством Дениса Шергина binstream рассказала о суровом сибирском 3D движке, который бороздит мир уже не первый год и является одним из заметных продуктов не только в Сибири, но и во всем мире. У ребят очень большой опыт, слаженная, на удивление небольшая команда, высококлассный продукт, светлый взгляд в будущее, и, что самое важное, огромное желание делиться опытом, учиться и объединять людей этой отрасли. Между докладами проходил небольшой квартирник, где помимо обсуждения насущных проблем 3D разработчиков, был анонсирован Unigine Open Air — IT-конфа про геймдев на природе, на которую они приглашали всех желающих.

Пришло лето, регистрация на Unigine Open Air 2013 торжественно открылась, пробежавшись по программе, сомнений совершенно не оставалось — однозначно ехать!

День первый

20 июля, пункт Б находится в 300 км от Новосибирска, навигатор бодро прокладывает дорогу до Томска, поворот, ещё один, кончается асфальт, километр по щебёнке и вот она — заветная поляна. Большая часть участников уже на месте, разворачивают палатки, копают ямки под костры, солнце слегка припекает, играет лёгкий D'n'B, счастье!



Организаторы подошли ответственно — территория обработана от клещей, куча питьевой воды, охрана, туалеты — придраться не к чему.

Открыл мероприятие Денис Шергин binstream рассказом о 3D на пальцах. Кто такие вертексы, эджи, полигоны, тексели, как натянуть текстуру, получить нормаль и отобразить всё это на вашем 2D мониторе. Интересно, живо, новичкам самое то!

Кстати, поначалу дул сильный ветер, и вот этот дружок помогал всеми силами удерживать флипчарт (подробности в комментах, если интересно):
Показать героя


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

После небольшого обеда был обнаружен небольшой шатёр, где, что-бы вы думали? Была демо-платформа с настоящим Oculus Rift! Движок Unigine уже поддерживает эту штуку!



Друзья, это потрясающе. Девелоперская версия слегка огорчает невысоким разрешением, но всё остальное просто заруливает любой 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 и продолжает писать очень много кода, параллельно руководя командой разработчиков.

Александр рассказал о том, как удаётся создавать виртуальные 3D миры огромной площади, какие проблемы при этом возникают, как бороться с нервно-трясущимся пейзажем, почему double не панацея, как подружиться с камерой в движке и использовать её силу во благо, почему без float'ов никуда, и как двигаться с космической скоростью по всему этому миру. Очень круто!

Следующим докладчиком была наша замечательная коллега Наташа Оглоблина, которая руководит очень клёвой студией разработки игр Alawar Stargaze, базирующейся в Барнауле. Наташа поделилась опытом внедрения в рабочий процесс игровой системы поощрения сотрудников за эпичную работу, прыжки выше головы и страсть к своему делу. В качестве награды выдаются Старгейзики, которые потом можно обменять на реальный шмот и быть довольным собой. Тема была очень интересной, потому что обычно это либо не работает, либо работает очень плохо. У наших коллег опыт получился очень позитивный, было много обсуждений. Жаль, что Наташа не захватила Старгейзиков с собой, было бы кому раздать.

Под вечер были шашлыки! Ну что тут сказать? Такие вполне себе геймдевочные шашлыки :)



После успешного подкрепления все пошли слушать Андрея Аксенова 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. Ищите хорошие конференции, участвуйте и зовите своих друзей!
Tags:
Hubs:
+27
Comments 16
Comments Comments 16

Articles

Information

Website
company.alawar.ru
Registered
Founded
Employees
201–500 employees
Location
Россия