Игровой конструктор, часть 2. Интерфейс и управление > Minecraft истории
истории Minecraft    

Игровой конструктор, часть 2. Интерфейс и управление

Игровой конструктор, часть 2. Интерфейс и управление

Самопал Игровой конструктор, часть 2. Интерфейс и управление 024.11.2004 12:46  |  “В прошлой статье цикла мы приступили к созданию трехмерного движка с помощью Delphi и GLScene. Сегодня мы продолжим закладывать кирпичи в высокое здание компьютерной игры и создадим собственное игровое управление и интерфейс (или HUD) Самопал    В прошлой статье цикла мы приступили к созданию трехмерного движка с помощью Delphi и GLScene. Сегодня мы продолжим закладывать кирпичи в высокое здание компьютерной игры и создадим собственное игровое управление и интерфейс (или HUD). Товарищи, те, кто присоединился к нам только с этого номера, все внимание сюда! Чтобы понять все, что написано в этой статье, вам просто необходимо прочитать первый материал цикла. Так же и для всех последующих частей: чтобы их понять, нужна только первая статья, остальные не обязательны. Поэтому первая часть статьи отныне и до момента завершения цикла будет базироваться на наших CD/DVD в разделе “ИнфоБлок”. Тем же, кто с нами с самой первой статьи, совет: перед прочтением каждой следующей статьи цикла перечитывайте первую часть.

    Джойстик носатый и мышь хвостатая!
   
В любой игре гeймер управляет своим заэкранным альтер эго с помощью разнообразных устройств: клавиатуры, мыши, джойстика, гeймпада, виртуальными перчатками, а иногда даже взглядом! Чем больше игра поддерживает устройств управления, тем лучше. Стандарт де-факто для стратегических игр мышь и клавиатура. В экшенах и аркадах к необходимому минимуму добавляются джойстик и гeймпад. В вашей игре просто обязан быть этот минимум. Вы спросите, зачем, к примеру, той же “Контре” джойстик, если настоящие джедаи выбирают мышь? У разных людей разные вкусы. В США, например, самым популярным игровым устройством является вовсе не мышь, а гeймпад. Надеюсь, я убедил вас, что поддержка хотя бы этих четырех устройств необходима. А теперь поговорим о том, как эту самую поддержку внедрить в движок.
    Для начала решим один очень важный вопрос: куда мы поместим код, обpaбатывающий устройства ввода?
Вроде бы его стоит поместить туда, где и требуется проверка реакции игрока: в код, который отвечает за оружие; в код, который отвечает за движение; в код, который отвечает за... И получается, что код управления будет размазан по всему движку. А как же наш принцип кирпичиков? Не дело это. Код управления должен быть цельным. Лучше место для кода обработчик TGLCadencer.
Как ни странно, с точки зрения GLScene все эти устройства джойстики.
    Многие начинающие программисты недоумевают, зачем вообще нужен этот компонент?! Казалось бы, код надо привязывать к событиям, а не к какому-то там таймеру. Но Модулятор (именно так переводится Cadencer) не просто таймер. Интервал, с которым сpaбатывает его событие, постоянно меняется и зависит от скорости рендера. В обработчик передается важнейшая переменная deltaTime время, которое прошло с момента предыдущего рендера. Именно к этому времени надо привязывать все движения в игре.
    Поясню на примере. Допустим, вы делаете гоночный симулятор, и в каком-то неопределенном пока обработчике клавиатуры написали что-то вроде:
    Если нажата клавиша “вперед”, положение машины:=положение машины + 10
   
Так как обработчик будет сpaбатывать только в перерывах между рендером кадров, а приращение координаты машины каждый раз одно и то же, скорость машины будет зависеть от FPS, то есть в конечном счете от производительности компьютера. На быстрых компьютерах машина будет ездить со скоростью 300 км/ч, на медленных выдавать только 100, а на графических станциях вообще полетит со скоростью paкеты! В довершение картины представьте, что вы с вашим другом играете по сети, и у него машина едет быстрее только потому, что мощнее компьютер. Согласитесь, несправедливо? Вот чтобы такого не случалось, придумали Cadencer. В его обработчике вы можете написать так:
    Если нажата клавиша “вперед”, положение машины:=положение машины + 0,01* deltaTime
   
Коэффициент перед deltaTime подбирается экспериментально. Вот теперь машина будет ездить с одинаковой скоростью на любых компьютерах. Это же относится и к любым другим движущимся или меняющимся во времени игровым объектам. Поэтому TGLCadencer один из центральных элементов нашего движка, и код работы с устройствами мы поместим именно в его обработчик.
    Казалось бы, с клавиатурой и мышью никаких проблем нет назначаем соответствующие события OnKeyDown и OnMouseMove главной формы и там описываем все необходимые действия... И нарываемся на подводный камень. Так делать категорически нельзя, особенно в том случае, если игра будет
