пятница, марта 25, 2005

Почти как люди

Университет Осаки, Япония, Intelligent Robotics Laboratory разрабатывает роботов, внешне похожих на людей. Все роботы, которых я видела до этого, были скорее похожи на ходячие тостеры. Уделяют большое внимание не только внешнему виду, но и движениям, мимике. Сейчас в работе находятся два робота: похожий на женщину и похожий на маленькую девочку. Женщина очень симпатично выглядит, девочка какая-то страшненькая. Над обычными роботами они там тоже работают.


вторник, марта 15, 2005

Collision Detection FAQ

Небольшой Collision Detection FAQ на русском. Рассказывается о том, что такое AABB, OBB, каким образом оптимизировать определение коллизий на случай большого числа объектов. Все сопровождается вразумительными иллюстрациями и примерами кода.

пятница, марта 11, 2005

PopCap Developer Program

PopCap открыл исходники своего движка.
Для тех, кто не знает, кто такой PopCap, ключевое слово "Zuma" :-).
Очень хорошее лицензионное соглашение, надо лишь упомянуть о том, что используется их движок. Мало того, они запустили программу поддержки девелоперов, которые будут использовать этот движок. У них свой интерес, они очень просят, чтобы написанные на этом движке игры продавались через них, но это именно просьба, а не жесткое требование. Имхо, очень умный способ привлечения разработчиков.
Единственный неприятный момент: для проигрывания звуков они используют bass и его, соответственно, придется для коммерческой игры покупать, если собираешься не через PopCap продавать. Но бесплатных звуковых движков полно, можно и свой прикрутить.

среда, марта 02, 2005

Чисто виртуальный деструктор

При попытке объявить деструктор чисто виртуальным, компилятор будет справедливо ругаться на то, что у деструктора не объявлено тело. Правильно, ведь наследники вызвают деструктор родителя, а если тела у родительского деструктора нет, то и вызывать нечего. Поэтому деструктору нужно написать тело. Да, у чисто виртуальных функций могут быть объявлены тела. Обычно это никто не делает, потому что это не нужно. Итак, в итоге получается базовый класс, деструктор которого наследникам надо обязательно переопределить. Итак, в итоге получается абстрактный базовый класс, при наследовании от которого деструкторы будут виртуальными. Это удобно, если в базовом классе нет других чисто виртуальных функций.
Здесь можно почитать о том, в каких еще случаях удобно использовать чисто виртуальную функцию с телом.