Игра своими руками. Создание трехмерного игрового движка на базе GLScene > Minecraft истории
истории Minecraft    

Игра своими руками. Создание трехмерного игрового движка на базе GLScene

Игра своими руками. Создание трехмерного игрового движка на базе GLScene

Самопал Игра своими руками. Создание трехмерного игрового движка на базе GLScene 027.10.2004 02:18  |  Это единственный из известных мне бесплатных движков, про который никогда не скажут “устарел”. Несколько сотен постоянно работающих над “двигателем” энтузиастов не допустят этого. Как пример: в движке поддержка самых первых шейдеров появилась уже через не Самопал    Некоторое время назад мы затрагивали тему создания компьютерных игр и рассказывали об уникальном бесплатном трехмерном движке, написанном на Delphi GLScene (движок забирайте с нашего CD/DVD). Тема создания полноценных трехмерных компьютерных игр была вам очень интересна, о чем можно было судить по количеству пришедших писем. Однако тогда мы решили, что рассказывать о программировании под движок слишком сложно. С тех пор ваш уровень заметно возрос (об этом также можно судить по письмам и по активности на форуме журнала), вы стали более подкованы в вопросах программирования. Особенно после публикации цикла “Кладовая программиста”.
Рис. 1. Иногда трехмерные
движки вместе с новым
уровнем абстpaкции
предлагают довольно
экзотический инструментарий,
чтобы им управлять.
    С этого номера мы начинаем публикацию серии статей, в которых детально рассмотрим различные этапы создания трехмерной игры. Вы повысите свои навыки программирования и, что называется, заглянете за завесу тайны, отделяющую серьезных разработчиков игр от простых cмepтных.
    Движок любой игры складывается из многих и часто независимых частей-кирпичиков: контроль столкновений, физическая модель, игровой интерфейс, главное меню, загрузка уровней и многое другое. Есть специфические кирпичики,
которые нужны только для какого-то одного жанра. Например, модуль погодных явлений важен и нужен в авиационном или морском симуляторе, а в стратегии реального времени он второстепенен или вообще не нужен, а в футбольном симуляторе ни к чему модуль выстрелов. Но несколько десятков кирпичиков присутствуют в любой игре. В серии статей мы расскажем о каждом из таких кирпичиков, покажем, как он реализуется и как его связать с остальными. К концу цикла вы сможете из этих кирпичиков собрать свою собственную компьютерную игру довольно высокого уровня.

   
Что это вы тут делаете?
   
Для тех, кто пропустил какие-то из предыдущих моих статей (или даже все), отвечу на возникшие у вас вопросы. Так сказать, небольшое техническое вступление.
    Почему Delphi? Эта среда разработки и язык программирования Object Pascal достаточно гибкие, чтобы создать полноценную трехмерную игру пpaктически любого жанра с современным уровнем графики. Многие возразят, что стандартом де-факто разработки компьютерных игр является MSVC++ или другие среды на основе С++. Но подобные стандарты, как это часто бывает, складываются стихийно. Не будем смешивать два понятия язык и среда разработки.
    C++, безусловно, мощнее, чем Object Pascal. Но он и менее высокоуровневый, то есть в разы сложнее. Для новичков С++ подходит слабо. Object Pascal же не только простой, но и достаточно гибкий, чтобы на нем можно было разработать полноценную компьютерную игру современного уровня. Теперь о средах. Тут так категорично не скажешь. Среда разработки
Рис. 2. Иногда уровень
абстpaкции движка включает
в себя не только обработку
графики и звука, но и
поддержку мультиплеера.
Таков, например, Fly 3D,
результат работы которого вы
видите на скриншоте.
дело вкуса и привычки каждого конкретного программиста. Поделюсь своим мнением на этот счет. MSVC++ генерирует немного более быстрый код, чем Delphi. Собственно, на этом преимущества заканчиваются (повторюсь, на мой субъективный и ни к чему не обязывающий взгляд). Козыри Delphi большая скорость компиляции (в десятки и даже сотни раз быстрее, чем MSVC++), высокое качество средств отладки (в большинстве случаев Delphi указывает точно ту строку кода, в которой содержится ошибка, тогда как MSVC++ может указать строчку за несколько страниц от искомой) и удобный интерфейс.
    Почему GLScene? Я повидал и перепробовал много бесплатных трехмерных движков, но остановился именно на этом. Его самое главное преимущество GLScene постоянно совершенствуется. Разработчики не поставили точку и, скорее всего, не поставят ее никогда. Движок постоянно эволюционирует и впитывает в себя все новинки технического прогресса. Это единственный из известных мне бесплатных движков, про который никогда не скажут “устарел”. Несколько сотен постоянно работающих над “двигателем” энтузиастов не допустят этого. Как пример: в движке поддержка самых первых шейдеров появилась уже через несколько месяцев после того, как NVidia выпустила соответствующие инструментальные средства.
    Еще одно преимущество: в комплекте с GLScene поставляются его полные исходники. Новичкам этот факт, наверное, вряд ли будет полезен. Хотя познакомиться с исходниками, написанными рукой профессионала, многого стоит. А вот бывалые программисты чувствуют основной смысл этих слов: ведь они смогут перекраивать движок как им
