<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF96%3A%D0%94%D0%B2%D0%B8%D0%B6%D0%BA%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B8%D0%B3%D1%80</id>
		<title>LXF96:Движки для игр - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF96%3A%D0%94%D0%B2%D0%B8%D0%B6%D0%BA%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B8%D0%B3%D1%80"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF96:%D0%94%D0%B2%D0%B8%D0%B6%D0%BA%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B8%D0%B3%D1%80&amp;action=history"/>
		<updated>2026-05-13T14:06:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF96:%D0%94%D0%B2%D0%B8%D0%B6%D0%BA%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B8%D0%B3%D1%80&amp;diff=4047&amp;oldid=prev</id>
		<title>StavNight0ver: /* Движки для игр */</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF96:%D0%94%D0%B2%D0%B8%D0%B6%D0%BA%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B8%D0%B3%D1%80&amp;diff=4047&amp;oldid=prev"/>
				<updated>2008-04-06T11:38:39Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Движки для игр&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 11:38, 6 апреля 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== GLScene ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== GLScene ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Изображение:Img_96_124_1.jpg|left|200px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Когда-то разработанный для использования в среде Delphi (Windows), он благополучно перекочевал и на Linux. Работать с ним можно либо из-под Lazarus (открытый аналог Delphi), либо из-под FreePascal. Понятное дело, что в основе его лежит работа с OpenGL и язык программирования Object Pascal. Это вполне шустрый и современный движок, технически не отстающий от веяний времени. Подчас разработчикам удается воплощать новое быстрее, чем соответствующее оборудование появляется на массовом рынке. Помимо графической части, движок имеет в своем составе модули физики (ODE, DDE), умеет работать со звуком и сетью, есть встроенный редактор сцены (правда, очень и очень примитивный). Конечно же, поддерживаются шейдеры, скелетная и покадровая анимация, частицы, motion blur, bump-mapping и многое другое. Помимо своего непосредственного назначения (работы с трехмерной графикой), GLScene неплохо умеет обращаться и с двумерными спрайтами, примитивами. Для разработки интерфейса предназначен специальный класс, что существен- &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Когда-то разработанный для использования в среде Delphi (Windows), он благополучно перекочевал и на Linux. Работать с ним можно либо из-под Lazarus (открытый аналог Delphi), либо из-под FreePascal. Понятное дело, что в основе его лежит работа с OpenGL и язык программирования Object Pascal. Это вполне шустрый и современный движок, технически не отстающий от веяний времени. Подчас разработчикам удается воплощать новое быстрее, чем соответствующее оборудование появляется на массовом рынке. Помимо графической части, движок имеет в своем составе модули физики (ODE, DDE), умеет работать со звуком и сетью, есть встроенный редактор сцены (правда, очень и очень примитивный). Конечно же, поддерживаются шейдеры, скелетная и покадровая анимация, частицы, motion blur, bump-mapping и многое другое. Помимо своего непосредственного назначения (работы с трехмерной графикой), GLScene неплохо умеет обращаться и с двумерными спрайтами, примитивами. Для разработки интерфейса предназначен специальный класс, что существен- &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;но облегчает жизнь программиста, а имеющиеся в наличии небольшие утилиты освобождают от рутинности разработки. Большой плюс – наличие документации, примеров и целой армии поклонников. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;но облегчает жизнь программиста, а имеющиеся в наличии небольшие утилиты освобождают от рутинности разработки. Большой плюс – наличие документации, примеров и целой армии поклонников. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== OGRE ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== OGRE ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Изображение:Img_96_125_1.jpg|left|200px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Совсем недавно завершился&amp;#160; цикл статей по программированию игры на OGRE в нашем журнале, поэтому остановимся на нем вкратце. Читатели наверняка попробовали на ощупь мощь и элегантность работы движка. Созданный аж в 2002&amp;#160; году, OGRE активно разрабатывается и поныне, заслуженно считаясь наиболее динамично развивающимся и перспективным проектом такого рода. Продуманная&amp;#160; &amp;#160; &amp;#160;  архитектура, богатый набор документации и примеров, большое количество сопроводительного инструментария – все это делает движок интересным не только для простых пользователей, но и для коммерческих проектов (примером может служить игра «Стальные монстры (Pacific Storm)» студии «Леста»). Кроме того, по слухам, просочившимся из стана разработчиков Blender, этот &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Совсем недавно завершился&amp;#160; цикл статей по программированию игры на OGRE в нашем журнале, поэтому остановимся на нем вкратце. Читатели наверняка попробовали на ощупь мощь и элегантность работы движка. Созданный аж в 2002&amp;#160; году, OGRE активно разрабатывается и поныне, заслуженно считаясь наиболее динамично развивающимся и перспективным проектом такого рода. Продуманная&amp;#160; &amp;#160; &amp;#160;  архитектура, богатый набор документации и примеров, большое количество сопроводительного инструментария – все это делает движок интересным не только для простых пользователей, но и для коммерческих проектов (примером может служить игра «Стальные монстры (Pacific Storm)» студии «Леста»). Кроме того, по слухам, просочившимся из стана разработчиков Blender, этот &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;движок скоро ляжет в основу следующих версий редактора. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;движок скоро ляжет в основу следующих версий редактора. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Итак, что же «вкусного» он может нам предложить? Во-первых, независимость от типа графического API, позволяющую с легкостью переключаться между DirectX и OpenGL. Поддержка трех операционных систем – Linux, Windows, Mac OS X. Богатый набор модулей расширения для работы с различмерных редакторов (3ds Max, Maya, Blender, MilkShape...). Движок написан на языке программирования C++. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Итак, что же «вкусного» он может нам предложить? Во-первых, независимость от типа графического API, позволяющую с легкостью переключаться между DirectX и OpenGL. Поддержка трех операционных систем – Linux, Windows, Mac OS X. Богатый набор модулей расширения для работы с различмерных редакторов (3ds Max, Maya, Blender, MilkShape...). Движок написан на языке программирования C++. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Изображение:Img_96_125_3.jpg|right|200px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;И хотя он позиционируется в первую очередь как графический движок, остальные стороны игростроя не остались в стороне. Так, имеется пример использования открытой физической библиотеки ODE совместно с OGRE. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;И хотя он позиционируется в первую очередь как графический движок, остальные стороны игростроя не остались в стороне. Так, имеется пример использования открытой физической библиотеки ODE совместно с OGRE. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 54:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Irrlicht ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Irrlicht ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Изображение:Img_96_125_4.jpg|left|200px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Завершает повествование о графических движках обзор еще одного интересного проекта. Из всех рассмотренных, только Irrlicht имеет возможность использовать программный режим отрисовки. Скажете, древность? А вот и нет. Представьте, что для разработки небольшой казуальной игры вы воспользовались, скажем, тем же OGRE. Получилось красиво, быстро, интересно. Но вот беда, на обычных конторских машинах не всегда стоят видеоплаты с 3D-ускорителями (или соответствующие драйвера), а игры такого класса рассчитаны по большей степени именно на них. Потеря потенциальных потребителей – дело неприятное. Irrlicht же позволяет с легкостью переключаться с аппаратного ускорения на программный рендер. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Завершает повествование о графических движках обзор еще одного интересного проекта. Из всех рассмотренных, только Irrlicht имеет возможность использовать программный режим отрисовки. Скажете, древность? А вот и нет. Представьте, что для разработки небольшой казуальной игры вы воспользовались, скажем, тем же OGRE. Получилось красиво, быстро, интересно. Но вот беда, на обычных конторских машинах не всегда стоят видеоплаты с 3D-ускорителями (или соответствующие драйвера), а игры такого класса рассчитаны по большей степени именно на них. Потеря потенциальных потребителей – дело неприятное. Irrlicht же позволяет с легкостью переключаться с аппаратного ускорения на программный рендер. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Изображение:Img_96_126_3.jpg|right|200px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Движок достаточно новый. Не совсем еще стабильный, но основные функции для разработки уже имеются. Набор предлагаемых эффектов достаточно богат: создание реалистичных водных поверхностей, динамическое освещение, световые карты, динамические тени, работа с биллбордами (billboards), система частиц и многое другое. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Движок достаточно новый. Не совсем еще стабильный, но основные функции для разработки уже имеются. Набор предлагаемых эффектов достаточно богат: создание реалистичных водных поверхностей, динамическое освещение, световые карты, динамические тени, работа с биллбордами (billboards), система частиц и многое другое. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>StavNight0ver</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF96:%D0%94%D0%B2%D0%B8%D0%B6%D0%BA%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B8%D0%B3%D1%80&amp;diff=3595&amp;oldid=prev</id>
		<title>StavNight0ver: Новая: == Движки для игр ==  ''«Что наша жизнь? Игра...» А сердце любой игры заключено в той части кода, которая в п...</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF96:%D0%94%D0%B2%D0%B8%D0%B6%D0%BA%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%B8%D0%B3%D1%80&amp;diff=3595&amp;oldid=prev"/>
				<updated>2008-03-27T19:28:08Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: == Движки для игр ==  &amp;#039;&amp;#039;«Что наша жизнь? Игра...» А сердце любой игры заключено в той части кода, которая в п...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Движки для игр ==&lt;br /&gt;
