вторник, мая 30, 2006

Статья Resource Management in Direct3D

Resource Management in Direct3D - очень хорошее разъяснение по использованию различных пулов памяти (D3DPOOL_MANAGED и D3DPOOL_DEFAULT в основном), используемых в DirectX. Мне оно понравилось гораздо больше, чем Resource Management Best Practices с MSDN.

пятница, мая 26, 2006

Несколько ссылок по физике автомобиля

Уже довольно продолжительное время я ищу информацию по программированию реакции на коллизии для Winding Trail'а. Мне нужно что-нибудь совсем простенькое, чтобы машина не останавливалась как вкопанная, задевая стену вскользь, а продолжала движение с соответствующей коррекцией. Ну и, возможно, можно построить какие-нибудь еще несложные реакции. Так вот, по поводу реакций на столкновения ничего хорошего я не нашла, зато стала обладательницей неплохой коллекции ссылок на статьи и ресурсы по физики автомобиля.

Racer Free Car Simulation - кроссплатформенный проект автосимулятора, свободно распространяемый для некоммерческого использования. Не очень аккуратный, автор не уверен, работает ли последний билд на платформах, отличных от Windows. Исходники открыты не все, только для какой-то не последней версии и только под Linux. Я подумываю в эти исходники зарыться и посмотреть как там решен вопрос со столкновениями, если не найду никаких других ресурсов по этому поводу.

Физика автомобиля для игр. Перевод на русский довольно известной статьи по программированию физики автомобиля. Что интересно, оригинал статьи мне так и не удалось найти. А вот русский перевод живет и здравствует.

Серия статей Physics of Racing Series. Их автор Брайан Бэкмэн (Brian Beckman) физик и гонщик-любитель.

The Buggy Demo - демка с простенькой машинкой, построенная с помощью библиотеки физики ODE.

Rigid Body Dynamics - небольшая коллекция ссылок по динамике твердого тела.

По поводу реакции на столкновения вопрос остается открытым. Я таки придумала решение самостоятельно, но что-то мне не очень нравится как оно работает... Так что если вы знаете какие-нибудь ресурсы, поделитесь.

понедельник, мая 15, 2006

Исходники игр

В последнее время ко мне на блог приходит много народу по запросам "исходники игр". Поэтому я решила привести несколько ссылок, ибо я знаю где их достать.

Исходники игры Dead Justice компании Cat Mother, написана на C++. Игра эта не была выпущена, компания была закрыта, а демку игры вместе с исходниками они положили в открытый доступ с разрешением использовать в целях обучения.

На сайте gamedev.net есть раздел, в котором собраны ссылки на исходники различных игрушек, правда довольно старых. Descent I, Duke Nukem 3D, Quake1 и Quake2... За исходниками игр компании id Software можно сходить непосредственно на ftp.idsoftware.com (он, правда, часто бывает перегружен).

Плюс к этому существует довольно много игровых движков с открытыми исходниками, можно их поизучать.

суббота, мая 06, 2006

Хорошие книги по организации кода

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

Я привожу ссылки на Amazon и Ozon, потому что участвую в их партнерских программах, то есть, если кто-нибудь что-нибудь по этим ссылкам купит, то мне упадет копеечка. Если вы ненавидете партнерские программы, то злобно сотрите ключик partner из URL'а и копеечка мне, соответственно, не упадет. Кроме того, все эти книги есть в более-менее крупных книжных магазинах, ну и в сети можно порыться, поискать.

Вот эти книги я прочла.


"Refactoring: Improving the Design of Existing Code", Martin Fowler

"Рефакторинг. Улучшение существующего кода" Фаулер М.
Мартин Фаулер доходчиво и с наглядными примерами рассказывает о том, как из плохого кода сделать хороший. Эту книгу я читала на русском и особенно хочется отметить прекрасный перевод. Я даже не поленюсь посмотреть кто именно переводил... Написано "Перевод С.Маккавеева".
"Рефакторинг" на Ozon.ru