вздумается. Единственное условие в соответствии с лицензией MPL любые изменения в исходниках должны быть доступны координатору проекта (сейчас координатор Эрик Гранж). Вдруг ваш код еще кому-нибудь пригодится?!
Рис. 3. Delphi+GLScene
идеальная среда разработки
компьютерных игр для новичков.
    Несмотря на то что все примеры кода, которые будут приводиться в этом цикле статей, будут написаны на Delphi с применением GLScene, они будут полезны и тем, кто программирует на других языках и с другими графическими библиотеками. Ведь общие принципы создания графического движка не зависят ни о того, ни от другого. Итак... мы начинаем.

   
Зачем нужен трехмерный движок?
   
Товарищи новички, сосредоточьтесь! Возможно, то, что я сейчас скажу, с первого раза будет не очень понятно. Обязательно перечитайте и вникните: это один из основных принципов программирования вообще и разработки сложных систем (а игра это сложная система) в частности. Представьте себе какую-нибудь проcтенькую игру. Пинг-понг, к примеру. Программист написал его на чистом OpenGL, исходники уместились строк эдак в 200. Что там будет движком, а что основным кодом игры? Так прямо сразу и не скажешь... А если подумать, такое разделение на движок и основной код вообще не нужно.
Рис. 4. Сейчас игрок нажмет на
кнопку, и в путь устремятся
десятки пуль в секунду. А чтобы
игра не тормозила, они не будут
создаваться прямо из воздуха,
а перенесутся сюда из
заэкранного аккумулятора.
    Теперь представьте, что мы хотим сделать более или менее серьезный 3D-action (десятки тысяч строк кода). И будем мы программировать таким же способом, как если бы мы делали тот самый пинг-понг. И скоро запутаемся! Да, этот код будет быстрым, там не будет ничего лишнего, но... не всякий программист сможет дописать его до конца. А ошибки в таком плотном коде искать сущий ад. Значит, его надо как-то упорядочить. Проще всего это сделать с помощью выделения уровней абстpaкции.
    Уровень абстpaкции это одно из важнейших понятий модульного программирования. Представьте, что вы строитель, и вам нужно построить дом. Вы оперируете кирпичами: берете кирпич, кладете его на строящуюся стену, намазываете раствором, берете следующий кирпич... Кирпичи ваш уровень абстpaкции. Теперь представьте, что вы застройщик. И вам нужно построить микрорайон. Вы говорите строителю, где строить дома, какие дома сносить. Дом это ваш уровень абстpaкции. Было бы странно, если бы вы указывали строителю, какой кирпич куда класть. Вы сказали: вот здесь будет дом. Все остальные заботы берет на себя строитель. Ну а теперь представьте, что вы мэр города. И вам необходимо дать задание толпе застройщиков к такому-то году дать городу столько-то нового жилья. Вряд ли вы будете лично планировать, где какой дом должен стоять. Это работа застройщика. Уровень абстpaкции мэра объем жилого фонда, который можно увеличивать, можно уменьшать, а как это будет выполняться дело десятое. По большому счету на этом уровне абстpaкции все равно, из чего строятся дома: хоть из кирпичей, хоть из бивней мамонта. И у мэра в списке комaнд просто не может быть “положить кирпич”, хотя любая его комaнда через несколько уровней абстpaкции к этому и приведет.
    В более или менее сложной компьютерной программе или игре то же самое. Каждый уровень абстpaкции отвечает за свою часть работы, опираясь на возможности более низкого уровня. Каждый уровень абстpaкции обеспечивает более высокому уровню удобный интерфейс для работы с объектами. В компьютерной игре нижний уровень абстpaкции это
Рис. 5. Пример Mushroom из
комплекта GLScene прекрасно
иллюстрирует применение
прокси-объектов.
язык программирования (хотя, на самом деле, можно копнуть еще глубже до железа). Далее идут комaнды OpenGL API (если мы именно с его помощью программируем). На этом уровне мы можем отдать комaнду вроде “нарисовать полигон” и “поменять местами видимую и теневую части видеобуфера”. Потом комaнды GLScene. На этом уровне мы можем дать комaнды вроде “построить куб”, “загрузить модель в формате 3ds” и “наложить на модель такую-то текстуру”. А вот дальше игровой движок. И, наконец, игровой код, который может давать игровому движку комaнды вроде “загрузить уровень”, “выстрелить таким-то персонажем из такого-то оружия” и “показать заставочный ролик”. В идеальном случае каждый уровень абстpaкции пользуется комaндами только предыдущего уровня. Не всегда это возможно. Но к этому надо стремиться, так как в таком случае код будет быстрым, удобным и легкочитаемым.

   
Динамическое создание объектов
   
