Archive for November 2008

Форум на ff

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

И вот снова живой форум – http://blog.gamedeff.com/forum/ (как всегда, спасиба Шодан!)
Мы хотим обсуждать там простые и конкретные технические проблемы и идеи за геймдев и около, матерясь вежливо и без совсем уж пионеров.

Ну там, как устроен Larrabee, что дядя Дима думает за ресурс-менеджер и прочее.

Если интересует мнение авторов блога по конкретным вопросам – велкам.
В качестве лучшего пеара – насколько я понимаю, нигде больше одновременно aruslan, IronPeter и Баткин не пишут.

Рецепты отладки. 40 минут до сбоя.

Эта история тоже довольно старая, произошла она во времена первой крейтовской разработки, и произошла на совершенно ровном месте. Мы делали отличную игру за инопланетянина, который мог вселяться в одного из четырех персонажей (паук, прыгун, летун, и большая обезьяна с присосками), камера от третьих глаз, большие природные пространства, 100% алгоритмичность прохождения, ну и, разумеется, полное отсутствие геймплея как такового. К слову сказать, ситуация была настолько типовой для нашего “савеццкаго геймдева”, что уже сильно позднее, работая в 1С, я “для себя” классифицировал множество наших разработчиков как например “Крейт образца 1998 года” или “Крейт образца 2001 года”. Впрочем, суть не в этом, а в баге, который был внедрен в систему за несколько месяцев до проявления.

Continue reading ‘Рецепты отладки. 40 минут до сбоя.’ »

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

Эта история не является большим секретом, я её озвучивал в своё время на канале #ff и на GDP, но за истечением срока давности (10 лет) за сделанное мною математическое преступление хочется покаяться перед всем читающим меня сообществом и раскрыть страшную правду об одном алгоритме. Речь сегодня пойдет о вещественной арифметике в самом худшем её проявлении – двоичном.
Continue reading ‘Рецепты отладки. Позор для математика.’ »

One-liner

Рецепты отладки. 3 типа нестабильностей.

Разных нудных и занимательных (нужное подчеркнуть) историй можно рассказывать ещё много, но надо бы заняться уже каталогизацией возникающих в приложениях проблем. Точно также, как врач ставит пациенту диагноз, основываясь на каких то симптомах, программист может найти ошибку в коде, основываясь на том, как она проявляется. Поэтому я попробую обобщить разную информацию об ошибках и о том, как они проявляются.

Но для начала – ещё одно лирическое отступление на несколько страниц.

Можно лечить ошибки, а можно их предупреждать. Лучше заранее представлять себе, какие потенциальные ошибки могут возникнуть в коде и страховаться от них. Приведённая ниже классификация поможет лучше ориентироваться в причинах возникновения проблем в коде и в способах их диагностики. Эта классификация опирается не на сами ошибки (я потом тоже буду рассматривать разные варианты ошибок и их проявлений), а на ситуации, которые предшествуют появлению ошибки. Я называю эти ситуации “нестабильностями”.

Все возникающие в программе нестабильности можно разделить на 3 главных типа. Это:

  1. Нестабильности по входным данным.
  2. Нестабильности по внешним вызовам.
  3. Внутренние нестабильности модуля.

Рассмотрим подробнее.

Continue reading ‘Рецепты отладки. 3 типа нестабильностей.’ »