Игровой конструктор, часть 2. Интерфейс и управление
Джойстик носатый и мышь хвостатая!
В любой игре гeймер управляет своим заэкранным альтер эго с помощью разнообразных устройств: клавиатуры, мыши, джойстика, гeймпада, виртуальными перчатками, а иногда даже взглядом! Чем больше игра поддерживает устройств управления, тем лучше. Стандарт де-факто для стратегических игр мышь и клавиатура. В экшенах и аркадах к необходимому минимуму добавляются джойстик и гeймпад. В вашей игре просто обязан быть этот минимум. Вы спросите, зачем, к примеру, той же “Контре” джойстик, если настоящие джедаи выбирают мышь? У разных людей разные вкусы. В США, например, самым популярным игровым устройством является вовсе не мышь, а гeймпад. Надеюсь, я убедил вас, что поддержка хотя бы этих четырех устройств необходима. А теперь поговорим о том, как эту самую поддержку внедрить в движок.
Для начала решим один очень важный вопрос: куда мы поместим код, обpaбатывающий устройства ввода? Вроде бы его стоит поместить туда, где и требуется проверка реакции игрока: в код, который отвечает за оружие; в код, который отвечает за движение; в код, который отвечает за... И получается, что код управления будет размазан по всему движку. А как же наш принцип кирпичиков? Не дело это. Код управления должен быть цельным. Лучше место для кода обработчик TGLCadencer.
|
Поясню на примере. Допустим, вы делаете гоночный симулятор, и в каком-то неопределенном пока обработчике клавиатуры написали что-то вроде:
Если нажата клавиша “вперед”, положение машины:=положение машины + 10
Так как обработчик будет сpaбатывать только в перерывах между рендером кадров, а приращение координаты машины каждый раз одно и то же, скорость машины будет зависеть от FPS, то есть в конечном счете от производительности компьютера. На быстрых компьютерах машина будет ездить со скоростью 300 км/ч, на медленных выдавать только 100, а на графических станциях вообще полетит со скоростью paкеты! В довершение картины представьте, что вы с вашим другом играете по сети, и у него машина едет быстрее только потому, что мощнее компьютер. Согласитесь, несправедливо? Вот чтобы такого не случалось, придумали Cadencer. В его обработчике вы можете написать так:
Если нажата клавиша “вперед”, положение машины:=положение машины + 0,01* deltaTime
Коэффициент перед deltaTime подбирается экспериментально. Вот теперь машина будет ездить с одинаковой скоростью на любых компьютерах. Это же относится и к любым другим движущимся или меняющимся во времени игровым объектам. Поэтому TGLCadencer один из центральных элементов нашего движка, и код работы с устройствами мы поместим именно в его обработчик.
Казалось бы, с клавиатурой и мышью никаких проблем нет назначаем соответствующие события OnKeyDown и OnMouseMove главной формы и там описываем все необходимые действия... И нарываемся на подводный камень. Так делать категорически нельзя, особенно в том случае, если игра будет
|
Разработчики 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ймпады, рули, педали и прочие подобные девайсы ничем от джойстиков не отличаются.
|
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! Это словосочетание расшифровывается как 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ймер находится в игровом меню) и так же легко его вновь показать.
|
В одной из следующих статей цикла мы поговорим о том, как работать с разрешениями, так как это отдельная интересная тема. Пока представьте себе, что у нас есть две глобальные переменные res_x и res_y, в которых хранятся ширина и высота экрана в пикселах. В тестовых целях вы можете присвоить им нужные значения вручную.
Есть два подхода к обработке разрешений. В первом случае вы создаете столько копий каждого спрайта, сколько разрешений будет поддерживать игра. Каждая копия будет “заточена” под определенное разрешение. Этот способ дает очень качественный интерфейс, но... придется потратить много времени на отрисовку. Во втором случае вы программно растягиваете спрайты до нужных размеров. Качество слегка страдает, но и хранить ничего дополнительно не нужно. Обычно эти два способа сочетаются: игроделы создают несколько копий спрайтов для базовых разрешений, а для всех остальных разрешений ближайшая по размерам копия растягивается до нужного размера.
|
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)). “На глаз” от черного такой цвет отличить невозможно.
|
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 и далее по списку. Это требование связано с особенностями организации видеопамяти. Самое малое, что вы можете получить, нарушив его, темные полосы непонятного происхождения по краям полупрозрачных спрайтов. И если на каком-то этапе разработки у вас на каких-то текстурах вдруг появились непонятные артефакты в первую очередь проверьте, какие у них размеры.
Коды клавиш
|
* * *
Интерфейс игры готов, более того движок умеет общаться не только с клавиатурой, но и с мышкой, а также со всевозможными рулями, джойстиками, гeймпадами... В следующем номере вы узнаете, как правильно организовать иерархию игровых классов и объектов, чтобы не было мучительно больно за долгие месяцы, проведенные за программированием того, что при другом подходе можно было сделать одной строчкой. На компакт мы снова выкладываем последнюю протестированную версию GLScene.
Video Games Live этой весной планирует отметиться в России, поэтому мы встретились с Томми Талларико — игровым композитором, гитаристом и главным организатором этого шоу....
19 04 2024 0:48:22
Офлайновый онлайн Или онлайновый офлайн? Что-то мы запутались… [[BULLET]] Замяукали котята: «Надоело нам мяукать! Мы хотим, как поросята, хрюкать!» Несколько недель Diablo 3 пыталась притвориться офлайновой…|Игромания...
18 04 2024 8:54:34
В центре Восточных островов свободы на якоре стоит корабль «Черное око». Капитан рассказывает историю о том, что корабль был проклят и ночью его комaнда превращается в живых мертвецов. Очевидная отсылка к фильму «Пираты Карибского моря». — Joker63...
17 04 2024 9:20:48
«…всех врагов в игре можно расчлeнять, и это немедленно скажется на ходе поединка. У гуманоидов отрубаются руки-ноги, у летающих тварей — крылья, а у каких-нибудь безобразных уpoдцев — щупальца. То есть все эти сотни видов монстров прямо на ваших глазах р...
16 04 2024 23:58:45
«…Возможностей и простора для импровизации здесь чуть ли не больше, чем в Arkham Asylum. Помимо ожидаемых возможностей Бэтмена пускать бэтаранг, цепляться крюком за выступы и минировать стены, разрешается также жарить врагов электрошоком, приделать к плащ...
15 04 2024 0:19:53
«…Разработчики постарались максимально разнообразить игру, насколько позволил бюджет: улучшенная система диалогов, мини-игры (к примеру, в одном эпизоде дадут поиграть за собачку), большее количество роликов, статистов и деталей — все это позволяет думать...
14 04 2024 19:48:43
«…Жизнь в Сан-Паро, где происходит действие, далека от мечтаний. Улицы беспокойного городка оглашает свист пуль, протяжный вой сигнализаций ограбленных магазинов и истошные вопли прохожих, которых под дулом пистолета заставляют выворачивать карманы. Чтобы...
13 04 2024 9:15:31
«…Когда проносишься вдоль золотого пляжа в шикарном спорткаре с открытым верхом, бешеный рев мотора сливается с льющейся из динамиков музыкой, а солнечные блики играют на приборной панели — кажется, что волосы сами собой начинают развеваться от воображаем...
12 04 2024 20:46:11
Сегодня на тестах Alienware m15. Эти ноутбуки зацепили нас еще, наверное, лет десять назад. Причём мы уже даже не помним, на чём они работали, насколько удачными были, но их дизайн засел где-то в подкорке. И Dell после покупки Alienware до сих пор…|Игромания...
11 04 2024 3:29:56
...сокращение запасов нефти и растущие на нее цены приведут к голоду и Третьей мировой войне. В конфликте с одной стороны участвует НАТО, которое теперь называется «Коалиция», а с другой — внимание! — «Красный союз». По...
10 04 2024 2:40:41
В следующем году у Counter-Strike будет юбилей: исполнится целых 20 лет с тех пор, как легендарный шутер стал киберспортивной дисциплиной. Простая формула комaндного боя тогда заразила компьютерные клубы. Ради тридцати минут на Mansion, Dust или…|Игромания...
09 04 2024 23:23:10
заявлять о том, что ваш проект будет в равных пропорциях смешивать BioShock, Call of Duty и Medal of Honor, могут только очень наглые или очень талантливые люди...
08 04 2024 5:52:35
Warcraft 3: в шаге от победыВ течение этого года одним из наиболее результативных игроков по праву считается 4K-Creolophus, взявший серебро на ESWC 2007, а позже поднявшийся на высшую ступень пьедестала на Blizzard World Invitational. Казалось бы,…|Игромания...
07 04 2024 0:38:29
Я жил тёплыми воспоминаниями о двух частях Need for Speed: Underground. О холодных ночных улицах, о ливнях и ярком отражении неоновых огней под моей заряженной Toyota Celica, о дыме из-под покрышек в момент самого последнего поворота на девятом…|Игромания...
06 04 2024 18:32:13
Те наши читатели, которые следят за творческими успехами режиссера Уве Болла, знают, что в последнее время этот прекрасный человек несколько отошел от бесконечных экранизаций и занялся каким-то экстремальным арт-хаусом. Совсем скоро выйде...
05 04 2024 16:32:12
Каждый ребенок хоть раз да играл "в доктора". Для взрослого человека это уже, прямо скажем, неприлично — но поиграть иногда все равно хочется. Для всех желающих ощутить, что это такое — ответственность за чужую жизнь, — Legacy Interactive выпустила про...
04 04 2024 7:44:16
сценарий будет разыгран противоположными друг другу персонажами, истории каждого из которых постепенно начнут пересекаться, сливаясь вместе в общую сюжетную линию...
03 04 2024 2:15:16
Пролетел год, и вот мы снова в «Ленэкспо» — на шестнадцатом ежегодном международном фестивале поклонников фантастики. На три дня все гики России и ближнего зарубежья получили возможность выбраться из скучных (как…|Игромания...
02 04 2024 16:17:15
Год простоя Marvel решила компенсировать ковровой бомбардировкой. Прямо сейчас за каждый цент сражается «Чёрная Вдова», через полтора месяца нагрянет «Шан-Чи», потом выйдут «Вечные», а там…|Игромания...
01 04 2024 11:19:40
О номинации Говорят, умный в гору не пойдёт, умный гору обойдёт. Если так, то стелс-экшены — точно не для заурядных умов: в большинстве представителей жанра обходные пути и хитрые лазейки — не возможная опция, а острая…|Игромания...
31 03 2024 11:39:48
«…Основа боевой системы «Онейт» — музыкальные комбо (или композиции?). Сыграли две ноты — с гитары слетел разряд молнии. Сыграли три — получился гравитационный толчок в стиле Star Wars. Казалось бы, обычные файтинговые суперудары, только под музыку, а не...
30 03 2024 14:25:27
Конец года для любителей «Доты» выдался насыщенным. Сперва новую игру продемонстрировали на DotA II International от Valve, а следом прошли мировые финалы ESWC в Париже, о которых мы писали здесь. Эти громкие события немного…|Игромания...
29 03 2024 21:44:49
«…Оригинальный «Хищник» Джона Мактирнана вышел в июне 1987 года — и оказалось, что про душные джунгли, рестлеров с большими пулеметами и наряженного резиновым инопланетянином каскадера (которого все равно большую часть фильма не видно из-за хамелеоньего к...
28 03 2024 15:54:29
SimBin Development Team — комaнда, пpaктически не известная в игровом мире. На ее счету пока лишь несколько неплохих модификаций для чужих игр. Впрочем, на сковородке уже пышет жаром и первый блин, испеченный в самостоятельной разработче...
27 03 2024 11:13:18
В 2000 году вышел Insane — многопользовательский автобоевик, где джипы, грузовики и багги выясняли отношения на пересеченной местности. Никаких заездов и трасс в игре не было — только открытые для беспредела карты и множество…|Игромания...
26 03 2024 21:29:54
"...Порт Ройял - название одной из испанских колоний в Карибском бассейне, так что на этот раз нам придется рассекать атлантические просторы в районе Кубы, Антильских, Каймановых и других тропических островов. Колонии на побережьях Северной, Южной и Центр...
25 03 2024 7:23:54
Скриншоты ваших исполинских мечетей, на строительство которых ушло три дня реального времени, можно нажатием буквально одной кнопки опубликовать на сайте Ubisoft. Мало того, игра ведет активную статистику и за разные достижения награждает очками на манер...
24 03 2024 20:45:30
В «Экзистенции» очень тонко подмечены особенности сюжетостроения и игрового дизайна девяностых, в особенности — дизайна квестов и RPG. Взять хотя бы завязку сюжета: третьестепенный персонаж поручает простому маркетинговому нерду Тед...
23 03 2024 20:55:14
На винчестерах наших компьютеров, помимо игрушек, залежей любимой музыки, архивов ценного софта и больших подборок картинок, встречаются и другие, не столь приятные вещи. Это вирусы — проклятие системного администратора, страшилка для пугливог...
22 03 2024 9:46:10
Special For Honor с профессионалами Съемочная группа Игромании отправилась в фехтовальный центр Паладин, чтобы обсудить игру с теми немногими, кто имеет реальный опыт рыцарских боёв в наши дни. С реконструкторами из клуба Байард: одного из самых…|Игромания...
21 03 2024 18:21:15
Игровая индустрия — место враждебное и довольно неприветливое. Посвящая самим играм немало времени, сил и денег, мы частенько забываем, что их разработка — это бизнес. А без чего не может обойтись ни один бизнес? Правильно, без…|Игромания...
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, как и другим претендентам на трон Puzzle Quest, не хватило той же глубины, свободы и разнообразия. Апгрейд экипировки, приручение монстров, поиск сокровищ, преодоление ловушек, отстройка и модификация своего жилища, побочные квесты — ни...
18 03 2024 12:48:21
Сахароза всегда была хорошим саппортом, но после патча 1.6 она стала ещё лучше! При этом она — один из самых «дешёвых» в прокачке персонажей по соотношению количества ресурсов к приносимой пользе. Недавнее усиление…|Игромания...
17 03 2024 11:50:27
Diablo своими руками Основы работы в редакторе Torchlight Прекрасно понимая, что мощный инструментарий — неотъемлемая составляющая хорошей ролевой игры, компания Runic Games решила заранее позаботиться о благополучии своего дебютного…|Игромания...
16 03 2024 21:55:56
...нам удалось без всяких проблем «подружить» английскую версию с официальным российским изданием оригинала. Итак, новшеств в Knights of the Nine, прямо скажем, маловато. Но нехватку количественных изменений авторы с лихвой компенсируют качест...
15 03 2024 10:22:19
24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru и по SMS на короткий номер 1121 с префиксом dev (в начале сообщения печатаете слово dev, а затем, через пробел, сам вопрос). Стоимость…|Игромания...
14 03 2024 20:15:55
ПАРАД ЛУЧШИХ ИЗ ЛУЧШИХ: 1. Half-Life 2 * 2. The Sims 2 * 3. Far Cry * и еще 17 местНОМИНАЦИИ: Самая жестокая * Самая необычная * Провал года * Лучший звук * Лучший саундтрек * Самая инновационная * Лучший сюжетПЕРСОНАЛЬНЫЕ ХИТ-ПАРАДЫ от: Александра Кузьме...
13 03 2024 14:20:13
Соединив в одном зоопарке тварей, разделенных эволюцией минимум на 55 миллионов лет, они предлагают запихнуть их в одну клетку и посмотреть — а что будет? Как игуанодоны уживутся с гиенами, а мамонты — с пингвинами? Хотите попробовать?..”...
12 03 2024 0:36:19
Идея сделать игру по фильму “Звездный десант” появилась сразу же после его выхода на экран, в 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
Лиц, желающих испытать на собственном горьком опыте, каково оно, сеять разумное-доброе-вечное, ждет с распростертыми объятьями этот тайкун. Директор частного пансиона — роль почтенная, но до чего же хлопотная! Возведение и обустройство нашего образова...
08 03 2024 2:52:33
Рэйзор, также известный как мальчик, воспитанный волками, возглавит вашу «стаю» и с лёгкостью разберётся с любыми обидчиками. Для четырёхзвёздочного персонажа у Рэйзора отличный физический и Электро урон — и при…|Игромания...
07 03 2024 4:53:38
как и у Warriors Orochi и Dynasty Warriors: рубилово, рубилово, рубилово на лошади, снова рубилово. Только, во-первых, это про японцев (впрочем, главный образ серии — Куча Китайцев — все равно фигурирует), а во-вторых, бегать т...
06 03 2024 1:53:36
«…Перезагруженный Devil May Cry вышел и, кажется, всем понравился. Теперь и мы, и авторы можем выдохнуть спокойно: обновленный Данте в смешной майке ничего не поломал. В качестве постскриптума ко всей этой истории Алекс, курировавший разработку, рассказал...
05 03 2024 15:58:40
...тактические, экономические и ролевые нюансы сведены до минимума, если они вообще есть. Вам не придется рассчитывать оптимальный курс, исходя из направления ветра, вести бухгалтерскую отчетность или долго и мучительно выбирать одно из нескольких умений....
04 03 2024 15:51:55
Джек и Декстер, Ратчет и Кланк, Слай и Бентли — для поклонников трехмерных платформеров (а именно сериалов Jak & Daxter, Ratchet & Clank и Sly Cooper) эти персонажи не нуждаются в представлении. Настоящие супергерои, главные…|Игромания...
03 03 2024 10:16:26
Наконец-то поклонники кровавого жанра 3D-action смогут купить достойное внимания продолжение игры Quake II, которое называется Quake II Mission Pack: The Reckoning. Сразу хочется отметить, что после игры Unreal, достоинства столь любимого...
02 03 2024 10:22:36
В рубрике «Прямым текстом» автор выражает исключительно собственное мнение, которое может не совпадать с мнением редакции. Он волен это делать как угодно и в любом удобном для себя формате. Здесь можно всё. Я уже не раз на это…|Игромания...
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 ::