Мы рассмотрели вертикальную организацию компьютерной игры. Но каждый уровень абстpaкции можно разделить на смысловые блоки модули. Деление это необязательно и всегда будет чисто условным, просто так проще программировать. Сегодня мы разберем маленький, но очень важный модуль-кирпичик динамическое создание объектов, который присутствует во всех без исключения играх.
Рис. 6. Лес, реализованный
прокси-объектами. Заметьте,
что все деревья разные по
размеру. От объекта-источника
объект-клон может наследовать
только необходимые элементы,
в данном случае геометрию.
А размеры всех прокси-
объектов индивидуальны.
    Предположим, вы создаете модуль вооружения и хотите запрограммировать очередь из пулемета. Все бы ничего, но откуда вы знаете, сколько игрок может выпустить пуль за всю игру? Через редактор объектов в IDE GLScene можно создавать любые объекты, но только если вы четко знаете, сколько и каких объектов вам нужно. В большинстве случаев это неприемлемо. К примеру, у вас в игре есть 20 уровней, у каждого уровня свой набор объектов. И что же, создавать перед началом игры все объекты всех уровней? Это долго, да и займет огромное количество памяти. Единственный выход создавать объекты прямо во время игры, динамически. В GLScene динамическое создание любого объекта состоит из двух стадий создания экземпляра класса этого объекта и присвоения ему необходимых свойств. Возьмем уже упоминавшийся пример с очередями у пулемета и динамически создадим пулю. Предположим, пуля у нас будет промто-сферой. За сферы в GLScene отвечает класс TGLSphere. Казалось бы, можно написать так:
    Sphere:=TGLSphere.Create
   
Однако комaнда работать не будет, так как каждому объекту в GLScene надо зарегистрироваться в очереди объектов. Кроме того, объект нельзя создать в “пустоте”, он должен быть привязан к какому-то объекту более высокого уровня. Корневой объект самого высокого уровня glscene1.Objects (если объект компонента TGLScene у вас называется glscene1). Правильный вариант:
    Sphere:=TGLSphere (glscene1.Objects.AddNewChild(TGLSphere))
   
Разберем эту строчку по частям. У корневого объекта glscene1.Objects мы вызываем метод AddNewChild, который добавляет в корень объект класса, указанный в параметре (в данном случае это сфера
TGLSphere). Так тоже можно: в параметры процеДypaм передавать не объекты, а целые классы. Зачем перед присвоением нужно преобразование типа к TGLSphere? Дело в том, что метод AddNewChild, что бы вы ему в параметр ни передали, возвращает объект класса TGLBaseSceneObject. Нас это не устраивает, поэтому мы и преобразуем тип к TGLSphere. Получившийся объект присваивается переменной Sphere. Теперь с помощью этой переменной мы можем нашей пуле задать разные параметры, например положение в прострaнcтве:
    Sphere.Position.X:=
    Sphere.Position.Y:=
    Sphere.Position.Z:=
   
Или цвет:
    Sphere.Material.FrontProperties.Diffuse=
Рис. 7. А здесь прокси-объекты
не деревья (иначе они были бы
слишком однообразными), а
ветви с листвой. Из ветвей уже
собирается финальное дерево.
    Динамическое создание моделей мы разобрали, а теперь поговорим о динамическом их уничтожении. В самом деле, пуля когда-нибудь попадает в стену, человека или же улетает в гoлyбую даль. С этого момента она больше не нужна. Если мы так и оставим ее, она будет занимать какую-то область памяти. Учитывая, сколько выстрелов делает среднестатистический кемпер, пока его нычку не обнаружат, нам всей памяти компьютера не хватит, чтобы хранить такое количество пуль. Поэтому любые объекты игры, которые стали ненужными, надо немедленно уничтожать. Единственный правильный способ сделать это вызвать метод Free, например:
    Sphere.Free
   
Частенько бывает необходимо проверить, существует ли объект, или его уже уничтожили. Для этого сравниваем объект с универсальной константой нуля nil, например:
    If Sphere<>nil then
    Begin
    {сферу еще не уничтожили,
значит, делаем здесь что-нибудь полезное}
    End
Рис. 8. В данном случае
дождинки не прокси-объекты, а
обычные объекты, которые
берутся из аккумулятора. Для
программистов так было проще.
    Или же вызываем функцию Assigned, которая делает то же самое. И вот тут вас подстерегает один гигантский подводный камень, на который рано или поздно наталкивались все программисты. Если вы освободили объект методом Free, это не гарантирует, что переменная объекта стала равно nil! То есть при определенном стечении обстоятельств в примере выше, даже если сфера уничтожена, условие будет выполняться. Если вы в условии после проверки обращаетесь с этой сфере (а так почти всегда и бывает), произойдет критическая ошибка, что чревато вылетом игры в синие форточки. Чтобы гарантировать, что освобожденный объект станет равным nil, используйте специальную процедуру FreeAndNil, например:
    FreeAndNil(Sphere)
   
