Archive for the ‘tips-n-tricks’ Category.

На что был похож код в Imaging

Чтобы год с лишним в Imaging не прошли даром, я попробую записать если не “what did we learn from it?” (the obvious answer is not to do it again), то хотя бы уж “what the fuck it is we did”. (это если что цитаты).
Забавно, что почти год спустя про WIC все еще спрашивают и даже за дизайн приходится чуть спорить. Кто бы со мной столько про DX разговаривал.

Continue reading ‘На что был похож код в Imaging’ »

Рецепты отладки. Потеряный малок.

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

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

Continue reading ‘Рецепты отладки. Потеряный малок.’ »

Best tools noone uses: autoexp.dat

Не прошло и полугода, как родилось продолжение к пилотной серии про underdog tools. Очередной отличный инструмент, которым регулярно не пользуются, это autoexp.dat.

Continue reading ‘Best tools noone uses: autoexp.dat’ »

Не коротко о GDC 2008

Так вот, родная компания отправила на GDC, потому что меня любит. Почти полная неделя в Сан-Франциско – это не может не радовать
Не считая того факта, что все дожди и облака переехали на эту неделю из Сиэтла вместе со мной (извини, солнечная Калифорния, радуйся, волшебный Northwest), все было более чем хорошо.

На удивление сложно найти людей, которые кодают на DX10, один Крайтек только и нашел. С мужиками из Крайтека хорошо и весело, привет Тимуру. Такое ощущение, что из Крайтека приехало больше народу, чем из MS…
Рассейского геймдева видел совсем уж мало, видимо отрываюсь от. Или это 1С не приехал. Надо в любом случае что-то делать.

Интересно на конференциях, как всегда, слушать девелоперов. IHV и платформодержатели расскажут тебе все и так, у них работа такая, а вот девелоперов слушаешь всего несколько раз в год. Мужики вполне отвечают на вопросы и не палятся (и даже реагируют на письма). Я тоже буду излагать достаточно примерно, надеюсь в случае чего смогу уточнить в комментах.

Не успел пробиться на тек в Uncharted, не выдержал километровой очереди на Final Fantasy.
Давайте буду рассказывать про то, что понравилось и запомнилось.
Continue reading ‘Не коротко о GDC 2008’ »

Dual Quaternions

Время временно кончилось. Но скоро начнётся снова. А пока чтиво.

https://www.cs.tcd.ie/publications/tech-reports/reports.06/TCD-CS-2006-46.pdf – теория
http://isg.cs.tcd.ie/projects/DualQuaternions/ – практика

Масса плюсов, свои минусы. По мне так без произвольного масштабирования вполне можно жить. Зато тренд; так можно, так модно. В резюме написать, сразу после сферических гармоник. Опять-же полезно для общего развития – можно, по ходу дела, в обычных кватернионах начать разбираться.

Best tools no one uses: gperf

В природе есть масса отличных инструментов, которые мало кто использует. Очередной раз применив в бою один из таких, решил начать про них рассказывать. Сегодня на повестке программа с обманчивым именем gperf – GNU is not Unix, and gperf is not a performance profiler.

Continue reading ‘Best tools no one uses: gperf’ »

Coffee break

«Ctrl-Alt-F7» и курящие закурили, а некурящие пошли выпить чашечку йаду.

Когда-то мой rule of tumb был такой: “если оно компилится+линкуется больше 5 минут с нуля или больше 30 секунд от изменений, то надо что-то менять”. Иначе можно и сандали откинуть – табак убивает, а кофе вредный.

Continue reading ‘Coffee break’ »

Про ресурсы

После сопливого поста про сейвгеймы в Program Files просто обязан сделать что-то полезное (тем более, что занял им козырный нумер “100″). Например, написать рассказ про то, что должен делать resource manager.

Я уже неоднократно высказывал мысль о том, что как только вы в ресурс-менеджере пишите что-то вида enum { eTexture, eMesh, eSprite, … }; то ваш идеальный ресурс-менеджер идет лесом. Потому что он превращается в ресурс менеджер, к которому (достаточно искуственно) притянуты за уши куски других подсистем. Например, если мы корректируем формат меша, нам придется редактировать и подсистему управления геометрией, и ресурс-менеджер, что недопустимо.

Если мы выбросим enum из ресурс менеджера, то что останется в нем? Если кто-то думает, что исключительно fopen()/fread(), то он глубоко заблуждается.
Continue reading ‘Про ресурсы’ »

GameObject и длииииииииинные асинхронные операции

Хорошо, когда игровой объект писать легко и приятно – простой линейный код радует глаз скриптера. Всё легко, красиво, понятно.

Continue reading ‘GameObject и длииииииииинные асинхронные операции’ »

Iterator через призму С

С точки зрения С итератор это такой плохой указатель с неочевидным оверхедом. Что удивительно, обратное тоже верно. С точки зрения С++ указатель, это такой unsafe итератор с очевидным отсутствием оверхеда.
Continue reading ‘Iterator через призму С’ »