"Design Patterns: Elements of Reusable Object-Oriented Software", Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
"Приемы объектно-ориентированного проектирования. Паттерны проектирования", Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.
Классическая книжка по паттернам. Паттерны проектирования на все случаи жизни, с примерами.
"Приемы объектно-ориентированного проектирования. Паттерны проектирования" на Ozon.ru




"The Pragmatic Programmer; From Journeyman to Master", Andrew Hunt, David Thomas
"Программист-прагматик. Путь от подмастерья к мастеру", Э. Хант и др.
Список советов с объяснениями. В том числе разобраны типичные ошибки и методы их исправления. Пожалуй, самая веселая из перечисленных здесь книг. Один пример с вертолетом чего стоит... это надо читать, так не расскажешь.
"Программист-прагматик. Путь от подмастерья к мастеру" на Ozon.ru




"The Mythical Man-Month: Essays on Software Engineering", Frederick P. Brooks
"Мифический человеко-месяц или как создаются программные системы", Брукс Ф.
Классическая книга по ведению проектов. Много рассказывается об ошибках совершенных в конкретных проектах. Несколько нудновата, до конца я ее так и не осилила.

"Мифический человеко-месяц" есть на lib.ru
"Мифический человеко-месяц" на Ozon.ru




"Code Complete", Steve McConnell
"Совершенный код", Макконнелл С.
Читаю сейчас. Пока рассказывается об организации архитектуры приложения, какие решения для каких типов проектов подходят, немного об общении с заказчиком. Живо и с юмором.
"Совершенный код" на Ozon.ru



Следующие книги я не читала, но слышала о них много хорошего, потому собираюсь прочесть. В описании то, что я о них слышала.


"Rapid Development", Steve McConnell
Обычно советуют в довесок к Code Complete.




"Extreme Programming Explained : Embrace Change", Kent Beck
Хорошее введение в экстремальное программирование.




"Programming Pearls (2nd Edition)", Jon Bentley

"Жемчужины программирования", Бентли Дж.
О том, как эффективно решать поставленные задачи.

"Жемчужины программирования" на Ozon.ru




"Agile Software Development", Robert C. Martin
"Быстрая разработка программ: принципы, примеры, практика", Мартин Роберт С.
Я заинтересовалась этой книгой после того, как полазила по сайту Object Mentor.

"Быстрая разработка программ: принципы, примеры, практика" на Ozon.ru




"Software Engineering: An Object-Oriented Perspective", Eric J. Braude
"Технология разработки программного обеспечения", Брауде Э.Д.
С одной стороны вроде как классическая книга по разработке. С другой - ее очень ругают за академичность, оторванность от реальности.

"Технология разработки программного обеспечения" на Ozon.ru




"Peopleware", Tom Demarco, Timothy Lister
"Человеческий фактор: успешные проекты и команды",
Том Демарко, Тимоти Листер

Книга по организации работы программистов, которую очень рекомендует Джоэл Спольски.
Том Демарко написал еще и художественное произведение об управлении программными проектами, The Deadline называется (есть и на русском). Триллер, наверное. :-).

"Человеческий фактор: успешные проекты и команды" на Ozon.ru
"Deadline. Роман об управлении проектами" на Ozon.ru




"Large-Scale C++ Software Design", John Lakos
Несколько устаревшая, но тем не менее очень хорошая книга по построению больших приложений на C++.




"Death March: The Complete Software Developer's Guide to Surviving "Mission Impossible" Projects", Edward Yourdon
"Путь камикадзе, Как разработчику программного обеспечения выжить в безнадёжном проекте", Э. Йордон
Название говорит само за себя :-)


"Путь камикадзе, Как разработчику программного обеспечения выжить в безнадёжном проекте" на Ozon.ru



Если вам есть что добавить, поделитесь, напишите в комментарии.

Ссылки по теме:
Категория Управление на Маниакальном Веблоге. Пока там только одна статья, но, я надеюсь, будут еще.
Художественная литература для программистов