Теперь вы можете быть уверенными в том, что никогда не обратитесь к уже несуществующему объекту. Описанную процедуру создания и уничтожения объектов можно применять к любым объектам GLScene.

   
Зачем играм аккумулятор?
   
Рассмотрим пример выше с пулеметом. Обычно в играх пули это не просто сферы, а сложные объекты, у которых к тому же еще и текстура имеется. Каждый раз, когда вы создаете пулю, освобождается участок памяти, устанавливаются
Рис. 9. Движок любой
игры состоит из
кирпичиков так же,
как эта кладка. И так же,
как в этой стене, верхний
уровень в движке не
может существовать
без нижних.
свойства этой пули, загружается модель пули, загружается текстура (с винчестера!). Все это занимает определенное время. Если число пуль, которые изрыгает пулемет в секунду, очень велико, могут начаться дикие тормоза, особенно на слабых компьютерах. С уничтожением пуль такая же проблема: надо выгрузить объект, освободить память... То же самое относится не только к пулям, но и к любым объектам, которые часто появляются и исчезают, например к каплям дождя, искрам от электропроводки... Подобная расточительность системных ресурсов в компьютерных играх неприемлема. Вы же не хотите, чтобы вашу игру можно было запустить только на суперкрутой графической станции?
    Выход простой. Прикидываем, сколько в среднем объектов подобного рода может существовать одновременно. Допустим, пулемет может выбросить несколько сотен пуль за десяток секунд, и за этот же десяток секунд пули обязательно долетят до цели. Перед началом игры создаем все сто пуль. Лучше всего это делать во время загрузки уровня. Небольшой задержки никто не заметит. Далее пули помещаются в список или массив, который называем аккумулятором. Делаем пули невидимыми или выносим их куда-нибудь за пределы игрового прострaнcтва. Как только пулемет начал стрелять, вместо того чтобы создавать пули, мы перемещаем в нужное место уже созданные пули из аккумулятора и делаем их видимыми. Как только пуля достигнет цели, мы не уничтожаем ее, а вновь делаем невидимой и помещаем в аккумулятор. В итоге для каждой пули мы экономим время создания и время уничтожения. А это очень и очень много! А что если мы немного ошиблись в своих прикидках, пули в аккумуляторе кончились, а пулемет продолжает стрелять? Тут уж ничего не поделаешь придется новые пули создавать динамически, пока в аккумулятор не вернутся старые. И новые пули тоже не будем уничтожать, а запасем в аккумуляторе вдруг еще понадобятся...

   
Рис. 10. В этой демке из
комплекта GLScene все кубики
создаются динамически.
Обратите внимание, что на
этапе создания каждому
кубику присваиваются
свойства прозрачности.
Атака клонов
   
Пусть у нас есть большой лес, в котором много-много одинаковых деревьев или, скажем, много деревьев нескольких разных видов. Пример похож на предыдущий, только мы тут ничего динамически не создаем и не уничтожаем на этом уровне деревья есть всегда. Проблема будет при загрузке уровня. Создание стольких деревьев займет огромное время. Но ведь они все одинаковые! То есть мы раз за разом загружаем с винчестера и создаем в памяти копии одного и того же. Загрузили. Играем. Перед рендером каждого из деревьев выполняются подготовительные процедуры. Для каждого дерева они будут одними и теми же, но вызывать мы их будем опять большое число раз, по числу деревьев! Расточительно получается. И память под каждое дерево резервировать надо, и обработка каждого из них время занимает.
    Вот бы загрузить одно-единственное дерево, а когда надо будет вывести на экран остальные деревья, просто показать графической библиотеке, откуда брать необходимые данные. Это ж какая экономия ресурсов получится, какой пророст FPS! Такие “ложные” деревья (и не только деревья что угодно), о которых в памяти хранится только частная информация (положение в прострaнcтве, углы поворота), а одинаковая информация хранится только один раз, называются прокси-объектами.
    В GLScene для создания прокси-объектов существует специальный класс TGLProxyObject. Пользоваться им очень просто. Сначала создаем объект-источник, то есть единственное дерево, например так:
Рис. 11. Уникальная технология
Imposters, которую внедрили в
GLScene совсем недавно,
автоматически преобразует
динамически создаваемые
объекты в наборы спрайтов и
хранит их в памяти. Если
трехмерный объект окажется
достаточно далеко от
наблюдателя, он в целях
повышения производительности
заменяется на спрайт.
    Tree:=TGLFreeFrom(glscene1.objects.AddNewChild(TGLFreeFrom));
    //Загружаем