В action-играх HUD, как
правило, незамысловатый:
индикатор патронов, здоровья
и фрагов что еще нужно
для гeймерского счастья?
В некоторых случаях цифры
индикаторов лучше делать
не с помощью THUDText, а с
помощью отдельных спрайтов.
работать в полноэкранном режиме. Для полноэкранного режима GLScene создает особый тип окна, который несколько неадекватно реагирует на стандартные обработчики событий клавиатуры и мыши. Чаще всего в момент нажатия клавиши или кнопки мыши рендерер “запинается”, гeймеру кажется, что игра тормозит. Поэтому код для работы с устройствами нам придется написать самостоятельно, благо дело это не особенно сложное.
    Разработчики GLScene предусмотрели многие препятствия, которые могут попасться на нашем пути, и загодя постелили соломку. А соломка эта выражается в специальном модуле Keyboard.pas. Пусть вас не смущает название там не только о клавиатуре. Подключите его в uses модуля, в котором будете обpaбатывать сообщения от устройств. Давайте посмотрим, какие возможности дает модуль.
    Клавиатура. Чтобы определить, нажата ли какая-то клавиша в данный момент времени, используйте функцию IsKeyDown. Например:
    If IsKeyDown(VK_UP) then Tank.Go(deltaTime)
   
Клавишу для проверки надо задавать виртуальным кодом. Полный список виртуальных кодов клавиш вы найдете в справке Delphi. Самые распространенные коды приведены на отдельном текстовом блоке.
    Еще одна полезная пара функций из этого модуля: KeyNameToVirtualKeyCode и VirtualKeyCodeToKeyName. Они конвертируют виртуальный код клавиши в символьное имя, принятое в системе, и наоборот. Эти функции пригодятся, когда вы будете делать переназначение клавиш. Игрок должен иметь возможность переназначить управление по своему вкусу. Реализовать это можно разными способами. В конце главы я приведу ключевую функцию из одной из моих игр, которая как раз и реализует переназначение клавиш.
    Мышь. Здесь нам надо решить две задачи: обработка нажатий кнопок мыши и отслеживание положения указателя мыши (курсора или прицела). Первая задача решается очень просто с помощью все того же IsKeyDown. Коды левой, средней и правой клавиши мыши соответственно VK_LBUTTON, VK_MBUTTON и VK_RBUTTON. Вторая задача не намного сложнее. Сперва объявите в var нужного обработчика вот такую переменную:
    p:TPoint;
   
В TPoint.X и TPoint.Y мы будем сохранять горизонтальную и вертикальную координаты мыши. Теперь с помощью комaнды GetCursorPos из WinAPI можно легко получить искомые координаты:
    getcursorpos(p);
   
На пpaктике часто важно знать не координаты мыши, а изменение координат с предыдущей проверки. Для этого объявите глобальные переменные:
    mx, my,dx,dy : Integer;
    А теперь в том же коде сразу после вызова GetCursorPos напишите:
    dx:=p.X-mx;
    dy:=p.Y-my;
   
Вот наглядный пример того, как эти изменения координат можно использовать:
    Player.Weapon.MoveUp(dx);
    Player.Weapon.MoveLeft(dy);
   
Естественно, если dx отрицательный, MoveUp вопреки названию не поднимет оружие, а опустит. То же относится и к MoveLeft. Объекты Player и Weapon здесь просто придуманы, для движка они ничего не значат. Более подробно о том, как правильно организовать иерархию классов движка, мы поговорим в следующей статье цикла.
    Джойстик. Давайте условимся, что за джойстики у нас с вами сойдут любые устройства, имеющие некоторое количество кнопок и некоторое количество рычажков с некоторым количеством степеней свободы. С точки зрения программирования гeймпады, рули, педали и прочие подобные девайсы ничем от джойстиков не отличаются.
Иногда разработчики
интегрируют HUD и игровые
объекты. Это способствует
погружению в игровой мир.
    Для работы с джойстиками в GLScene есть специальный компонент TJoystick. Перед употрeблением настройте его свойство Threshold (порог чувствительности), а свойству NoCaptureError присвойте true, иначе, в случае если джойстик в системе не установлен, будет выдаваться ошибка. Перед началом работы присвойте свойству Capture значение true и можете снимать данные. За отклонение главной палки джойстика отвечают свойства TJoystick.XPosition и TJoystick.YPosition. Если эти свойства равны нулю, отклонения джойстика нет. Положительное значение свойства соответствует отклонению вверх или вправо, отрицательное вниз или влево, а само значение пропорционально углу отклонения. Все нажатые в данный момент клавиши джойстика автоматически заносятся в набор JoyButtons. С этим типом данных вы еще не встречались. Определить, содержится ли элемент в наборе, можно таким образом:
    If (элемент in имя_набора) then {элемент в наборе}
   
