aruslan: (Default)
Обожаю читать блог Семёна -- умеет же человек воодушевить и вдохновить, аж руки чешутся! :)
Особенно меня впечатлил блестящий пост про подходы светлых и тёмных джедаев к оптимизации, благо, что он не только и не столько об оптимизации, сколько о техническом экселенсе.

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

Трудно быть богом. И бессмертное "Путь светлого джедая - путь потерь" - в яблочко, Семён.
До мурашек, до дрожи, до кома в горле.

Вы уже почувствовали неодолимое _искушение_ перейти на светлую сторону, а? ;) )
Свет не бывает без тьмы.
Просыпайтесь, дорогие мои, и зажигайте свои мечи.

Я знаю, какого цвета меч в руках Семёна.
А вы? ;)
aruslan: (Default)
Среди миров, в мерцании светил
Одной Звезды я повторяю имя...
Не потому, чтоб я Ее любил,
А потому, что я томлюсь с другими.

И если мне сомненье тяжело,
Я у Нее одной ищу ответа,
Не потому, что от Нее светло,
А потому, что с Ней не надо света.

-- Иннокентий Анненский, 3 апреля 1909 года, Царское Село
aruslan: (Default)
Хороший инструмент - отличный помощник.

Как и всё, что помогает - он соблазняет, растворяет и уничтожает волю.

Инструмент - он в мозгах и в сердце.
А не в книжках, и не в пустых метриках "опыта".
Нет разницы между ref count, GC и статическим распределением.

"НЕ умею использовать, умею использовать, умею НЕ использовать"
На эту спираль нельзя запрыгнуть с конца.

Когда уже умеешь, можно забыть о правилах.
Но правила нужны, чтобы научиться.
И нужны ограничения.
Потому что без ограничений не будет опоры и напряжения и направления пути.

Стычки консольщиков и PCшников похожи на помету территории самцами.
Но они поучительны. Красивый тек с разных сторон.
Поразительна схожесть техник в играх, компиляторах, музыкальном исполнительстве и в заключении контрактов.

"Не должно быть любимого оружия. Стать слишком близким с одним оружием - бОльшая ошибка, чем недостаточное знание его."
Примерно это я хотел сказать в предыдущем посте, когда перечислял мощных помощников, которыми так легко соблазниться.

Вот как-то так.
Читайте Миямоту и Кавасаки.

И цитируйте иногда про себя совершенные в своей простоте строки Анненского:
   Не потому, что от Нее светло,
   А потому, что с Ней не надо света.
aruslan: (Default)
Ненавижу
автоматически рождающиеся объекты типа блокирующего loading-on-demand. И синглтоны типа Майерса.
автоматически уничтожающиеся объекты под smart_ptr. И подсчёт ссылок.
автоматически регистрирующиеся получатели сообщений. И unbound рассылку сообщений.
автоматически создающиеся нетривиальные объекты со статическим storage duration. И вообще бурную деятельность до main().

мгновенность, нераспределенность, модель exception, lower-order programming.

Но научить правильно не всегда получается.
aruslan: (Default)
Забавная штука.

Доходишь внутри себя.
Вскипает и, как от перекиси водорода, готово рвануть наружу белой пеной.

И вдруг - еще несказанное, еще в тишине - видишь, как вокруг вовсю конденсируется.
Здесь мысль, там - еще одна.
На пати, на КРИ, вокруг, везде.
На ff - новая сказка, в ЖЖ далёких, в общем-то, приятелей, - про то же.

Не хватает только точки кристаллизации.

Наверное, за это я люблю быть в центре проектов.
И, наверное, потому не быть мне в administrivia.

Ведь пламя и биение сердца - чище и важнее.
aruslan: (Default)
Сидят два HR-а (в смысле human resource manager) над пачкой резюме претендентов.
Тут старый HR берет треть пачки и выкидывает его в мусорную корзину.
Молодой неудоменно спрашивает
- Зачем? Это же люди?
- А зачем нам нужны неудачники?
via [livejournal.com profile] pavelk via [livejournal.com profile] bwww
aruslan: (Default)
babel.jpg - image uploaded to Picamatic
Что-то сгнило в геймдеве. Что-то в нем не так.
NIH-синдром рулит и не сдается.
Нет единой модели ни на одной из границ системы.
И как бы даже не планируется.

Вроде многомиллионный (чтобы не сказать - миллиардный) бизнес.
Вроде море денег вбухивается.
И рынок middleware вроде есть.
И проекты - и по полтора года, и по три.
И тысячи контор по миру...

...И ни одной стандартной алгебры, кроме как в D3DX, - да и ту только для ознакомления используют.
И у всех алгебра поддерживает SSE.
Но у всех немного отличается. Какой уж тут общий инструментарий.

Вроде определились, что матрица - 4x4 float.
Передаем друг другу вектора - как __m128.
Да и тут - под дверью опять лает фиксированная точка.
Oldschool рулит.
Хорошо, хоть специалистов по растеризации и реализации T&L руками для создания игры теперь нанимать не надо. Лайтмапы можно и в Максе сделать.

Контейнеры. Коллекции. Базовые примитивы.
"STL - must die."
"boost - тормозит и старается по любому поводу выделить память."

А тут как раз у всех - своя, родная, система сериализации.
У всех - продвинутая система создания, редактирования и хранения игрового мира.
У многих игровой мир даже в XML/XSD.

Но простирается ли ваша метамодель за пределы вашей компании?
Много middleware инструментов работают с вашей метамоделью?
Кроме XMLspy и вижуаловского редактора?

Опять у руля oldschool. Она разомкнута. Она не ожидает определенной модели.
Ведь список - это просто car и cdr.

А грамотные техзадания (чтобы как в книжках, чтоб не стыдно) вы видели?
Т.е. не просто диздок. А описание задания со всех сторон.
Как процесс ставим. Как рисуем. Как моделим.
И нормальное software engineering техзадание.
Видели?
Чтобы с нескольких точек зрения архитектура описывалась?
Чтобы было понятно, почему и зачем и что и как мы делаем? И почему не вот так?
Чтобы там красиво и по делу были use case?
UML диаграммы чтоб были читаемые и, главное, нужные?

Unit-тесты нормальные? Которые не только cross_product проверяли бы?

Что даст сборка ресурсов за один клик, если вы не уверены в собранных ресурсах?
Как, у вас есть система автоматического тестирования?
Наверное, она хорошо зарекомендовала себя на рынке? Или это ваш местный софт?

Да какие там middleware AI или звук...
Даже если они используются - вы посмотрите на этот menthal gap между ними и игрой.
Да взять хотя бы сами low-level API.
Вот появился на миг OpenGL 2.0 в драфтах.
Весь такой из себя асинхронный, с pack/unpack процессорами, с нормальным memory management.
И где он?
Я вообще не понимаю, почему они мажор версии изменили. Из-за glslang?

Героизм. CMM. ISO 9001.

И ведь все всё понимают.
И знают - RWS, HLSL FX, XACT, Preview pipeline и Live!. Drop-in UI.
И ощущают, что кто-то, кто будет достаточно сильный и смелый, всех подомнет.
И ведь необязательно лучший.
А аппаратуру потом разгонят. Чтобы она справлялась.

Где же ты, XNA?..

Фух, выговорился.
Теперь будем think positive.
aruslan: (Default)
Amateurs built the Ark.
Professionals built the Titanic.

Однозначно.

Profile

aruslan: (Default)
aruslan

January 2014

S M T W T F S
   1234
56789 1011
12131415161718
19202122232425
262728293031 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 25th, 2017 04:47
Powered by Dreamwidth Studios