его модель:
    Tree.LoadFromFile(‘Tree.3ds’);
    //Загружаем его текстуру:
    Tree.Material.Texture.Disabled:=false;
    Tree.Material.Texture.Image,LoadFromFile(‘tree.jpg’);
    //А теперь создадим десять деревьев-клонов в случайных местах:
    for i:=1 to 10 do begin
    //Создаем очередной прокси-объект
    proxy:=TGLProxyObject(glscene1.objects.AddNewChild(TGLProxyObject));
    with proxy do begin
    //В свойство MasterObject записываем наше дерево-образец
    MasterObject:=Tree;
    //Показываем, что наследоваться должна только структура объекта
    ProxyOptions:=[pooObjects];
    //Ориентацию дерева в прострaнcтве надо оставить неизменной
    Direction:= Tree.Direction;
    Up:= Tree.Up;
    //А вот положение задаем случайное
    Position.X:=Random(100);
    Position.Y:=Random(100);
    //И повернем дерево на случайный угол, чтобы лучше смотрелось
    RollAngle:=Random(360);
    end;
    end;
   
Теперь у нас есть десяток деревьев по цене одного. Обратите внимание, что если мы как-нибудь изменим объект-оригинал, это изменение мгновенно отразится на всех объектах-клонах.

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


Бесплатные игровые движки

известная игра Project Nomads (в России продавалась под названием Проект “Бродяги”) сделана на бесплатном Nebula Device. Движки, представляемые сегодня вашему вниманию, тоже имеют очень хороший потенциал. Все они сделаны по принципу Open SourceOgre, Irrli...

27 04 2024 8:17:48

Desperados 2: Cooper’s Revenge

Сиквел наиболее успешного клона Commandos неожиданно оказался кособоким недоразумением. Немцы из Spellbound, как выяснилось, успешно работают только в случае прилежного копирования чужих идей. Попытка перевести тактическую классику Pyro на трехмерные...

26 04 2024 9:28:58

Обзор сериала «Колл-центр». Русская народная «Пила»

Стриминг-сервисы совершили революцию в индустрии развлечений &mdash; с этим невозможно спорить. Да, их прибыльность всё ещё под вопросом: долг Netflix уже приблизился к отметке в $15 млрд, это даже не скрывается. Но зато за время своего…|Игромания...

25 04 2024 19:38:57

Руководство и прохождение по "Runaway 2: The Dream of the Turtle"

Говорят, экстремальный туризм опасен. Но что делать, если в обществе нашего старого знакомого Брайана экстремальным становится любой туризм? Смириться и выпрыгнуть из самолета с парашютом за плечами, чтобы всякие нехорошие люди использовали тебя как м...

24 04 2024 6:34:22

Горячая линия: железо

24 часа в сутки я мысленно с вами. В остальное время со мной можно связаться, написав по адресу hot-line@igromania.ru или отправив SMS на короткий номер 1121 с префиксом #hard (то есть в начале сообщения вы должны ввести слово #hard и только потом,…|Игромания...

23 04 2024 10:44:29

«DVD-МАНИЯ» №12(135)

ОТ РЕДАКТОРА Всем привет! Интерфейс Комплектация 2 DVD Декабрьский DVD получился столь насыщенным играми не только потому, что близится конец года и выходят демоверсии уровня Tomb Raider: Underworld. Главная причина&nbsp;— исчезновение…|Игромания...

22 04 2024 9:31:52

Предварительный обзор Phantom Doctrine. Шпионский детектив

Бытует мнение, что жанр TBS пережил свой расцвет в конце 90-х с популярностью серий XCOM, Jagged Alliance, &laquo;Цивилизация&raquo; и &laquo;Герои&raquo; и сейчас медленно, но верно умирает. И правда &mdash; количество игр в этом…|Игромания...

21 04 2024 8:43:12

Call of Duty 4: Modern Warfare

...тотальный ребрендинг: четвертая часть переехала в XXI век и напоминает теперь самые одиозные произведения Тома Клэнси. То есть развесистая клюква, неадекватные генералы с псевдорусскими фамилиями, навязчивая советская символика в кадре и «я есть...

20 04 2024 16:52:10

Вердикт. Локализации. XIII

ОБ ИГРЕ. Экшен с джеймс-бондовскими мотивами, основанный на одноименной серии культовых бельгийских комиксов. На страницах этого журнала было сказано так много хороших слов про XIII, что, кажется, уже нет никакого смысла повторяться. Интригующий “шпио...

19 04 2024 4:14:46

Метро 2033

«…Максимально емко «Метро 2033» хаpaктеризует фраза, которую Линар Феткулов обронил после того, как мы провели наедине с игрой два часа: «Чистый S.T.A.L.K.E.R. на рельсах». Во-первых, потому что это рельсовый шутер, по механике напоминающий любую Call of...

18 04 2024 23:16:41

Братья Пилоты: Догонялки