&lt;br /&gt;
''«Что наша жизнь? Игра...» А сердце любой игры заключено в той части кода, которая в простонародье кличется «движком». '''Андрей Прахо'''в заглянул прямо в сердце... ''&lt;br /&gt;
&lt;br /&gt;
Прежде, чем мы начнем повествование, необходимо четко разъяснить то, что понимается под вынесенным в заголовок термином. Очень часто, говоря о движке, люди связывают его с определенной игрой. Это не совсем верно. Технологии, используемые, скажем, в DOOM 3, вполне могут быть лицензированы третьей фирмой. И не факт, что получившаяся у них &lt;br /&gt;
игра затмит оригинал или даже задействует все крутые разработки конкретного движка. Кроме того, движок – это не только исполняемый код ядра, но и его окружение в виде вспомогательных утилит и, что немаловажно, поддержка производителя. &lt;br /&gt;
&lt;br /&gt;
Возьмем гипотетическую компанию «XGames», решившую создать очередной шедевр. Пусть в свою игру они предполагают включить зрелищные поединки на мечах. Что они могут предпринять? В принципе, путей только три: лицензировать чужую технологию, написать свой код, воспользоваться разработками Open Source. Однако какой бы путь они ни выбрали и какие бы запредельные возможности приобретенная ими система «файтинга» ни имела –если нет сопутствующего инструментария для воссоздания задуманных движений и эффектов, то львиная доля возможностей системы будет просто не задействована. &lt;br /&gt;
&lt;br /&gt;
Хороший движок – это не монолитное сооружение, а скорее конструктор, призванный воплотить цели разработчика. В принципе, можно выделить неизменяемую часть – «Core Engine» – и систему подключаемых модулей. Именно от качества кода основного ядра и имеющихся модулей зависит диапазон возможностей игр, которые теоретически можно реализовать на данном движке. &lt;br /&gt;
&lt;br /&gt;
Существующие движки можно разбить по категориям: графические, физические, скриптовые, звуковые, AI [искусственный интеллект, – прим. ред.] и т.д. Нет в мире универсального движка, решающего все эти задачи. Скажем, GLScene имеет в своем составе физическую библиотеку ODE, а Unreal Engine II слит с Havok. Поэтому далее мы рассматривать будем отдельных представителей конкретных направлений. Кроме &lt;br /&gt;
того, только последователей открытости и бесплатности. И этому есть как минимум пара причин. Во-первых, стоимость графического движка колеблется от $5000 до бесконечности. Так, в свое время, Source продавался почти за миллион долларов. Цены на физические чуть поскромнее: славный представитель этого семейства Havok, по слухам, стоит около $50000 (всего-то!). И откуда брать деньги разработчикам, начинающим и не очень? Опять-таки, качество отдельных бесплатных разработок заслуживает уважения, и не раз они использовались в коммерческих проектах. &lt;br /&gt;
&lt;br /&gt;
При выборе движка нужно учитывать специфику текущего проекта. Так, Quake Engine II хорош для прорисовки закрытых пространств и весьма непродуктивен на открытых. Но есть и универсальные движки. &lt;br /&gt;
&lt;br /&gt;
К таким можно отнести GLScene. &lt;br /&gt;
&lt;br /&gt;
                                                             &lt;br /&gt;
