Игра своими руками. Создание трехмерного игрового движка на базе GLScene
|
Движок любой игры складывается из многих и часто независимых частей-кирпичиков: контроль столкновений, физическая модель, игровой интерфейс, главное меню, загрузка уровней и многое другое. Есть специфические кирпичики, которые нужны только для какого-то одного жанра. Например, модуль погодных явлений важен и нужен в авиационном или морском симуляторе, а в стратегии реального времени он второстепенен или вообще не нужен, а в футбольном симуляторе ни к чему модуль выстрелов. Но несколько десятков кирпичиков присутствуют в любой игре. В серии статей мы расскажем о каждом из таких кирпичиков, покажем, как он реализуется и как его связать с остальными. К концу цикла вы сможете из этих кирпичиков собрать свою собственную компьютерную игру довольно высокого уровня.
Что это вы тут делаете?
Для тех, кто пропустил какие-то из предыдущих моих статей (или даже все), отвечу на возникшие у вас вопросы. Так сказать, небольшое техническое вступление.
Почему Delphi? Эта среда разработки и язык программирования Object Pascal достаточно гибкие, чтобы создать полноценную трехмерную игру пpaктически любого жанра с современным уровнем графики. Многие возразят, что стандартом де-факто разработки компьютерных игр является MSVC++ или другие среды на основе С++. Но подобные стандарты, как это часто бывает, складываются стихийно. Не будем смешивать два понятия язык и среда разработки.
C++, безусловно, мощнее, чем Object Pascal. Но он и менее высокоуровневый, то есть в разы сложнее. Для новичков С++ подходит слабо. Object Pascal же не только простой, но и достаточно гибкий, чтобы на нем можно было разработать полноценную компьютерную игру современного уровня. Теперь о средах. Тут так категорично не скажешь. Среда разработки
|
Почему GLScene? Я повидал и перепробовал много бесплатных трехмерных движков, но остановился именно на этом. Его самое главное преимущество GLScene постоянно совершенствуется. Разработчики не поставили точку и, скорее всего, не поставят ее никогда. Движок постоянно эволюционирует и впитывает в себя все новинки технического прогресса. Это единственный из известных мне бесплатных движков, про который никогда не скажут “устарел”. Несколько сотен постоянно работающих над “двигателем” энтузиастов не допустят этого. Как пример: в движке поддержка самых первых шейдеров появилась уже через несколько месяцев после того, как NVidia выпустила соответствующие инструментальные средства.
Еще одно преимущество: в комплекте с GLScene поставляются его полные исходники. Новичкам этот факт, наверное, вряд ли будет полезен. Хотя познакомиться с исходниками, написанными рукой профессионала, многого стоит. А вот бывалые программисты чувствуют основной смысл этих слов: ведь они смогут перекраивать движок как им вздумается. Единственное условие в соответствии с лицензией MPL любые изменения в исходниках должны быть доступны координатору проекта (сейчас координатор Эрик Гранж). Вдруг ваш код еще кому-нибудь пригодится?!
|
Зачем нужен трехмерный движок?
Товарищи новички, сосредоточьтесь! Возможно, то, что я сейчас скажу, с первого раза будет не очень понятно. Обязательно перечитайте и вникните: это один из основных принципов программирования вообще и разработки сложных систем (а игра это сложная система) в частности. Представьте себе какую-нибудь проcтенькую игру. Пинг-понг, к примеру. Программист написал его на чистом OpenGL, исходники уместились строк эдак в 200. Что там будет движком, а что основным кодом игры? Так прямо сразу и не скажешь... А если подумать, такое разделение на движок и основной код вообще не нужно.
|
Уровень абстpaкции это одно из важнейших понятий модульного программирования. Представьте, что вы строитель, и вам нужно построить дом. Вы оперируете кирпичами: берете кирпич, кладете его на строящуюся стену, намазываете раствором, берете следующий кирпич... Кирпичи ваш уровень абстpaкции. Теперь представьте, что вы застройщик. И вам нужно построить микрорайон. Вы говорите строителю, где строить дома, какие дома сносить. Дом это ваш уровень абстpaкции. Было бы странно, если бы вы указывали строителю, какой кирпич куда класть. Вы сказали: вот здесь будет дом. Все остальные заботы берет на себя строитель. Ну а теперь представьте, что вы мэр города. И вам необходимо дать задание толпе застройщиков к такому-то году дать городу столько-то нового жилья. Вряд ли вы будете лично планировать, где какой дом должен стоять. Это работа застройщика. Уровень абстpaкции мэра объем жилого фонда, который можно увеличивать, можно уменьшать, а как это будет выполняться дело десятое. По большому счету на этом уровне абстpaкции все равно, из чего строятся дома: хоть из кирпичей, хоть из бивней мамонта. И у мэра в списке комaнд просто не может быть “положить кирпич”, хотя любая его комaнда через несколько уровней абстpaкции к этому и приведет.
В более или менее сложной компьютерной программе или игре то же самое. Каждый уровень абстpaкции отвечает за свою часть работы, опираясь на возможности более низкого уровня. Каждый уровень абстpaкции обеспечивает более высокому уровню удобный интерфейс для работы с объектами. В компьютерной игре нижний уровень абстpaкции это
|
Динамическое создание объектов
Мы рассмотрели вертикальную организацию компьютерной игры. Но каждый уровень абстpaкции можно разделить на смысловые блоки модули. Деление это необязательно и всегда будет чисто условным, просто так проще программировать. Сегодня мы разберем маленький, но очень важный модуль-кирпичик динамическое создание объектов, который присутствует во всех без исключения играх.
|
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=
|
Sphere.Free
Частенько бывает необходимо проверить, существует ли объект, или его уже уничтожили. Для этого сравниваем объект с универсальной константой нуля nil, например:
If Sphere<>nil then
Begin
{сферу еще не уничтожили, значит, делаем здесь что-нибудь полезное}
End
|
FreeAndNil(Sphere)
Теперь вы можете быть уверенными в том, что никогда не обратитесь к уже несуществующему объекту. Описанную процедуру создания и уничтожения объектов можно применять к любым объектам GLScene.
Зачем играм аккумулятор?
Рассмотрим пример выше с пулеметом. Обычно в играх пули это не просто сферы, а сложные объекты, у которых к тому же еще и текстура имеется. Каждый раз, когда вы создаете пулю, освобождается участок памяти, устанавливаются
|
Выход простой. Прикидываем, сколько в среднем объектов подобного рода может существовать одновременно. Допустим, пулемет может выбросить несколько сотен пуль за десяток секунд, и за этот же десяток секунд пули обязательно долетят до цели. Перед началом игры создаем все сто пуль. Лучше всего это делать во время загрузки уровня. Небольшой задержки никто не заметит. Далее пули помещаются в список или массив, который называем аккумулятором. Делаем пули невидимыми или выносим их куда-нибудь за пределы игрового прострaнcтва. Как только пулемет начал стрелять, вместо того чтобы создавать пули, мы перемещаем в нужное место уже созданные пули из аккумулятора и делаем их видимыми. Как только пуля достигнет цели, мы не уничтожаем ее, а вновь делаем невидимой и помещаем в аккумулятор. В итоге для каждой пули мы экономим время создания и время уничтожения. А это очень и очень много! А что если мы немного ошиблись в своих прикидках, пули в аккумуляторе кончились, а пулемет продолжает стрелять? Тут уж ничего не поделаешь придется новые пули создавать динамически, пока в аккумулятор не вернутся старые. И новые пули тоже не будем уничтожать, а запасем в аккумуляторе вдруг еще понадобятся...
|
Пусть у нас есть большой лес, в котором много-много одинаковых деревьев или, скажем, много деревьев нескольких разных видов. Пример похож на предыдущий, только мы тут ничего динамически не создаем и не уничтожаем на этом уровне деревья есть всегда. Проблема будет при загрузке уровня. Создание стольких деревьев займет огромное время. Но ведь они все одинаковые! То есть мы раз за разом загружаем с винчестера и создаем в памяти копии одного и того же. Загрузили. Играем. Перед рендером каждого из деревьев выполняются подготовительные процедуры. Для каждого дерева они будут одними и теми же, но вызывать мы их будем опять большое число раз, по числу деревьев! Расточительно получается. И память под каждое дерево резервировать надо, и обработка каждого из них время занимает.
Вот бы загрузить одно-единственное дерево, а когда надо будет вывести на экран остальные деревья, просто показать графической библиотеке, откуда брать необходимые данные. Это ж какая экономия ресурсов получится, какой пророст FPS! Такие “ложные” деревья (и не только деревья что угодно), о которых в памяти хранится только частная информация (положение в прострaнcтве, углы поворота), а одинаковая информация хранится только один раз, называются прокси-объектами.
В GLScene для создания прокси-объектов существует специальный класс TGLProxyObject. Пользоваться им очень просто. Сначала создаем объект-источник, то есть единственное дерево, например так:
|
//Загружаем его модель:
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
Сиквел наиболее успешного клона Commandos неожиданно оказался кособоким недоразумением. Немцы из Spellbound, как выяснилось, успешно работают только в случае прилежного копирования чужих идей. Попытка перевести тактическую классику Pyro на трехмерные...
26 04 2024 9:28:58
Стриминг-сервисы совершили революцию в индустрии развлечений — с этим невозможно спорить. Да, их прибыльность всё ещё под вопросом: долг Netflix уже приблизился к отметке в $15 млрд, это даже не скрывается. Но зато за время своего…|Игромания...
25 04 2024 19:38:57
Говорят, экстремальный туризм опасен. Но что делать, если в обществе нашего старого знакомого Брайана экстремальным становится любой туризм? Смириться и выпрыгнуть из самолета с парашютом за плечами, чтобы всякие нехорошие люди использовали тебя как м...
24 04 2024 6:34:22
24 часа в сутки я мысленно с вами. В остальное время со мной можно связаться, написав по адресу hot-line@igromania.ru или отправив SMS на короткий номер 1121 с префиксом #hard (то есть в начале сообщения вы должны ввести слово #hard и только потом,…|Игромания...
23 04 2024 10:44:29
ОТ РЕДАКТОРА Всем привет! Интерфейс Комплектация 2 DVD Декабрьский DVD получился столь насыщенным играми не только потому, что близится конец года и выходят демоверсии уровня Tomb Raider: Underworld. Главная причина — исчезновение…|Игромания...
22 04 2024 9:31:52
Бытует мнение, что жанр TBS пережил свой расцвет в конце 90-х с популярностью серий XCOM, Jagged Alliance, «Цивилизация» и «Герои» и сейчас медленно, но верно умирает. И правда — количество игр в этом…|Игромания...
21 04 2024 8:43:12
...тотальный ребрендинг: четвертая часть переехала в XXI век и напоминает теперь самые одиозные произведения Тома Клэнси. То есть развесистая клюква, неадекватные генералы с псевдорусскими фамилиями, навязчивая советская символика в кадре и «я есть...
20 04 2024 16:52:10
ОБ ИГРЕ. Экшен с джеймс-бондовскими мотивами, основанный на одноименной серии культовых бельгийских комиксов. На страницах этого журнала было сказано так много хороших слов про XIII, что, кажется, уже нет никакого смысла повторяться. Интригующий “шпио...
19 04 2024 4:14:46
«…Максимально емко «Метро 2033» хаpaктеризует фраза, которую Линар Феткулов обронил после того, как мы провели наедине с игрой два часа: «Чистый S.T.A.L.K.E.R. на рельсах». Во-первых, потому что это рельсовый шутер, по механике напоминающий любую Call of...
18 04 2024 23:16:41
«Братья Пилоты» пользуются известным спросом у российских разработчиков (и, соответственно, игроков): новые игры появляются с периодичностью раз в несколько лет. Чаще всего выходят квесты, но периодически попадаются и аркады. Такие как, например, «Дого...
17 04 2024 21:59:26
Слово в защитуНаступила осень, и появился не совсем долгожданный, но все же ожидавшийся образец жанра RPG. Прошло пару дней, и на него в Интернете немедленно посыпались вовсе не положительные обзоры. Обозревали, кто как умеет. Одним не нравилось отсутстви...
16 04 2024 15:11:34
...Выпусти Intel вовремя злосчастный Intel 820, и мы, возможно, никогда не увидели бы планки памяти типа DDR2. Но история не терпит сослагательного наклонения. Процессорный гигант давно забыл о RDRAM и сейчас успешно использует DDR2, а Rambus занимается п...
15 04 2024 18:41:24
Есть такие игры, после которых хочется встать, немного пройтись, отдышаться и дать вспотевшим рукам передохнуть. Есть игры, которые подкупают возможностью вытворять невероятно крутые вещи: отбивать пули взмахом катаны, уничтожать тысячи демонов,…|Игромания...
14 04 2024 9:44:41
The War Z: бету в массы? Вот кто-то с горочки спустился, наверно, зомби к нам идет… [[BULLET]] Мародерство — это не только доходный бизнес, но и отличный способ приятно провести время. Моду на продажу доступа к бета-тесту игры ввели…|Игромания...
13 04 2024 8:44:48
Обычно загружаемые дополнения привинчивают к сюжетной линии основной игры как попало: в лучшем случае нам рассказывают истории, которые слабо связаны с центральным повествованием и уж точно не влияют на концовку. С Alan Wake все вышло немного…|Игромания...
12 04 2024 7:19:45
Убийцами не рождаются. За редким исключением. Если смешать гены отборных мерзавцев, а результат вырастить в пробирке, то на выходе вполне может получиться совершенный киллер. За последние полтора десятка лет Сорок Седьмой заслужил и буквально…|Игромания...
11 04 2024 19:57:29
и еще один важнейший элемент любого рабочего места — кресло или стул. Уважающий себя гeймер, заботящийся о здоровье, никогда не польстится на уговоры псевдодокторов, рекомендующих восседать только на табуретках из твердого дерева. Идея отличная, но только...
10 04 2024 23:33:23
«…Croteam сознательно сближают Сэма с монстрами и выстраивают на этом совершенно новую, можно сказать иHTиMную, тактику боя. Например, если вас со всех сторон окружают безголовые, истерично вопящие камикадзе, стрейф вам больше не поможет. Сэм застынет на...
09 04 2024 17:10:36
Совсем недавно мы рассказали вам о первом квесте, действие которого происходит в мире популярной настольной RPG The Dark Eye — Авентурии. Но это не значит, что больше никто не делает собственно ролевые игры по этой вселенной. Пару лет назад…|Игромания...
08 04 2024 7:37:42
"...Вы можете с удивлением обнаружить, что определенная магия попросту не действует на бодро марширующую в вашу сторону армию просто потому, что точно так же было в EverQuest..."...
07 04 2024 20:39:34
"...проблемы обратной совместимости серьезно замедлили распространение стандарта в массах. А тем временем не за горами новые технологии записи..."...
06 04 2024 23:24:28
Кто поймет все эти месседжи, тот, безусловно, большой молодец. Ей-богу, “Петьку” можно одинаково рассматривать и как очередной лубочный “типа квест”, и как полотнище, достойное какого-нибудь художественного кружка концептуалистов-энтузиастов. Скажем, Петь...
05 04 2024 21:54:55
Встань на защиту галактики в Halo Wars 2 Вчера на PC и Xbox One вышла Halo Wars 2 — продолжение одной из самых перспективных стратегий в индустрии. Рецензию мы написали еще за неделю до релиза, ну а в рамках этого материала попытаемся…|Игромания...
04 04 2024 13:53:41
«…Если бы игры оценивались по гениальности задумки, Lucius без проблем получил бы от нас 10 баллов. Представьте себе Hitman, а лучше Manhunt, где в главной роли не киллер и не маньяк-шизофреник, а сам сын Люцифера!..»...
03 04 2024 7:41:39
Возможно, вас удивит, что статья по Red Orchestra публикуется спустя столько времени после выхода игры. Не удивляйтесь. Во-первых, благодаря 1С у российских игроков относительно недавно возникла возможность опробовать игру, а во-вторых, сетевые игры со...
02 04 2024 1:32:32
«…Пусть не все задания оригинальны, как хотелось бы, и весомую часть составляют стандартные «отнеси — поговори — собери 15 шкурок», встречаются тут и вправду чудесные находки. И мы с удовольствием бегали «откачивать» полудохлого гибберлинга, проверяя три...
01 04 2024 7:34:42
тяжелая, громоздкая и неповоротливая постановка.Спopное новшество разработчиков — бесконечные подкрепления как с вашей, так и с вражеской стороны. Чтобы пройти миссию, необязательно под корень вырезать все живое на карте, достаточно выполнить постав...
31 03 2024 17:27:30
осталась очередной неудачной попыткой свергнуть Diablo: с забавной картинкой и перекошенным балансом, который, собственно, и губил все прекрасное в зародыше. Игрок буквально захлебывался в компоте из монстров, тонн бесполезного хлама и обесцененных дензна...
30 03 2024 22:24:27
В современной игровой индустрии осталось не так много студий, способных порадовать фанатов по-настоящему больших стратегий. Firaxis Games молчит, разpaбатывая дополнения к Civilization VI (относительно казуальной). Creative Assembly в…|Игромания...
29 03 2024 10:53:33
Последним смеется тот, кто стреляет первым. Александр Лебедь Каждый разработчик авиасимулятора сталкивается с дилеммой: сделать игру максимально похожей на настоящий мир или доступной для неискушенного игрока. Есть два общепринятых пути решения э...
28 03 2024 2:25:47
Компания Sonalysts Combat Simulations всегда славилась тем, что создавала (сначала совместно с Jane's Combat Simulations, а теперь — в одиночку) сложнейшие симуляторы, которые по реалистичности почти не уступают военным тренажерам. Но если раньше...
27 03 2024 15:48:33
Игру Ankh, вышедшую ровно год назад, многие ошибочно приняли за «что-то детское», хотя на самом деле это был весьма милый «семейный» квест с тысячей заимствований (весьма, кстати, удачных) из культовых приключений от Sierra и LucasArts. Сегодняшнее про...
26 03 2024 17:30:24
НОВОСТИ РОЛЕВЫХ ИГР Новинки от White Wolf Games Компания White Wolf Games, известная по своим ролевым играм в жанре современных ужасов — "Вампиры: М...
25 03 2024 14:14:33
Подходит к концу январь — время, в которое голливудские студии выпускают в кинотеатры свои самые сомнительные проекты, а российские прокатчики дожимают последние соки из новогодних праздников. Зато в оставшиеся одиннадцать месяцев нас ждёт…|Игромания...
24 03 2024 1:13:54
"...судя по этой одной-единственной загадке, "квестовый дизайн" Syberia II ничуть не изменился со времен первой части. Все как и прежде: просто, логично и доступно..."...
23 03 2024 1:38:34
"...для тех, кто не знает, что такое Shogun (хотя я уверен, что таких немного), расскажу немного о гeймплее. STW — тактическая стратегия. Гeймплей делится на две части — хозяйственную и боевую. В первой мы на глобальной карте обустраиваемся на захваченных...
22 03 2024 22:16:35
"Центр внимания" номер за номером являет нам чудеса, о которых я, редактор раздела, порой даже не подозреваю! Вот, к примеру, наш предельно штатный корреспондент и по совместительству замглавреда Святослав Торик посреди лета неожиданно...
21 03 2024 3:51:41
Чужой успех порождает желание его повторить. Land of Chaos Online — один из таких подражателей, но вот чей? И ведь на первый взгляд не ясно, чей именно успех норовят воспроизвести корейские разработчики — Guinsoo и Еul'a или, может быть, успех Blizzard ил...
20 03 2024 7:25:21
Prey — 5 мая (PC, PS4, Xbox One) В процессе разработки создатели поочередно отбросили несколько концепций, в результате чего новая Prey растеряла всю связь с оригиналом. Нет больше индейца Томми, мира духов, игр с порталами и странного…|Игромания...
19 03 2024 3:59:14
«...По замыслу авторов, средства расправы с монстрами игроку любезно предоставляет подсознание пациентов, так что ни одна огнестрельная единица в Dreamkiller не выглядит так, словно ее мог придумать психически здоровый человек...»...
18 03 2024 16:40:35
В 2019 году ASUS выпустила первую линейку ноутбуков с двумя дисплеями — это были ZenBook Pro Duo и ZenBook Duo, предназначенные в первую очередь для рабочих задач (например, обработки графики и видео). А вот в этом году появился первый…|Игромания...
17 03 2024 5:49:13
Turok — серия почтенная. Признание она получила благодаря множеству интересных находок в игровом процессе. Это и стрельба из лука, и битвы против динозавров, и путешествия во времени... Однако продолжения не развивали идею, а топали по проторенно...
16 03 2024 4:14:23
Тактика игры за космодесантников В начале игры несколько отрядов скаутов захватывают ближайшие Strategic Points. Warhammer 40000: Dawn of War изначально планировался как игра,...
15 03 2024 1:58:42
ИГРА Сделать свой первый проект продаваемым - задача не из легких. А уже добиться признания и почитания со стороны игровых масс, выпустив всего один готовый продукт, это вообще нечто на грани фантастики. Тем не менее, чешской фирме Illusion S...
14 03 2024 0:47:52
Кто бы что ни говорил о CD Projekt Red, по одному пункту студия безусловно заслуживает уважения: она постоянно растёт, рискует и развивается — как технологически, так и творчески. С каждым новым «большим» релизом…|Игромания...
13 03 2024 4:18:57
«Инди-перспективы» — это авторская колонка Марии Кравцовой, где она рассказывает о независимых играх. Прежде чем уйти в сферу инди, Мария работала над сценариями в Mail.Ru и Social Quantum. Осенью вместе со студией…|Игромания...
12 03 2024 13:37:51
на сегодняшний день существует аж три основных направления развития мобильных игр: специализированные игровые приставки (GBA, PSP, N-Gage), КПК и мобильные телефоны. Какое из этих направлений может похвастаться наиболее впечатляющими достижениями, у кого...
11 03 2024 10:56:45
Величественная наследница клана Камисато, благородная и изящная Аяка, заставит ваших врагов остолбенеть в прямом смысле этого слова: с ней проще простого держать противников в постоянной заморозке. Сильные и слабые стороны Аяки Плюсы Высокий базовый…|Игромания...
10 03 2024 0:24:31
с повышением разрешения отрыв флагмана увеличивается, во многом благодаря внушительному объему памяти. Так, при разрешении 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 ::