«Братья Пилоты» пользуются известным спросом у российских разработчиков (и, соответственно, игроков): новые игры появляются с периодичностью раз в несколько лет. Чаще всего выходят квесты, но периодически попадаются и аркады. Такие как, например, «Дого...

17 04 2024 21:59:26

Руководство и прохождение по "Pool of Radiance: Ruins of Myth Drannor"

Слово в защитуНаступила осень, и появился не совсем долгожданный, но все же ожидавшийся образец жанра RPG. Прошло пару дней, и на него в Интернете немедленно посыпались вовсе не положительные обзоры. Обозревали, кто как умеет. Одним не нравилось отсутстви...

16 04 2024 15:11:34

Великолепная афера. История взлета и мягкого падения компании Rambus

...Выпусти Intel вовремя злосчастный Intel 820, и мы, возможно, никогда не увидели бы планки памяти типа DDR2. Но история не терпит сослагательного наклонения. Процессорный гигант давно забыл о RDRAM и сейчас успешно использует DDR2, а Rambus занимается п...

15 04 2024 18:41:24

Обзор Boomerang X. Ода движению

Есть такие игры, после которых хочется встать, немного пройтись, отдышаться и дать вспотевшим рукам передохнуть. Есть игры, которые подкупают возможностью вытворять невероятно крутые вещи: отбивать пули взмахом катаны, уничтожать тысячи демонов,…|Игромания...

14 04 2024 9:44:41

Дайджест онлайна

The War Z: бету в массы? Вот кто-то с горочки спустился, наверно, зомби к нам идет&hellip; [[BULLET]] Мародерство — это не только доходный бизнес, но и отличный способ приятно провести время. Моду на продажу доступа к бета-тесту игры ввели…|Игромания...

13 04 2024 8:44:48

Alan Wake: The Signal

Обычно загружаемые дополнения привинчивают к сюжетной линии основной игры как попало: в лучшем случае нам рассказывают истории, которые слабо связаны с центральным повествованием и уж точно не влияют на концовку. С Alan Wake все вышло немного…|Игромания...

12 04 2024 7:19:45

Откуда взялся Хитмен: 16 лет хождения по трупам

Убийцами не рождаются. За редким исключением. Если смешать гены отборных мерзавцев, а результат вырастить в пробирке, то на выходе вполне может получиться совершенный киллер. За последние полтора десятка лет Сорок Седьмой заслужил и буквально…|Игромания...

11 04 2024 19:57:29

Пpaктика мягкой посадки. Выбираем идеальный уголок для гeймера

и еще один важнейший элемент любого рабочего места — кресло или стул. Уважающий себя гeймер, заботящийся о здоровье, никогда не польстится на уговоры псевдодокторов, рекомендующих восседать только на табуретках из твердого дерева. Идея отличная, но только...

10 04 2024 23:33:23

Serious Sam 3: BFE

«…Croteam сознательно сближают Сэма с монстрами и выстраивают на этом совершенно новую, можно сказать иHTиMную, тактику боя. Например, если вас со всех сторон окружают безголовые, истерично вопящие камикадзе, стрейф вам больше не поможет. Сэм застынет на...

09 04 2024 17:10:36

The Dark Eye: Demonicon

Совсем недавно мы рассказали вам о первом квесте, действие которого происходит в мире популярной настольной RPG The Dark Eye — Авентурии. Но это не значит, что больше никто не делает собственно ролевые игры по этой вселенной. Пару лет назад…|Игромания...

08 04 2024 7:37:42

Lords of Everquest

"...Вы можете с удивлением обнаружить, что определенная магия попросту не действует на бодро марширующую в вашу сторону армию просто потому, что точно так же было в EverQuest..."...

07 04 2024 20:39:34

Обзор стандартов DVD, DVD+RW, DVD-R, DVD-RW

"...проблемы обратной совместимости серьезно замедлили распространение стандарта в массах. А тем временем не за горами новые технологии записи..."...

06 04 2024 23:24:28

Петька 5. Конец игры

Кто поймет все эти месседжи, тот, безусловно, большой молодец. Ей-богу, “Петьку” можно одинаково рассматривать и как очередной лубочный “типа квест”, и как полотнище, достойное какого-нибудь художественного кружка концептуалистов-энтузиастов. Скажем, Петь...

05 04 2024 21:54:55

Фантастический ореол. Место Halo Wars 2 во вселенной Halo

Встань на защиту галактики в Halo Wars 2 Вчера на PC и Xbox One вышла Halo Wars 2 &mdash; продолжение одной из самых перспективных стратегий в индустрии. Рецензию мы написали еще за неделю до релиза, ну а в рамках этого материала попытаемся…|Игромания...

04 04 2024 13:53:41

Lucius

«…Если бы игры оценивались по гениальности задумки, Lucius без проблем получил бы от нас 10 баллов. Представьте себе Hitman, а лучше Manhunt, где в главной роли не киллер и не маньяк-шизофреник, а сам сын Люцифера!..»...