=== GLScene ===&lt;br /&gt;
Когда-то разработанный для использования в среде Delphi (Windows), он благополучно перекочевал и на Linux. Работать с ним можно либо из-под Lazarus (открытый аналог Delphi), либо из-под FreePascal. Понятное дело, что в основе его лежит работа с OpenGL и язык программирования Object Pascal. Это вполне шустрый и современный движок, технически не отстающий от веяний времени. Подчас разработчикам удается воплощать новое быстрее, чем соответствующее оборудование появляется на массовом рынке. Помимо графической части, движок имеет в своем составе модули физики (ODE, DDE), умеет работать со звуком и сетью, есть встроенный редактор сцены (правда, очень и очень примитивный). Конечно же, поддерживаются шейдеры, скелетная и покадровая анимация, частицы, motion blur, bump-mapping и многое другое. Помимо своего непосредственного назначения (работы с трехмерной графикой), GLScene неплохо умеет обращаться и с двумерными спрайтами, примитивами. Для разработки интерфейса предназначен специальный класс, что существен- &lt;br /&gt;
но облегчает жизнь программиста, а имеющиеся в наличии небольшие утилиты освобождают от рутинности разработки. Большой плюс – наличие документации, примеров и целой армии поклонников. &lt;br /&gt;
&lt;br /&gt;
Особенности движка – серьезная продуманность внутренней структуры и большое количество встроенных заготовок. Так, создать полноценное небо или водную поверхность можно буквально несколькими командами. Не обойден стороной и звук: работать с ним – одно удовольствие. Естественно, поддерживается трехмерное окружение. &lt;br /&gt;
&lt;br /&gt;
Нельзя сказать, что это очень быстрый движок. Да, стрелялку класса ААА на нем не сделаешь, но для небольших казуальных игр или не слишком динамичных RPG он в самый &lt;br /&gt;
раз. По секрету: разработчики GLScene никогда не позиционировали его только лишь для программирования игр. &lt;br /&gt;
&lt;br /&gt;
=== OGRE ===&lt;br /&gt;
Совсем недавно завершился  цикл статей по программированию игры на OGRE в нашем журнале, поэтому остановимся на нем вкратце. Читатели наверняка попробовали на ощупь мощь и элегантность работы движка. Созданный аж в 2002  году, OGRE активно разрабатывается и поныне, заслуженно считаясь наиболее динамично развивающимся и перспективным проектом такого рода. Продуманная       архитектура, богатый набор документации и примеров, большое количество сопроводительного инструментария – все это делает движок интересным не только для простых пользователей, но и для коммерческих проектов (примером может служить игра «Стальные монстры (Pacific Storm)» студии «Леста»). Кроме того, по слухам, просочившимся из стана разработчиков Blender, этот &lt;br /&gt;
движок скоро ляжет в основу следующих версий редактора. &lt;br /&gt;
&lt;br /&gt;
Итак, что же «вкусного» он может нам предложить? Во-первых, независимость от типа графического API, позволяющую с легкостью переключаться между DirectX и OpenGL. Поддержка трех операционных систем – Linux, Windows, Mac OS X. Богатый набор модулей расширения для работы с различмерных редакторов (3ds Max, Maya, Blender, MilkShape...). Движок написан на языке программирования C++. &lt;br /&gt;
&lt;br /&gt;
И хотя он позиционируется в первую очередь как графический движок, остальные стороны игростроя не остались в стороне. Так, имеется пример использования открытой физической библиотеки ODE совместно с OGRE. &lt;br /&gt;
&lt;br /&gt;
Итого: мощная и открытая архитектура, солидная документация, технологичный язык программирования – все это делает OGRE привлекательным и для коммерческого использования. &lt;br /&gt;
&lt;br /&gt;
=== The Nebula Device ===&lt;br /&gt;
История этого проекта достаточно необычна и поучительна. Немецкая студия «Radon Labs» при создании игры «Project Nomads» встала перед обычной дилеммой: то ли лицензировать чужой движок, то ли написать свой собственный. По некоторым причинам, движки, предлагаемые рынком, не подходили для задуманного, но и ресурсов для создания своего явно не хватало. Ребята поступили просто и мудро – открыли свои наработки, и впоследствии, не без помощи сторонников Open Source, получилась красивая и изящная игра. &lt;br /&gt;
&lt;br /&gt;
Движок этого типа призван для обработки исключительно открытых пространств. Изумительное по красоте небо, реальные облака, детализированные острова и видимость на десятки километров – вот что предложила игрокам эта игра, а соответственно, и ее движок. &lt;br /&gt;
&lt;br /&gt;
Подобно OGRE, движок является мультиплатформенным, он поддерживает DirectX и OpenGL. Как и его вышеописанные собратья, он предлагает разработчикам мощь современных технологий и легкость (относительную) программирования. &lt;br /&gt;
&lt;br /&gt;
Написан на C++, поддерживает несколько скриптовых языков (в том числе и любимый разработчиками игр Lua). Имеется даже возможность включить поддержку иного языка с помощью системы расширений. &lt;br /&gt;
&lt;br /&gt;
Работа с различными форматами графических файлов также сделана на подобающем уровне. Движок «понимает» форматы BMP, JPG, GIF, TIFF, PNG и некоторые другие. Исключение составляет поддержка файлов трехмерных редакторов. Помимо собственных форматов NVX &lt;br /&gt;
и N3D, можно использовать лишь OBJ (слабое место!). &lt;br /&gt;
&lt;br /&gt;
В своем составе имеет несколько дополнительных утилит. Так, к примеру, для контролирования источников света можно воспользоваться специальным инструментом (Light Control Tool). &lt;br /&gt;
&lt;br /&gt;
Ну и, под конец, еще одна большая ложка дегтя – почти полное отсутствие документации. Впрочем, на собственном сайте Nebula имеются кое-какие примеры и руководства. &lt;br /&gt;
&lt;br /&gt;
=== Irrlicht ===&lt;br /&gt;
Завершает повествование о графических движках обзор еще одного интересного проекта. Из всех рассмотренных, только Irrlicht имеет возможность использовать программный режим отрисовки. Скажете, древность? А вот и нет. Представьте, что для разработки небольшой казуальной игры вы воспользовались, скажем, тем же OGRE. Получилось красиво, быстро, интересно. Но вот беда, на обычных конторских машинах не всегда стоят видеоплаты с 3D-ускорителями (или соответствующие драйвера), а игры такого класса рассчитаны по большей степени именно на них. Потеря потенциальных потребителей – дело неприятное. Irrlicht же позволяет с легкостью переключаться с аппаратного ускорения на программный рендер. &lt;br /&gt;
&lt;br /&gt;
Движок достаточно новый. Не совсем еще стабильный, но основные функции для разработки уже имеются. Набор предлагаемых эффектов достаточно богат: создание реалистичных водных поверхностей, динамическое освещение, световые карты, динамические тени, работа с биллбордами (billboards), система частиц и многое другое. &lt;br /&gt;
&lt;br /&gt;
Irrlicht, понятное дело, является кроссплатформенным (Windows, Linux, MacOS, Sun Solaris/SPARC), написан на С++, понимает форматы OBJ, 3DS, MD2 (формат Quake Engine). Легко интегрируется с физическими библиотеками ODE, Tokamak. &lt;br /&gt;
&lt;br /&gt;
=== ...и другие ===&lt;br /&gt;
Конечно же, количество существующих графических движков,     подходящих для использования в Linux, не ограничивается лишь четырьмя ранее рассмотренными. Существует масса узкоспециализированных, разработанных для создания игр разного жанра. Но есть еще одна категория движков, без которых не обходится ни одна из современных игр – а именно, физические. &lt;br /&gt;
&lt;br /&gt;
Уже из названия понятно их назначение. Столкновения, падения, гравитация, зрелищные взрывы – все, что основано на законах физики, находится во власти этого кода. &lt;br /&gt;
&lt;br /&gt;
Не стоит думать, что эти расчеты достоверно моделируют физические процессы на все 100%: как правило, происходит лишь аппроксимация. Расчет в реальном времени требует немалых процессорных ресурсов, и поэтому разработчики идут на всевозможные ухищрения, типа &lt;br /&gt;
разбиения игрового пространства на обсчитываемые зоны, нестандартного использования GPU высокоскоростных видеоплат и,  наконец, использования специализированных физических ускорителей. &lt;br /&gt;
&lt;br /&gt;
Примером последнего может служить движок PhysX компании Ageia. Это пока единственный движок, способный использовать всю мощь PPU (Physics Processing Unit); кроме того, он самый шустрый. Но есть и погрешности моделирования. Имеется несколько бесплатных лицензий (без поддержки PPU) для коммерческого использования. По слухам, скоро появятся двоичные пакеты и для Linux. &lt;br /&gt;
&lt;br /&gt;
Гораздо более привычным для разработчиков является движок ODE – старейший представитель, изначально создававшийся под эгидой Open Source, не самый быстрый и, как ни странно, не очень стабильный. Он разрабатывается и поныне, изредка радуя почитателей некоторыми новыми функциями. Умеет просчитывать столкновения не только между стандартными примитивами (сфера, плоскость, куб), но и работает непосредственно с mesh-объектами. Используется имитация физики твердого тела (Rigid body sumulation), на основе которой можно воссоздать широко известный эффект «тряпочной куклы» (rag- doll). Является стандартом de-facto использования совместно с другими графическими движками, такими, как OGRE, GLScene, Nebula. Из особенностей: богатая документация, несложная и понятная реализация функций. Лучше всего проявляет себя при обсчете простых физических тел в небольшом проекте. Однако, благодаря своей открытости и документированности, может стать основой для разработки более сложного кода (появилось желание создать конкурента Havok?). &lt;br /&gt;
&lt;br /&gt;
Напоследок хочется дать добрый совет: не гонитесь за самым мощным движком, лучше используйте простой, но хорошо документированный! &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Врезка ===&lt;br /&gt;
&lt;br /&gt;
==== Справочник игродела ====&lt;br /&gt;
&lt;br /&gt;
'''Billboards''' Двухмерные спрайты, всегда повернутые «лицом» к активной камере. Часто используются для создания объектов (или подмены «реальных» трехмерных объектов), находящихся на удалении от камеры, с целью уменьшения нагрузки на систему. &lt;br /&gt;
&lt;br /&gt;
'''Bump-Mapping''' Технология выдавливания для придания шероховатости поверхности объекта. Неровности создаются одной картинкой (бамп-карта), состоящей из градаций серого цвета (от 0 до 255). Чем светлее пиксель, тем выше он находится от поверхности. Кроме него, имеются более современные способы: Normal Mapping, Parallax Mapping, Relief Mapping. &lt;br /&gt;
&lt;br /&gt;
'''Collision Detection''' Обнаружение столкновений между объектами с последующей реакцией программы. Расчеты могут вестись либо на уровне примитивов (сфера, куб), либо на уровне граней (mesh) самого объекта. В последнем случае точность определения значительно возрастает за счет увеличения нагрузки на систему. &lt;br /&gt;
&lt;br /&gt;
'''Motion Blur''' Эффект размытости изображения при движении. Как известно, при высокой скорости движения объекта в реальном мире его очертания расплываются. Данная технология придаст более зрелищный вид любой трехмерной игре. &lt;br /&gt;
&lt;br /&gt;
'''Particles System''' Предназначена для моделирования объекта с неопределенной формой. В свою очередь, сам объект состоит из подмножества других, каждый из которых рождается, живет и умирает в конкретный момент, по замыслу аниматора. Частицы могут порождать другие частицы, приобретать новые свойства и перемещаться по заданным траекториям. Таким образом, контролируя цвет, прозрачность, размер и динамику поведения частиц, можно получить различные визуальные эффекты: например, облака, пламя, водные брызги, дым.&lt;/div&gt;</summary>
		<author><name>StavNight0ver</name></author>	</entry>

	</feed>