Элементы, соответствующие кнопкам джойстика, называются jbButton1, jbButton2, jbButton3 и т.д. И, наконец, вот так вы сможете определить, нажата ли та или иная кнопка:
    if (jbButton1 in Joystick.JoyButtons) then {нажата первая кнопка}
   
Напоследок, как и обещал, приведу свой код для переназначения клавиш:
    function IsItKeyDown(sKey:string):boolean;
    begin
    if KeyNameToVirtualKeyCode(sKey)<>-1 then
    begin
    if IsKeyDown(KeyNameToVirtualKeyCode(sKey)) then result:=true else result:=false;
    exit;
    end else
    begin
    result:=false;
    if (jbButton1 in form1.joystick.JoyButtons) and (sKey=\'jbButton1\') then result:=true;
    if (jbButton2 in form1.joystick.JoyButtons) and (sKey=\'jbButton2\') then result:=true;
    if (jbButton3 in form1.joystick.JoyButtons) and (sKey=\'jbButton3\') then result:=true;
    if (jbButton4 in form1.joystick.JoyButtons) and (sKey=\'jbButton4\') then result:=true;
    end;
    end;
   
Везде, где нужно проверить, нажата ли определенная клавиша, пользуйтесь таким вызовом:
    If IsItKeyDown (c_forward) then {нажата клавиша вперед}
   
В с_forward перед началом работы игры должно хранится название назначенной для действия “Вперед” клавиши. Аналогично поступайте со всеми остальными действиями, которые подлежат переназначению.

В стратегиях и тактических
играх HUD обычно куда
серьезнее, чем в играх жанра
action. В таких случаях для
каждого смыслового экрана
игрового интерфейса удобнее
выделить отдельный
TGLDummyObject, чтобы
их можно было легко показывать
и убирать с экрана.
    От общего к частному
    Что общего у шлема боевого летчика и компьютерной игры? У обоих есть HUD! Это словосочетание расшифровывается как Head Up Display и на русский язык однозначно не переводится. На шлемах боевых летчиков многих современных самолетов есть прозрачные дисплеи, на которых показываются параметры вооружения, целеуказатель и многие другие данные, необходимые в воздушном бою. С легкой руки разработчиков авиасимуляторов этот термин стал относиться не только к спецдисплею, но и к экранному интерфейсу вообще. Теперь под страшным словом HUD скрывается все, что находится на экране во время игры, но непосредственно не относится к игровому миру: очки, жизни, фраги, пиктограммки оружия, радар, списки юнитов и зданий для постройки и многое другое. Как правило, HUD двумерный, то есть рисуется спрайтами поверх всей остальной сцены. По-настоящему трехмерные игровые интерфейсы встречаются крайне редко. Мы поговорим о создании классических двумерных HUD.
    Для создания HUD в GLScene есть два класса TGLHUDSprite и TGLHUDText для спрайтов и текста соответственно. Эти объекты обладают рядом особенностей. Во-первых, они существуют только в двумерном прострaнcтве, а их координата Z определяет только порядок отрисовки, то есть какие объекты будут поверх в случае пересечения. Во-вторых, положение HUD-объектов на экране не зависит от того, куда направлена камера их координаты абсолютны. Точка с координатой (0,0) находится в верхнем левом углу экрана, ось X идет вправо, а ось Y вниз. В-третьих, у них особые отношения к свойствам прозрачности.
    Вряд ли ваш HUD будет состоять из одного-двух спрайтов. В среднестатистической игре их как минимум десяток. Так как перечень объектов, входящих в HUD (давайте условимся для краткости называть их просто спрайтами), неизменен в течение всей игры, их можно создать на этапе разработки игры, добавив нужные объекты с помощью GLScene Editor (напоминаю, для вызова этого редактора надо два раза кликнуть по иконке компонента TGLScene). Только не стоит добавлять объекты, относящиеся к HUD, в корень. Создайте объект-пустышку TGLDummyСube, сделайте его невидимым и уже в список его подобъектов добавляйте все, что относится к HUD. Теперь просто изменив свойство Visible у TGLDummyСube, вы можете одним махом убрать весь интерфейс с экрана (он ведь не нужен во время показа заставочных роликов или когда гeймер находится в игровом меню) и так же легко его вновь показать.
Перед проектированием HUD о
бязательно нарисуйте скетч-
макет. На нем очень удобно
планировать взаимодействие
и сопряжение различных
спрайтов, из которых состоит
игровой интерфейс.
    Нужное количество спрайтов мы создали, теперь подумаем о том, как их инициализировать. Ни в коем случае не присваивайте жесткие координаты спрайтам через Object Inspector, если только ваша игра не будет поддерживать одно-единственное разрешение (а это дурной тон). Причем тут поддержка разрешений? А вот причем. Допустим, вы создаете игру в разрешении 1024х768 и жестко задали все хаpaктеристики спрайтов. Игрок, переключившись в разрешение 800х600, увидит, что все спрайты сбились в кучу и стали неимоверно большими. Если он переключится в 1600х1200, то все спрайты будут мелкими, да и к тому же спрайты, которые должны быть с правой и нижней сторон экрана, неожиданно окажутся в центре. Проще говоря, весь интерфейс развалится на кусочки. Поэтому координаты и размеры спрайтов должны быть привязаны к текущему разрешению.
    В одной из следующих статей цикла мы поговорим о том, как работать с разрешениями, так как это отдельная интересная тема. Пока представьте себе, что у нас есть две глобальные переменные res_x и res_y, в которых хранятся ширина и высота экрана в пикселах. В тестовых целях вы можете присвоить им нужные значения вручную.
    Есть два подхода к обработке разрешений. В первом случае вы создаете столько копий каждого спрайта, сколько разрешений будет поддерживать игра. Каждая копия будет “заточена” под определенное разрешение. Этот способ дает очень качественный интерфейс, но... придется потратить много времени на отрисовку. Во втором случае вы программно растягиваете спрайты до нужных размеров. Качество слегка страдает, но и хранить ничего дополнительно не нужно. Обычно эти два способа сочетаются: игроделы создают несколько копий спрайтов для базовых разрешений, а для всех остальных разрешений ближайшая по размерам копия растягивается до нужного размера.
Структура будущего HUD
в окошке GLScene Editor.
Все HUD-спрайты являются
подобъектами “пустышки”
Radar.
    Для примера приведу код для второго способа. Выберите какое-либо базовое разрешение, для которого будете создавать спрайты. Допустим, базовое разрешение 1024х768. Тогда в коде, который вызывается при запуске игры, напишите для каждого HUD-спрайта:
    HUDSprite.Material.Texture.Disabled:=false;
    HUDSprite.Material.Texture.Image.LoadFromFile(‘HUDSprite.bmp’);
    HUDSprite.Material.BlendingMode:=bmTransparency;
    HUDSprite.Material.Texture.ImageAlpha:=tiaSuperBlackColorTransparent;
    HUDSprite.Material.Texture.TextureMode:=tmModulate;
    HUDSprite.Position.X:=120*res_x/1024;
    HUDSprite.Position.Y:=100*res_y/768;
    HUDSprite.Width:= HUDSprite.Material.Texture.Image.Width*res_x/1024;
    HUDSprite.Height:= HUDSprite.Material.Texture.Image.Height*res_y/768;
   
Цифры 120 и 100 соответствуют координатам данного спрайта в разрешении 1024х768. Простая школьная пропорция перемещает спрайт в нужное место и масштабирует его при смене разрешения.
    Проблему с разными разрешениями мы решили. А теперь поговорим о не менее важной вещи разных уровнях прозрачности. В коде выше вы наверняка заметили несколько строк, посвященных режимам прозрачности. Ни один более или менее сложный HUD не может состоять только из квадратных спрайтов. Приборные щитки, фигурные меню, радар, изгибы панелей как реализовать все эти нестандартные формы? Здесь нам поможет первый уровень прозрачности. Какую-то часть квадратного спрайта мы должны сделать абсолютно прозрачной, тогда спрайт будет иметь фигурную форму. Проще всего это сделать так. Нарисуйте нужный спрайт, и все места, которые должны быть прозрачными, закрасьте абсолютно черным цветом (цвет RGB(0,0,0)). Внимание! Если в видимой части спрайта также используется черный цвет, в этом месте будет дырка. Поэтому вместо черного цвета используйте чуть-чуть серый (к примеру, RGB(1,0,0)). “На глаз” от черного такой цвет отличить невозможно.
Свойства TGLHUDSprite,
которые относятся к
текстурам и
прозрачности.
Обязательно изучите их.
    Теперь загружайте эту картинку в объект спрайта, а остальное сделают вот эти две строчки:
    HUDSprite.Material.BlendingMode:=bmTransparency;
    HUDSprite.Material.Texture.ImageAlpha:= tiaSuperBlackColorTransparent;
   
Первая устанавливает режим прозрачности, а вторая указывает, какие именно области изображения будут прозрачными. В нашем случае все области, закрашенные черным цветом. Есть и другие способы задания прозрачных зон. К примеру константа tiaTopLeftPointColorTransparent устанавливает режим, при котором цветом прозрачности будет цвет верхней левой точки изображения.
    Часто бывает необходимо сделать полупрозрачным весь спрайт. За общую прозрачность отвечает свойство AlphaChannel. Значение 1 соответствует абсолютной непрозрачности, значение 0 абсолютной прозрачности. Чтобы спрайт стал полупрозрачным, задайте какое-нибудь дробное число от 0 до 1.
    Есть еще один способ задания прозрачности спрайта, с помощью которого можно реализовать любой тип прозрачности. К примеру, часть спрайта будет полностью прозрачной, а часть полупрозрачной, причем эта полупрозрачность будет градиентной. С помощью этого способа можно делать поразительные эффекты. Цена повышенная ресурсоемкость по сравнению с уже рассмотренными способами. Речь идет об альфа-маске изображения. Самые популярные форматы, в которых есть альфа-маска bmp32 и tga. Файлы обоих форматов вы можете создать, например, в Photoshop. Мы рекомендуем использовать формат tga, потому что в нем предусмотрено сжатие. Использовать файлы с альфа-маской в GLScene совсем несложно:
    HUDSprite.Material.BlendingMode:=bmTransparency;
    HUDSprite.Material.Texture.Image.LoadFromFile(‘HUDSprite.tga’);
   
Все остальные свойства, связанные с прозрачностью, не трогайте в них должны оставаться значения по умолчанию. С помощью последнего приема вы сможете сделать любые интерфейсы, какие только придумаются. Однако если какой-то конкретный спрайт можно реализовать с помощью первого способа делайте именно так, ведь производительность дороже всего.
    Напоследок приведу одно важнейшее правило работы с любыми текстурами, в том числе и для спрайтов. О нем, увы, забывают порой даже профессиональные разработчики, что кончается серьезными графическими глюками. У любой текстуры должны быть стороны, кратные степеням двойки, то есть из ряда 4, 8, 16, 32, 64, 128, 256, 512, 1024 и далее по списку. Это требование связано с особенностями организации видеопамяти. Самое малое, что вы можете получить, нарушив его, темные полосы непонятного происхождения по краям полупрозрачных спрайтов. И если на каком-то этапе разработки у вас на каких-то текстурах вдруг появились непонятные артефакты в первую очередь проверьте, какие у них размеры.

    Коды клавиш

Клавиша Код Клавиша Код
Стрелка вперед VK_UP Enter VK_RETURN
Стрелка назад VK_DOWN Esc VK_ESCAPE
Стрелка вправо VK_RIGHT Alt VK_MENU
Стрелка влево VK_LEFT Ctrl VK_CONTROL
Пробел VK_SPACE Shift VK_SHIFT

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


Интервью с Томми Талларико, организатором Video Games Live. «Это шоу про вас»

Video Games Live этой весной планирует отметиться в России, поэтому мы встретились с Томми Талларико — игровым композитором, гитаристом и главным организатором этого шоу....

19 04 2024 0:48:22

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

Офлайновый онлайн Или онлайновый офлайн? Что-то мы запутались&hellip; [[BULLET]] Замяукали котята: «Надоело нам мяукать&#33; Мы хотим, как поросята, хрюкать&#33;» Несколько недель Diablo 3 пыталась притвориться офлайновой…|Игромания...

18 04 2024 8:54:34

Коды по "King’s Bounty: Легенда о рыцаре" (читательские пасхалки)

В центре Восточных островов свободы на якоре стоит корабль «Черное око». Капитан рассказывает историю о том, что корабль был проклят и ночью его комaнда превращается в живых мертвецов. Очевидная отсылка к фильму «Пираты Карибского моря». — Joker63...

17 04 2024 9:20:48

Legends of Dawn

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

16 04 2024 23:58:45

Batman: The Brave and the Bold

«…Возможностей и простора для импровизации здесь чуть ли не больше, чем в Arkham Asylum. Помимо ожидаемых возможностей Бэтмена пускать бэтаранг, цепляться крюком за выступы и минировать стены, разрешается также жарить врагов электрошоком, приделать к плащ...

15 04 2024 0:19:53

The Testament of Sherlock Holmes

«…Разработчики постарались максимально разнообразить игру, насколько позволил бюджет: улучшенная система диалогов, мини-игры (к примеру, в одном эпизоде дадут поиграть за собачку), большее количество роликов, статистов и деталей — все это позволяет думать...

14 04 2024 19:48:43

APB: Reloaded

«…Жизнь в Сан-Паро, где происходит действие, далека от мечтаний. Улицы беспокойного городка оглашает свист пуль, протяжный вой сигнализаций ограбленных магазинов и истошные вопли прохожих, которых под дулом пистолета заставляют выворачивать карманы. Чтобы...

13 04 2024 9:15:31

Test Drive Unlimited 2

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

12 04 2024 20:46:11

Тест ноутбука Alienware M15. Я легенда!

Сегодня на тестах Alienware m15. Эти ноутбуки зацепили нас еще, наверное, лет десять назад. Причём мы уже даже не помним, на чём они работали, насколько удачными были, но их дизайн засел где-то в подкорке. И Dell после покупки Alienware до сих пор…|Игромания...

11 04 2024 3:29:56

Нефтедоллары онлайн. Frontlines: Fuel of War

...сокращение запасов нефти и растущие на нее цены приведут к голоду и Третьей мировой войне. В конфликте с одной стороны участвует НАТО, которое теперь называется «Коалиция», а с другой — внимание! — «Красный союз». По...

10 04 2024 2:40:41

Впечатления от Valorant нового шутера Riot Games. Провал или убийца CS:GO?

В следующем году у Counter-Strike будет юбилей: исполнится целых 20 лет с тех пор, как легендарный шутер стал киберспортивной дисциплиной. Простая формула комaндного боя тогда заразила компьютерные клубы. Ради тридцати минут на Mansion, Dust или…|Игромания...

09 04 2024 23:23:10

Art of War

заявлять о том, что ваш проект будет в равных пропорциях смешивать BioShock, Call of Duty и Medal of Honor, могут только очень наглые или очень талантливые люди...

08 04 2024 5:52:35

Киберспорт на DVD 

Warcraft 3: в шаге от победыВ течение этого года одним из наиболее результативных игроков по праву считается 4K-Creolophus, взявший серебро на ESWC 2007, а позже поднявшийся на высшую ступень пьедестала на Blizzard World Invitational. Казалось бы,…|Игромания...

07 04 2024 0:38:29

Обзор Need for Speed: Payback. Жажда микротранзакций

Я жил тёплыми воспоминаниями о двух частях Need for Speed: Underground. О холодных ночных улицах, о ливнях и ярком отражении неоновых огней под моей заряженной Toyota Celica, о дыме из-под покрышек в момент самого последнего поворота на девятом…|Игромания...

06 04 2024 18:32:13

Tunnel Rats 

Те наши читатели, которые следят за творческими успехами режиссера Уве Болла, знают, что в последнее время этот прекрасный человек несколько отошел от бесконечных экранизаций и занялся каким-то экстремальным арт-хаусом. Совсем скоро выйде...

05 04 2024 16:32:12

Краткие обзоры. Локализация. Скорая помощь 2

Каждый ребенок хоть раз да играл "в доктора". Для взрослого человека это уже, прямо скажем, неприлично — но поиграть иногда все равно хочется. Для всех желающих ощутить, что это такое — ответственность за чужую жизнь, — Legacy Interactive выпустила про...

04 04 2024 7:44:16

Dreamfall: The Longest Journey

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

03 04 2024 2:15:16

«Старкон-2015»: фотоотчет

Пролетел год, и вот мы снова в &laquo;Ленэкспо&raquo; &mdash; на шестнадцатом ежегодном международном фестивале поклонников фантастики. На три дня все гики России и ближнего зарубежья получили возможность выбраться из скучных (как…|Игромания...

02 04 2024 16:17:15

Обзор сериала «Локи». Бог самообмана

Год простоя Marvel решила компенсировать ковровой бомбардировкой. Прямо сейчас за каждый цент сражается &laquo;Чёрная Вдова&raquo;, через полтора месяца нагрянет &laquo;Шан-Чи&raquo;, потом выйдут &laquo;Вечные&raquo;, а там…|Игромания...

01 04 2024 11:19:40

10 лучших стелсов десятилетия. От Mark of the Ninja до Metal Gear Solid V

&nbsp; О номинации Говорят, умный в гору не пойдёт, умный гору обойдёт. Если так, то стелс-экшены &mdash; точно не для заурядных умов: в большинстве представителей жанра обходные пути и хитрые лазейки &mdash; не возможная опция, а острая…|Игромания...

31 03 2024 11:39:48

Encore!

«…Основа боевой системы «Онейт» — музыкальные комбо (или композиции?). Сыграли две ноты — с гитары слетел разряд молнии. Сыграли три — получился гравитационный толчок в стиле Star Wars. Казалось бы, обычные файтинговые суперудары, только под музыку, а не...

30 03 2024 14:25:27

World DotA Championship 2011. Китай вернул утраченное

Конец года для любителей &laquo;Доты&raquo; выдался насыщенным. Сперва новую игру продемонстрировали на DotA II International от Valve, а следом прошли мировые финалы ESWC в Париже, о которых мы писали здесь. Эти громкие события немного…|Игромания...

29 03 2024 21:44:49

Хищники нашего века

«…Оригинальный «Хищник» Джона Мактирнана вышел в июне 1987 года — и оказалось, что про душные джунгли, рестлеров с большими пулеметами и наряженного резиновым инопланетянином каскадера (которого все равно большую часть фильма не видно из-за хамелеоньего к...

28 03 2024 15:54:29

Первый взгляд. GTR: FIA GT Racing Simulation

SimBin Development Team — комaнда, пpaктически не известная в игровом мире. На ее счету пока лишь несколько неплохих модификаций для чужих игр. Впрочем, на сковородке уже пышет жаром и первый блин, испеченный в самостоятельной разработче...

27 03 2024 11:13:18

Insane 2

В 2000 году вышел Insane &mdash; многопользовательский автобоевик, где джипы, грузовики и багги выясняли отношения на пересеченной местности. Никаких заездов и трасс в игре не было — только открытые для беспредела карты и множество…|Игромания...

26 03 2024 21:29:54

Port Royale (Порт Роял)

"...Порт Ройял - название одной из испанских колоний в Карибском бассейне, так что на этот раз нам придется рассекать атлантические просторы в районе Кубы, Антильских, Каймановых и других тропических островов. Колонии на побережьях Северной, Южной и Центр...

25 03 2024 7:23:54

Anno 1404

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

24 03 2024 20:45:30

Игры в кино. Три фильма, которые расскажут об играх больше, чем сами игры 

В «Экзистенции» очень тонко подмечены особенности сюжетостроения и игрового дизайна девяностых, в особенности — дизайна квестов и RPG. Взять хотя бы завязку сюжета: третьестепенный персонаж поручает простому маркетинговому нерду Тед...

23 03 2024 20:55:14

Легенды и мифы вирусологии

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

22 03 2024 9:46:10

Содержание диска №4/2017

Special For Honor с профессионалами Съемочная группа Игромании отправилась в фехтовальный центр Паладин, чтобы обсудить игру с теми немногими, кто имеет реальный опыт рыцарских боёв в наши дни. С реконструкторами из клуба Байард: одного из самых…|Игромания...

21 03 2024 18:21:15

Самые скандальные увольнения в игровой индустрии

Игровая индустрия &mdash; место враждебное и довольно неприветливое. Посвящая самим играм немало времени, сил и денег, мы частенько забываем, что их разработка &mdash; это бизнес. А без чего не может обойтись ни один бизнес? Правильно, без…|Игромания...

20 03 2024 16:24:44

Цифровая жизнь

ПОСЛЕДНИЕ НОВИНКИ ИЗ МИРА ЦИФРОВОЙ ТЕХНИКИEpson P-5000 (цифровой фотоальбом на 80 Гб), HTC TyTN Deluxe (коммуникатор, с внушительным набором модулей беспроводной связи), iriver S10 (MP3-плеер на шею), Nikon Coolpix S10 (Nikon c поворотным дизайном), Orego...

19 03 2024 15:17:42

Immortal Souls: John Turner

«…Immortal Souls, как и другим претендентам на трон Puzzle Quest, не хватило той же глубины, свободы и разнообразия. Апгрейд экипировки, приручение монстров, поиск сокровищ, преодоление ловушек, отстройка и модификация своего жилища, побочные квесты — ни...

18 03 2024 12:48:21

Гайд: Genshin Impact Сахароза. Лучшие билды, оружие, артефакты после патча 1.6

Сахароза всегда была хорошим саппортом, но после патча 1.6 она стала ещё лучше! При этом она &mdash; один из самых &laquo;дешёвых&raquo; в прокачке персонажей по соотношению количества ресурсов к приносимой пользе. Недавнее усиление…|Игромания...

17 03 2024 11:50:27

Игрострой

Diablo своими руками Основы работы в редакторе Torchlight Прекрасно понимая, что мощный инструментарий &mdash; неотъемлемая составляющая хорошей ролевой игры, компания Runic Games решила заранее позаботиться о благополучии своего дебютного…|Игромания...

16 03 2024 21:55:56

The Elder Scrolls 4: Oblivion Knights of the Nine

...нам удалось без всяких проблем «подружить» английскую версию с официальным российским изданием оригинала. Итак, новшеств в Knights of the Nine, прямо скажем, маловато. Но нехватку количественных изменений авторы с лихвой компенсируют качест...

15 03 2024 10:22:19

Горячая линия: игрострой

24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru и по SMS на короткий номер 1121 с префиксом dev (в начале сообщения печатаете слово dev, а затем, через пробел, сам вопрос). Стоимость…|Игромания...

14 03 2024 20:15:55

Лучшие игры 2004

ПАРАД ЛУЧШИХ ИЗ ЛУЧШИХ: 1. Half-Life 2 * 2. The Sims 2 * 3. Far Cry * и еще 17 местНОМИНАЦИИ: Самая жестокая * Самая необычная * Провал года * Лучший звук * Лучший саундтрек * Самая инновационная * Лучший сюжетПЕРСОНАЛЬНЫЕ ХИТ-ПАРАДЫ от: Александра Кузьме...

13 03 2024 14:20:13

Краткие статьи. Zoo Tycoon: Dinosaur Digs

Соединив в одном зоопарке тварей, разделенных эволюцией минимум на 55 миллионов лет, они предлагают запихнуть их в одну клетку и посмотреть — а что будет? Как игуанодоны уживутся с гиенами, а мамонты — с пингвинами? Хотите попробовать?..”...

12 03 2024 0:36:19

Первый взгляд. Starship Troopers

Идея сделать игру по фильму “Звездный десант” появилась сразу же после его выхода на экран, в 1997 году. И это неудивительно, ведь картина получилась донельзя удачной даже несмотря на многочисленные упреки по поводу того, что лента...

11 03 2024 23:43:50

Мобильные развлечения

НОВОСТИ * ПОЛЕЗНОСТИ * УТИЛИТЫ * ИГРЫ“3D-очки для мобильников”, “Костоправы N-Gage”, “Приставки тоже умеют плеваться”, “МТС может стать крупнейшим контент-провайдером”, “Мобильные игры в России” * BMPViewer 1.0\\\\Gif View 1.0\\\\J...

10 03 2024 15:20:31

Софтверный набор

Гвоздь набора (гвоздь набора — Game Cam 1.4, видеокамера для гeймеров, прямой конкурент Fraps, притом бесплатный) * Свежатина! * Игроманский стандарт...

09 03 2024 15:57:35

Вердикт. School Tycoon

Лиц, желающих испытать на собственном горьком опыте, каково оно, сеять разумное-доброе-вечное, ждет с распростертыми объятьями этот тайкун. Директор частного пансиона — роль почтенная, но до чего же хлопотная! Возведение и обустройство нашего образова...

08 03 2024 2:52:33

Гайд: Genshin Impact Рэйзор. Лучшие билды, оружие, артефакты

Рэйзор, также известный как мальчик, воспитанный волками, возглавит вашу &laquo;стаю&raquo; и с лёгкостью разберётся с любыми обидчиками. Для четырёхзвёздочного персонажа у Рэйзора отличный физический и Электро урон &mdash; и при…|Игромания...

07 03 2024 4:53:38

Samurai Warriors 2 

как и у Warriors Orochi и Dynasty Warriors: рубилово, рубилово, рубилово на лошади, снова рубилово.  Только, во-первых, это про японцев (впрочем, главный образ серии — Куча Китайцев — все равно фигурирует), а во-вторых, бегать т...

06 03 2024 1:53:36

Алекс Джонс. Продюсер Capcom после выхода DmC: Devil May Cry

«…Перезагруженный Devil May Cry вышел и, кажется, всем понравился. Теперь и мы, и авторы можем выдохнуть спокойно: обновленный Данте в смешной майке ничего не поломал. В качестве постскриптума ко всей этой истории Алекс, курировавший разработку, рассказал...

05 03 2024 15:58:40

Обзор игры «Пираты Карибского моря: Сундук мертвеца»

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

04 03 2024 15:51:55

PlayStation Move Heroes

Джек и Декстер, Ратчет и Кланк, Слай и Бентли — для поклонников трехмерных платформеров (а именно сериалов Jak &amp; Daxter, Ratchet &amp; Clank и Sly Cooper) эти персонажи не нуждаются в представлении. Настоящие супергерои, главные…|Игромания...

03 03 2024 10:16:26

Руководство и прохождение по "Quake II Mission Pack: The Reckoning"

Наконец-то поклонники кровавого жанра 3D-action смогут купить достойное внимания продолжение игры Quake II, которое называется Quake II Mission Pack: The Reckoning. Сразу хочется отметить, что после игры Unreal, достоинства столь любимого...

02 03 2024 10:22:36

Первые ощущения от No Man’s Sky

В рубрике &laquo;Прямым текстом&raquo; автор выражает исключительно собственное мнение, которое может не совпадать с мнением редакции. Он волен это делать как угодно и в любом удобном для себя формате. Здесь можно всё. Я уже не раз на это…|Игромания...

01 03 2024 1:22:42

Еще:
Игры -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 ::