03 04 2024 7:41:39

Руководство и прохождение по "Red Orchestra: Ostfront 41-45"

Возможно, вас удивит, что статья по Red Orchestra публикуется спустя столько времени после выхода игры. Не удивляйтесь. Во-первых, благодаря 1С у российских игроков относительно недавно возникла возможность опробовать игру, а во-вторых, сетевые игры со...

02 04 2024 1:32:32

Играем: Аллоды онлайн

«…Пусть не все задания оригинальны, как хотелось бы, и весомую часть составляют стандартные «отнеси — поговори — собери 15 шкурок», встречаются тут и вправду чудесные находки. И мы с удовольствием бегали «откачивать» полудохлого гибберлинга, проверяя три...

01 04 2024 7:34:42

Sudden Strike 3: Arms for Victory

тяжелая, громоздкая и неповоротливая постановка.Спopное новшество разработчиков — бесконечные подкрепления как с вашей, так и с вражеской стороны. Чтобы пройти миссию, необязательно под корень вырезать все живое на карте, достаточно выполнить постав...

31 03 2024 17:27:30

Silverfall: Earth Awakening 

осталась очередной неудачной попыткой свергнуть Diablo: с забавной картинкой и перекошенным балансом, который, собственно, и губил все прекрасное в зародыше. Игрок буквально захлебывался в компоте из монстров, тонн бесполезного хлама и обесцененных дензна...

30 03 2024 22:24:27

Обзор Imperator: Rome. Шведы правят Римом

В современной игровой индустрии осталось не так много студий, способных порадовать фанатов по-настоящему больших стратегий. Firaxis Games молчит, разpaбатывая дополнения к Civilization VI&nbsp;(относительно казуальной). Creative Assembly в…|Игромания...

29 03 2024 10:53:33

Руководство и прохождение по "Wings of War"

Последним смеется тот, кто стреляет первым. Александр Лебедь Каждый разработчик авиасимулятора сталкивается с дилеммой: сделать игру максимально похожей на настоящий мир или доступной для неискушенного игрока. Есть два общепринятых пути решения э...

28 03 2024 2:25:47

Отечественные локализации. Враждебные воды

Компания Sonalysts Combat Simulations всегда славилась тем, что создавала (сначала совместно с Jane's Combat Simulations, а теперь — в одиночку) сложнейшие симуляторы, которые по реалистичности почти не уступают военным тренажерам. Но если раньше...

27 03 2024 15:48:33

Анк 2: Принц Египта

Игру Ankh, вышедшую ровно год назад, многие ошибочно приняли за «что-то детское», хотя на самом деле это был весьма милый «семейный» квест с тысячей заимствований (весьма, кстати, удачных) из культовых приключений от Sierra и LucasArts. Сегодняшнее про...

26 03 2024 17:30:24

За истекший месяц. Новости внекомпьютерных игр

   НОВОСТИ РОЛЕВЫХ ИГР    Новинки от White Wolf Games    Компания White Wolf Games, известная по своим ролевым играм в жанре современных ужасов — "Вампиры: М...

25 03 2024 14:14:33

Самые ожидаемые фильмы 2020. Часть 1: от «Хищных птиц» до «Чёрной вдовы»

Подходит к концу январь &mdash; время, в которое голливудские студии выпускают в кинотеатры свои самые сомнительные проекты, а российские прокатчики дожимают последние соки из новогодних праздников. Зато в оставшиеся одиннадцать месяцев нас ждёт…|Игромания...

24 03 2024 1:13:54

В центре внимания "Syberia II"

"...судя по этой одной-единственной загадке, "квестовый дизайн" Syberia II ничуть не изменился со времен первой части. Все как и прежде: просто, логично и доступно..."...

23 03 2024 1:38:34

Shogun Total War: The Mongol Invasion

"...для тех, кто не знает, что такое Shogun (хотя я уверен, что таких немного), расскажу немного о гeймплее. STW — тактическая стратегия. Гeймплей делится на две части — хозяйственную и боевую. В первой мы на глобальной карте обустраиваемся на захваченных...

22 03 2024 22:16:35

В центре внимания

   "Центр внимания" номер за номером являет нам чудеса, о которых я, редактор раздела, порой даже не подозреваю! Вот, к примеру, наш предельно штатный корреспондент и по совместительству замглавреда Святослав Торик посреди лета неожиданно...

21 03 2024 3:51:41

Руководство и прохождение по "Land of Chaos Online"

Чужой успех порождает желание его повторить. Land of Chaos Online — один из таких подражателей, но вот чей? И ведь на первый взгляд не ясно, чей именно успех норовят воспроизвести корейские разработчики — Guinsoo и Еul'a или, может быть, успех Blizzard ил...

20 03 2024 7:25:21

Самое интересное в мае: от игры Prey (2017) до супергеройской Injustice 2 и новых «Пиратов Карибского моря»

Prey &mdash; 5 мая (PC, PS4, Xbox One) В процессе разработки создатели поочередно отбросили несколько концепций, в результате чего новая Prey растеряла всю связь с оригиналом. Нет больше индейца Томми, мира духов, игр с порталами и странного…|Игромания...

19 03 2024 3:59:14

Dreamkiller

«...По замыслу авторов, средства расправы с монстрами игроку любезно предоставляет подсознание пациентов, так что ни одна огнестрельная единица в Dreamkiller не выглядит так, словно ее мог придумать психически здоровый человек...»...

18 03 2024 16:40:35

Зачем ноутбуку два дисплея? ASUS ROG Zephyrus DUO 15 GX550

В 2019 году ASUS выпустила первую линейку ноутбуков с двумя дисплеями &mdash; это были ZenBook Pro Duo и ZenBook Duo, предназначенные в первую очередь для рабочих задач (например, обработки графики и видео). А вот в этом году появился первый…|Игромания...

17 03 2024 5:49:13

Руководство и прохождение по "Turok"

Turok — серия почтенная. Признание она получила благодаря множеству интересных находок в игровом процессе. Это и стрельба из лука, и битвы против динозавров, и путешествия во времени... Однако продолжения не развивали идею, а топали по проторенно...

16 03 2024 4:14:23

Киберспорт. Warhammer 40000: Dawn of War

Тактика игры за космодесантников В начале игры несколько отрядов скаутов захватывают ближайшие Strategic Points. Warhammer 40000: Dawn of War изначально планировался как игра,...

15 03 2024 1:58:42

Руководство и прохождение по "Hidden & Dangerous"

ИГРА Сделать свой первый проект продаваемым - задача не из легких. А уже добиться признания и почитания со стороны игровых масс, выпустив всего один готовый продукт, это вообще нечто на грани фантастики. Тем не менее, чешской фирме Illusion S...

14 03 2024 0:47:52

Обзор Cyberpunk 2077. У CD Projekt Red получилось

Кто бы что ни говорил о CD Projekt Red, по одному пункту студия безусловно заслуживает уважения: она постоянно растёт, рискует и развивается &mdash; как технологически, так и творчески. С каждым новым &laquo;большим&raquo; релизом…|Игромания...

13 03 2024 4:18:57

Инди-перспективы: Dark Train

&laquo;Инди-перспективы&raquo; &mdash; это авторская колонка Марии Кравцовой, где она рассказывает о независимых играх. Прежде чем уйти в сферу инди, Мария работала над сценариями в Mail.Ru и Social Quantum. Осенью вместе со студией…|Игромания...

12 03 2024 13:37:51

Играй везде! Обзор современных мобильных игровых платформ

на сегодняшний день существует аж три основных направления развития мобильных игр: специализированные игровые приставки (GBA, PSP, N-Gage), КПК и мобильные телефоны. Какое из этих направлений может похвастаться наиболее впечатляющими достижениями, у кого...

11 03 2024 10:56:45

Гайд. Genshin Impact Аяка. Лучшие билды, оружие, артефакты

Величественная наследница клана Камисато, благородная и изящная Аяка, заставит ваших врагов остолбенеть в прямом смысле этого слова: с ней проще простого держать противников в постоянной заморозке. Сильные и слабые стороны Аяки Плюсы Высокий базовый…|Игромания...

10 03 2024 0:24:31

Неслабое звено. Обзор видеокарты MSI N285GTX Super Pipe 2G

с повышением разрешения отрыв флагмана увеличивается, во многом благодаря внушительному объему памяти. Так, при разрешении 1280x1024 в Crysis Warhead превосходство GTX 285 над GTX 275 составляет 4%, а при 2560x1600  — уже 23%...

09 03 2024 20:40:31

Еще:
Игры -1 :: Игры -2 :: Игры -3 :: Игры -4 :: Игры -5 :: Игры -6 :: Игры -7 :: Игры -8 :: Игры -9 :: Игры -10 :: Игры -11 :: Игры -12 :: Игры -13 :: Игры -14 :: Игры -15 :: Игры -16 :: Игры -17 :: Игры -18 :: Игры -19 :: Игры -20 :: Игры -21 :: Игры -22 :: Игры -23 :: Игры -24 :: Игры -25 :: Игры -26 :: Игры -27 :: Игры -28 :: Игры -29 :: Игры -30 :: Игры -31 :: Игры -32 :: Игры -33 :: Игры -34 :: Игры -35 :: Игры -36 :: Игры -37 :: Игры -38 :: Игры -39 :: Игры -40 :: Игры -41 :: Игры -42 :: Игры -43 :: Игры -44 :: Игры -45 :: Игры -46 :: Игры -47 :: Игры -48 :: Игры -49 :: Игры -50 :: Игры -51 :: Игры -52 :: Игры -53 :: Игры -54 ::