Что такое OpenGL?
Сейчас трёхмерные изображения можно увидеть везде, начиная от компьютерных игр и заканчивая системами моделлирования в реальном времени. Раньше, когда трёхмерная графика существовала только на суперкомпьютерах, не существовало единого стандарта в области графики. Все программы писались с «нуля» или с использованием накопленного опыта, но в каждой программе реализовывались свои методы для отображения графической информации. С приходом мощных процессоров и графических ускорителей трёхмерная графика стала реальностью для персональных компьютеров. Но в тоже время производители программного обеспечения столкнулись с серьёзной проблемой — это отсутствие каких-либо стандартов, которые позволяли писать программы, независимые от оборудования и операционной системы. Одним из первых таких стандартов, существующий и по сей день является OpenGL.
OpenGL — это графический стандарт в области компьютерной графики. На данный момент он является одним из самых популярных графических стандартов во всём мире. Ещё в 1982 г. в Стенфордском университете была разработана концепция графической машины, на основе которой фирма Silicon Graphics в своей рабочей станции Silicon IRIS реализовала конвейер рендеринга. Таким образом была разработана графическая библиотека IRIS GL. На основе библиотеки IRIS GL, в 1992 году был разработан и утверждён графический стандарт OpenGL. Разработчики OpenGL — это крупнейшие фирмы разработчики как оборудования так и программного обеспечения: Silicon Graphics, Inc., Microsoft, IBM Corporation, Sun Microsystems, Inc., Digital Equipment Corporation (DEC), Evans & Sutherland, Hewlett-Packard Corporation, Intel Corporation и Intergraph Corporation.
OpenGL переводится как Открытая Графическая Библиотека (Open Graphics Library), это означает, что OpenGL — это открытый и мобильный стандарт. Программы, написанные с помощью OpenGL можно переносить практически на любые платформы, получая при этом одинаковый результат, будь это графическая станция или суперкомпьютер. OpenGL освобождает программиста от написания программ для конкретного оборудования. Если устройство поддерживает какую-то функцию, то эта функция выполняется аппаратно, если нет, то библиотека выполняет её программно.
Что же представляет из себя OpenGL? С точки зрения программиста OpenGL — это программный интерфейс для графических устройств, таких как графические ускорители. Он включает в себя около 150 различных команд, с помощью которых программист может определять различные объекты и производить рендеринг. Говоря более простым языком, вы определяете объекты, задаёте их местоположение в трёхмерном пространстве, определяете другие параметры (поворот, масштаб, . ), задаёте свойства объектов (цвет, текстура, материал, . ), положение наблюдателя, а библиотека OpenGL позаботится о том чтобы отобразить всё это на экране. Поэтому можно сказать, что библиотека OpenGL является только воспроизводящей (Rendering), и занимается только отображением 3Д обьектов, она не работает с устройствами ввода (клавиатуры, мыши). Также она не поддерживает менеджер окон.
OpenGL имеет хорошо продуманную внутреннюю структуру и довольно простой процедурный интерфейс. Несмотря на это с помощью OpenGL можно создавать сложные и мощные программные комплексы, затрачивая при этом минимальное время по сравнению с другими графическими библиотеками.
В некоторых библиотеках OpenGL (например под X Windows) имеется возможность изображать результат не только на локальной машине, но также и по сети. Приложение, которое вырабатывает команды OpenGL называется клиентом, а приложение, которое получает эти команды и отображает результат — сервером. Таким образом можно строить очень мощные воспроизводящие комплексы на основе нескольких рабочих станций или серверов, соединённых сетью.
Основные возможности OpenGL.
- Геометрические и растровые примитивы. На основе геометрических и растровых примитивов строятся все объекты. Из геометрических примитивов библиотека предоставляет: точки, линии, полигоны. Из растровых: битовый массив(bitmap) и образ(image)
- Использование В-сплайнов. B-сплайны используются для рисования кривых по опорным точкам.
- Видовые и модельные преобразования. С помощью этих преобразований можно располагать обьекты в пространстве, вращать их, изменять форму, а также изменять положение камеры из которой ведётся наблюдение.
- Работа с цветом. OpenGL предоставляет программисту возможность работы с цветом в режиме RGBA (красный-зелёный-синий-альфа) или используя индексный режим, где цвет выбирается из палитры.
- Удаление невидимых линий и поверхностей. Z-буферизация.
- Двойная буферизация. OpenGL предоставляет как одинарную так и двойную буферизацию. Двойная буферизация используется для того, чтобы устранить мерцание при мультипликации, т.е. изображение каждого кадра сначала рисуется во втором(невидимом) буфере, а потом, когда кадр полностью нарисован, весь буфер отображается на экране.
- Наложение текстуры. Позволяет придавать объектам реалистичность. На объект, например шар, накладывается текстура(просто какое-то изображение), в результате чего наш объект теперь выглядит не просто как шар, а как разноцветный мячик.
- Сглаживание. Сглаживание позволяет скрыть ступенчатость, свойственную растровым дисплеям. Сглаживание изменяет интенсивность и цвет пикселей около линии, при этом линия смотрится на экране без всяких зигзагов.
- Освещение. Позволяет задавать источники света, их расположение, интенсивность, и т.д.
- Атмосферные эффекты. Например туман, дым. Всё это также позволяет придать объектам или сцене реалистичность, а также «почувствовать» глубину сцены.
- Прозрачность объектов.
- Использование списков изображений.
Дополнительные библиотеки OpenGL
Несмотря на то, что библиотека OpenGL (сокращённо GL) предоставляет практически все возможности для моделирования и воспроизведения трёхмерных сцен, некоторые из функций, которые требуются при работе с графикой, отсутствуют в стандартной библиотеке OpenGL.. Например, чтобы задать положение и направление камеры, с которой будет наблюдаться сцена, нужно самому рассчитывать модельную матрицу, а это далеко не все умеют. Поэтому для OpenGL существуют так называемые вспомогательные библиотеки.
Первая из этих библиотек называется GLU. Эта библиотека уже стала стандартом и поставляется вместе с главной библиотекой OpenGL. В состав этой библиотеки вошли более сложные функции, например для того чтобы определить цилиндр или диск потребуется всего одна команда. Также в библиотеку вошли функции для работы со сплайнами, реализованы дополнительные операции над матрицами и дополнительные виды проекций.
Следующая библиотека, также широко используемая — это GLUT. Это также независимая от платформы библиотека. Она реализует не только дополнительные функции OpenGL, но и предоставляет функции для работы с окнами, клавиатурой и мышкой. Для того чтобы работать с OpenGL в конкретной операционной системе (например Windows или X Windows), надо провести некоторую предварительную настройку и эта предварительная настройка зависит от конкретной операционной системы. С библиотекой GLUT всё намного упрощается, буквально несколькими командами можно определить окно, в котором будет работать OpenGL, определить прерывание от клавиатуры или мышки и всё это не будет зависеть от операционной системы. Библиотека предоставляет также некоторые функции, с помощью которых можно определять некоторые сложные фигуры, такие как конусы, тетраэдры, и даже можно с помощью одной команды определить чайник!
Есть ещё одна библиотека похожая на GLUT, называется она GLAUX. Это библиотека разработана фирмой Microsoft для операционной системы Windows. Она во многом схожа с библиотекой GLUT, но немного отстаёт от неё по своим возможностям. И ещё один недостаток заключается в том, что библиотека GLAUX предназначена только для Windows, в то время как GLUT поддерживает очень много операционных систем.
Существуют и другие дополнительные библиотеки для OpenGL. Все они добавляют что-то своё или ориентированы на какую-то платформу. Например существует такая библиотека как GLX — это расширение для X Windows, позволяющее использовать в X Windows OpenGL. GLX предоставляет не только локальный рендеринг, но и рендеринг по сети.
Альтернативы OpenGL
Хотя библиотека OpenGL и считается одной из лучших библиотек как для профессионального применения так и для игр, у неё существуют и конкуренты.
Одним из главных конкурентов считается Direct3D из пакета DirectX, разработанный фирмой Microsoft. Direct3D создавался исключительно для игровых приложений. Если сравнивать эти две библиотеки, то нельзя сказать, что одна из них лучше, а другая хуже, у каждой библиотеки имеются свои особенности. Например, если сравнивать их в плане переносимости программ с одной платформы на другую, то Direct3D будет работать только на Intel платформах под управлением операционной системы Windows, в то время программы, написанные с помощью OpenGL можно успешно перенести на такие платформы как Unix, Linux, SunOS, IRIX, Windows, MacOS и многие другие. А вот в плане объектно-ориентированного подхода OpenGL уступает Direct3D. OpenGL работает по принципу конечного автомата, переходя из одного состояния в другое, совершая при этом какие-то преобразования. Ещё одним преимуществом Direct3D является поддержка дешёвого оборудования, OpenGL же поддерживается не на всех графических картах, но для профессиональных ускорителей OpenGL является стандартом де-факто. И ещё, OpenGL легче чем Direct3D для изучения основ графики, OpenGL можно применять например для начального изучения трёхмерной графики.
GLide до недавнего времени тоже являлся довольно широко используемым стандартом для игровых приложений. Этот стандарт создала фирма 3Dfx и библиотека GLide создавалась исключительно для видео ускорителей фирмы 3Dfx Voodoo и была оптимизирована исключительно под них. GLide является более низкоуровневым по отношению к OpenGL и по своим командам похож на него. GLide мало чем отличается от OpenGL по своим возможностям, за исключением некоторых функций, которые специально предназначались для Voodoo ускорителей. Но к сожалению 3Dfx отказалась от этого стандарта, передав его в руки разработчиков открытого программного обеспечения.
Есть ещё несколько библиотек, среди них можно отметить Heidi. Heidi это библиотека или даже лучше сказать драйвер для визуализации трёхмерных сцен, используемый только в 3D Studio Max и только под Windows NT.
Стоит также отметить совместную разработку двух гигантов — Microsoft и Silicon Graphics в области стандартизации компьютерной графики. Этот проект носит название Fahrenheit и сейчас находится в стадии разработки.
Заключение
Заканчивая вводный рассказ про OpenGL хочется подвести некоторые итоги. Итак OpenGL представляет собой единый стандарт для разработки трёхмерных приложений, сочетает в себе такие качества как мощь и в то же время простоту. Мультиплатформенность позволяет без труда переносить программное обеспечение с одной операционной системы в другую. OpenGL предоставляет вам в распоряжение всю мощь аппаратных возможностей, которые вы имеете на данном компьютере и при написании программ вам не нужно будет беспокоится о конкретных деталях используемого оборудования, за вас побеспокоится драйвер OpenGL. OpenGL прекрасно подходит как для профессионалов так и для новичков в области компьютерной графики.
OpenGL — то, что заставит забыть о DirectX
![]()
Когда мы иной раз говорим другим разработчикам игр, что в нашей игре Overgrowth мы использовали OpenGL, нам недоуменно возражают: зачем, разве будущее не за DirectX? Когда мы говорим представителям видеокарт, что используем OpenGL, температура в помещении опускается на 10 градусов.
Это нас озадачивает. Среди веб-разработчиков считается хорошим тоном ругать стандартные технологии, такие как Silverlight, Flash или ActiveX, зато всячески приветствуется кросс-платформенная разработка. Ни один уважающий себя спец не испытывает восторга от работы с закрытыми стандартами типа документов Word или серверов Exchange. И что же произошло с этим миром, что инженеры вдруг принялись не только рукоплескать проприетарному API Microsoft, но ещё и активно ругать его открытого конкурента?

Прежде чем мы объясним, почему мы за OpenGL, немного истории.
Что такое OpenGL
В 1982 году Silicon Graphics начала продажи высокопроизводительных графических терминалов на основе проприетарного API под названием Iris GL (GL — graphics library, графическая библиотека). Через несколько лет Iris GL превратился в монстра, которого стало очень сложно поддерживать. Тогда Silicon Graphics пошла на радикальный шаг — полностью переработала Iris GL и создала на его основе открытый стандарт. Теперь Открытую графическую библиотеку (OpenGL) могли использовать конкуренты, но при этом они должны были её поддерживать и обновлять.

Сегодня поддержкой OpenGL занимается Khronos Group — некоммерческая организация, в которую входят представители самых разных компаний, объединённых общим интересом: иметь высококачественные медийные API.
Непосредственной поддержкой занимается Наблюдательная комиссия по архитектуре OpenGL. OpenGL поддерживают все игровые платформы, включая Mac, Windows, Linux, PS3 (через GCM), Wii, iPhone, PSP и DS.
То есть все платформы, кроме Xbox. И это плавно приводит нас к следующей теме:
Что такое DirectX
После MS-DOS в Microsoft осознали, что при выборе операционной системы пользователь не в последнюю очередь принимает во внимание игры. Тогда в 1995 году Microsoft создала проприетарный набор библиотек с целью поощрить выход эксклюзивных игр для новой ОС Windows 95. Среди этих библиотек были Direct3D, DirectInput и DirectSound, а весь набор в совокупности получил название DirectX. Когда в 2001 году Microsoft сама вошла в игровой рынок, появилась консоль DirectX Box, она же Xbox. Xbox стала рекордсменом по убыткам, потеряв свыше $4 млрд. Целью проекта было заложить основы для доминирования на игровом рынке, которое предполагалось осуществить только в следующем поколении.
Если судить по сегодняшнему игровому рынку, эта стратегия себя оправдала. Большинство главных игр для PC используют DirectX и работают на Windows и Xbox 360. За редкими исключениями они не работают на конкурирующих платформах, таких как PlayStation, Mac OS или Wii. Так Microsoft теряет довольно серьёзные рынки, а мы ставим важный вопрос:
Почему все используют DirectX?
Все используют DirectX потому, что выбор API при разработке игры обладает эффектом обратной связи — своего рода замкнутый круг. Начиная с 2005 года популярность DirectX постоянно растёт: чем больше разработчиков её использует, тем лучше её поддерживают поставщики видеокарт, тем лучше программисты умеют с ней работать и опять-таки тем популярнее она становится — круг замыкается.

Рынок начал смещаться в сторону DirectX под воздействием двух факторов: агрессивная реклама DirectX при запуске Xbox 360 и Windows Vista, которая заставила многих усомниться в будущем OpenGL, и оголтелое преувеличение достоинств DirectX. Эти факторы были усилены описанным эффектом обратной связи, и в результате OpenGL почти полностью исчезла из главных игровых новинок.
1. Эффект обратной связи и порочные круги
В среде Windows графические драйверы DirectX поддерживаются лучше, чем OpenGL. Причиной этого является порочный круг под названием «поддержка производителей». Чем больше разработчиков по той или иной причине переходит с OpenGL на DirectX, тем меньше производители видеокарт получают сообщений об ошибках в драйверах OpenGL; следовательно, они становятся хуже, и ещё больше разработчиков уходит с OpenGL на DirectX. Круг замыкается.

Факт и в том, что в DirectX разбирается больше программистов графики, чем в OpenGL; следовательно, создать игру под DirectX дешевле, потому что для этого требуется меньше затрат на обучение. И это ещё один порочный круг: чем больше игр использует DirectX, тем больше программистов должны её изучить. Чем больше программистов изучают DirectX, тем дешевле DirectX обходится игровым проектам в сравнении с OpenGL.
2. Vista и сомнения в отношении OpenGL
При выпуске Vista Microsoft начала активно сеять в пользователях сомнения и неуверенность в отношении OpenGL.
В 2003 году Microsoft покинула Наблюдательную комиссию по архитектуре OpenGL, показав тем самым, что её больше не интересует судьба этой библиотеки. На SIGGRAPH (конгресс специалистов по графике) и WinHEC (конференция разработчиков аппаратного обеспечения под эгидой Microsoft) представители корпорации заявили, что в Windows Vista OpenGL будет поддерживаться на самом минимальном уровне, чтобы только обеспечить обратную связь с приложениями XP. OpenGL будет накладываться поверх DirectX, что приведёт к резкому снижению производительности. Это вызвало самую настоящую панику в рядах OpenGL, в результате чего многие профессиональные программисты графики перешли на DirectX.

Когда Vista наконец вышла, оказалось, что эти заявления не соответствовали действительности: поставщики создали быстрые устанавливаемые клиентские драйверы (ICD), вернувшие системе нативную поддержку OpenGL. Комиссия по OpenGL разослала письмо с доказательствами, что OpenGL по-прежнему в строю и ничем не уступает Direct3D на Vista. К сожалению, нужный Microsoft результат уже был достигнут: доверие к OpenGL серьёзно пошатнулось.
3. Лживые рекламные кампании
Выпуск Windows Vista и Windows 7 сопровождался агрессивной рекламой DirectX: Microsoft показывала эффектные картинки «до» и «после» применения различных версий DirectX. Сегодня многие игроки искренне верят, что переход от DirectX 9 к DirectX 10 волшебным образом улучшает яркость картинки, тогда как раньше она была убого затемнённой, а уровень реализма сразу же становится как в Crysis. Игровые журналисты уже доказали, что в том же Crysis на DX9 и DX10 нет никакой разницы, а пресловутые эксклюзивные для DX10 функции работают и под DX9 при соответствующих настройках в конфигурационном файле. Однако рекламная кампания снова сделала своё дело: многие игроки поверили, что установка DX10 — единственный способ получить графику по последней моде.

Далеко не все игры поддерживают этот маркетинговый фарс Microsoft. Многие настоящие профессионалы графики, такие как Джон Кармак (John Carmack), относятся к DX10 скептически. Он однажды сказал: «Лично я не стал бы сейчас переходить на что-то вроде DX10. Я бы подождал, когда всё немного утрясётся и для этого появится действительно объективная необходимость».
Так почему же мы используем OpenGL?
Учитывая всё вышесказанное: слабую поддержку производителей, отсутствие в играх, нападения со стороны Microsoft, спорные рыночные перспективы, — почему мы по-прежнему её используем? Не выгоднее ли отказаться от OpenGL и перейти к DirectX, как все остальные? Нет, потому что на самом деле OpenGL мощнее DirectX, поддерживает больше платформ и крайне важна для игровой индустрии.
1. OpenGL мощнее DirectX
Общеизвестно, что вызовы отрисовки в OpenGL быстрее, чем в DirectX. Верить нам на слово необязательно: на этот счёт существуют официальные презентации NVIDIA. Благодаря расширениям поставщиков новые функции видеопроцессоров на OpenGL начинают поддерживаться раньше. OpenGL сразу даёт прямой доступ ко всем новым графическим решениям на всех платформах, тогда как DirectX лишь предоставляет выборочные снимки на новых версиях Windows. Та же мозаичная технология (tesselation), которую Microsoft активно продвигает в DirectX 11, уже три года существует для OpenGL в качестве расширения. Я не знаю, какие новые технологии появятся в ближайшие годы, но я точно знаю, что первыми они появятся в OpenGL.

Microsoft хорошо поработала над DirectX 10 и 11, и теперь они почти так же быстры и функциональны, как и OpenGL. Однако остаётся одна большая проблема: они не работают в Windows XP! У половины игроков PC по-прежнему стоит XP, и для них варианта DirectX 10 и 11 просто не существует. Поэтому, если вы действительно хотите добиться наилучших результатов и донести их до максимально возможного числа игроков, вариантов помимо OpenGL просто нет.
(Если честно, то Microsoft правильно сделали, что отказались от XP — как-никак, этой ОС уже 9 лет.
И вообще, чему тут обижаться? Это обычная практика — ведь отказались от Windows 98, 2000, ME — примечание PortalX3 )
2. OpenGL кроссплатформенная
Свыше половины игроков нашей Lugaru играет на Mac или Linux, и мы не удивимся, если так же будет и с новой игрой Overgrowth. В беседах с крупными игровыми разработчиками мы часто слышим, что поддержка Mac и Linux — пустая трата времени. Но мне никогда не встречались доказательства этого утверждения. Blizzard всегда выпускает версию своих игр для Mac одновременно с другими платформами. Если они в чём-то принципиально не сходятся с другими, то я думаю, что правы они, а не другие.
Когда Джона Кармака спросили, работает ли Rage под DirectX, он ответил: «Нет, это OpenGL, хотя мы использовали API в стиле D3D [на Xbox 360] и CG для PS3. Вы знаете, технологиям довольно неинтересно, какой вы используете API и какого поколения ваши технологии. API интересуется буквально несколько файлов, а миллионы строк кода совершенно безразличны к вашей платформе». Если можно достичь всех платформ с OpenGL, то зачем себя искусственно ограничивать, привязываясь к DirectX?

Даже если вас не интересует ничего, кроме Windows, позвольте ещё раз напомнить, что половина пользователей Windows работает на XP, и они не смогут играть в вашу игру, если у вас будут последние версии DirectX. Единственный способ дать новейшие графические решения пользователям Windows XP (а это крупнейшая игровая платформа на PC) — использовать OpenGL.
3. У OpenGL больше перспектив на игровом рынке
OpenGL — это некоммерческий открытый стандарт, преследующий цель предоставить графику высочайшего качества пользователям всех платформ. Позиции OpenGL пошатнулись в результате монополистического нападения со стороны одного корпоративного колосса, который решил прибрать к рукам слишком молодую и потому неспособную за себя постоять индустрию. Microsoft держит рынок игр для PC мёртвой хваткой, которая тем сильнее, чем более эксклюзивны позиции Direct3D в Windows.
Для понижения цен и повышения качества необходима конкуренция. Монополия Microsoft на игровом рынке очень вредна и игрокам, и разработчикам.
Cможет ли OpenGL вернуть утраченные позиции?
В 1997 году была очень похожая ситуация. Microsoft начала агрессивную рекламную кампанию в пользу Direct3D, и однажды утром все проснулись и узнали, что она и быстрее, и лучше, чем OpenGL. Ситуация стала меняться после того, как Крис Хэкер (Chris Hecker) опубликовал открытое письмо против DirectX. Вскоре после этого Джон Кармак опубликовал свою знаменитую оду OpenGL, которую тут же подкрепил делом: перевёл все игры Id Software на OpenGL. Так он раз и навсегда доказал, что DirectX совершенно необязательна для трёхмерных игр высшей категории.
Однако за последние несколько лет этот урок оказался подзабыт. Большинство игровых разработчиков либо поддались чарам маркетологов Microsoft, либо утонули в порочных кругах рыночной конъюнктуры. Настало время отбросить пустые рекламации и модные тренды и посмотреть в глаза правде. Если вы пишете под DirectX, вам приходится либо брать слабую и раздутую DX9, либо жертвовать значительной частью пользовательской базы с DX10 и 11.
С другой стороны, если вы пишете под OpenGL, вы получаете более быструю и мощную графику, чем в DirectX 11, причём на всех версиях Windows, Mac и Linux, а также PS3, Wii, PSP, DS и iPhone. Кроме того, вы получаете всё это в рамках динамично развивающегося стандарта WebGL, который вполне может стать базовым для браузерных игр следующего поколения.
Если вы — разработчик игр, я прошу вас провести исследование, сравнить цифры и решить для себя, лучше OpenGL или нет. Некоторые программисты привержены стилю DirectX 11, но вы в любом случае перенесёте низкоуровневые API на уровень абстракции, поэтому этот фактор не может быть решающим. Если что-то в OpenGL вам не нравится, просто попросите наблюдательную комиссию это поменять — она для того и существует!
Если вы играете в игры на Windows XP, Mac или Linux, вы должны понять, что DirectX существует только для того, чтобы закрыть вам доступ к новым играм. И у вас есть только один способ повлиять на ситуацию — начать поддерживать игры, использующие OpenGL.
Лучшие игры с поддержкой OpenGL
Лучшие игры на ПК и консолях
Хотя набор графических библиотек OpenGL с недавнего времени признан устаревшим некоторыми разработчиками компьютерных игр и производителями «железа», за период его активной эксплуатации создано немало видеоигр с поддержкой этой технологии. В этом обзоре рассмотрим лучшие игры с поддержкой OpenGL. Подборка не претендует на непредвзятый вердикт и отражает мнение автора статьи. Если вы считаете, что какая-то из достойных игр не попала в этот список, поделитесь вашим мнением в комментариях.
War Thunder

Многопользовательская игра с элементами симулятора, в котором на одной карте сражаются авиация, военная техника и флот. Игра выпущена русским разработчиком Gaijin Entertainment в 20136 году. Доступно несколько игровых режимов, множество карт, большое разнообразие техники периода Второй мировой войны. В War Thunder доступно как аркадное управление всех техникой, предельно упрощенное, так и режим симулятора, где нужно активировать по отдельности множество систем и агрегатов.
Minecraft
Одна из наиболее известных и самых продаваемых игр в мире. Фактически, это инди-игра, созданная одним человеком — шведским программистом Маркусом Перссоном. Первая стабильная версия для Windows появилась в 2011 году. Впоследствии игра портирована на другие компьютерные, а также на мобильные платформы. Написана на Java.

В распоряжении игрока — процедурно генерируемый открытый трехмерный игровой мир, полностью состоящий из кубов. Его можно перестраивать по своему усмотрению, нагромождая кубы друг на друга, в том числе создавая сложные конструкции и работоспособные схемы. Сюжета как такового нет — только полная свобода творчества в креативном режиме, плюс добыча ресурсов и противостояние монстрам в режиме выживания.
Несмотря на примитивную «квадратно-гнездовую» графику, игра чрезвычайно популярна у детей и подростков. Во многом этому поспособствовало огромное количество публичных серверов, в том числе пиратских, где созданы отдельные миры со своими правилами. Например, это может быть Арена в формате «все против всех» или симулятор бомжа, в котором количество свободных ресурсов сведено к минимуму, а возможность постройки дома отключена. Геймплей можно значительно расширить благодаря установке модов, разработанных фанатами игры.
Dota 2

Игра в жанре MOBA, выпущенная в 2013 году компанией Valve. Это логичное продолжение DotA — пользовательской карты для стратегии Warcraft III. В каждом сражении принимает участие 2 команды по 5 игроков, которые управляют героями — персонажами с различными наборами способностей. Для победы нужно уничтожить крепость противника и не дать разрушить собственную.
Игра положила начало моде на жанр MOBA, и впоследствии у нее появились идейные последователи и конкуренты — League of Legends, Heroes of the Storm и другие. Сегодня это одна из наиболее скачиваемых игр в Steam, крайне популярная у подростков и молодежи. Является киберспортивной дисциплиной, по которой ежегодно проводятся крупные турниры с многомиллионными бюджетами.

Counter-Strike: Global Offensive — еще одна игра от Valve, разработанная совместно с Hidden Path Entertainment и выпущенная в 2012 году. Многопользовательский шутер от первого лица, который тоже является популярной киберспортивной дисциплиной.
Игроки делятся на две команды: террористов, закладывающих бомбу, и членов антитеррористического подразделения, которые должны эту бомбу обезвредить. Доступны также другие игровые режимы, в том числе схватка против ботов. В сети запущено множество серверов, где можно найти противников любого уровня мастерства.
World of Tanks

Многопользовательский аркадный танковый симулятор от белорусской студии Wargaming, распространяемый по модели F2P. Выпущен в 2010 году. Игра на пересечении жанров шутер, стратегия и РПГ. Основная концепция игры — PVP сражения двух команд игроков, которые управляют танками или САУ. Побеждает команда, которая захватит базу противника или уничтожить всю его технику.
Здесь есть множество карт и несколько игровых режимов. Регулярно проводятся различные ивенты. Игрок зарабатывает валюту, за которую может купить новые танки, прокачать экипаж, установить различные улучшения. Некоторая боевая техника доступна только за донат.
Bioshock Infinite
Синглплеерный шутер от первого лица с элементами РПГ, созданный в стилистике стимпанка. Выпущен в Bioshock Infinite в 2013 году, третья часть знаменитой серии. Сюжет рассказывает о путешествии частного детектива Букера Девитта в вымышленный летающий город Колумбия, где он должен найти девушку по имени Элизабет. Это не продолжение предыдущих игр серии, действие которых разворачивалось в подводных городах, а новая независимая история.

Игра получила огромное одобрение как со стороны критиков, так и поклонников видеоигр. А стильная Элизабет часто становится объектом внимания косплееров, и ее образ можно увидеть почти на любом крупном тематическом фестивале.
Penumbra

Серия игр в жанре survival horror от шведской студии Frictional Games, в точнее 2 игры и 2 дополнения к ним. Запускаются на Windows, Linux и OS X.
Фишка серии — нетипичное взаимодействие с игровым миром. Например, чтобы открыть дверь, недостаточно нажать одну клавишу — игрок должен нажать кнопку мыши и сделать движение, как бы проворачивая ее вниз, а затем толкнуть или немного приоткрыть саму дверь.
Аналогично можно перетаскивать некоторые игровые предметы и бросать их в противников. Здесь отсутствует огнестрельное оружие, поэтому отбиваться от монстров придется подручными предметами: молотком, огнетушителем или киркой. Задача не из легких, поэтому конфликт лучше предотвратить, чем ввязываться в него.
Metro Redux

Переиздание постапокалиптических шутеров от первого лица Metro 2033 и Metro: Last Light. В его рамках игры подверглись ремастерингу и были портированы на консоли нового поколения. Издание появилось в 2014 году.
Все части игры Metro базируются на серии книг Дмитрия Глуховского в жанре научной фантастики. Остатки человечества после ядерной катастрофы ютятся в московском метро, которое превратилось в настоящий город, состоящий из отдельных независимых полисов. Возможно, на Земле остались и другие выжившие, но об этом пока ничего не известно.
Главный герой по имени Артем должен решить конфликт с гуманоидными существами, которых прозвали «черными». Для получения хорошей концовки на протяжении обеих игр нужно максимально отказать от насилия, где это возможно, стараясь решить конфликты мирным путем, или не убивать монстров без крайней необходимости, передвигаясь в режиме скрытности.
Казаки 3
Стратегия в реальном времени, выпущенная украинской компанией GSC Game World в 2016 году. Игра является ремейком первой части с доработанной графикой. Геймплей мало отличается от прочих игр подобного жанра: игроки строят собственную базу, добывают ресурсы, нанимают войска и обучают их, покупают улучшения и апгрейд для построек и т. д. Главная задача — разрушить вражескую базу.
Planetary Annihilation

Еще одна стратегия в реальном времени, но более масштабная. На этот раз вам предстоит управлять огромными космическими флотилиями и разрушать целые планеты. Как и в прочих RTS, здесь нужно быстрее противников отстроить базу и растоптать их, но на этот раз на растерзание дается целая звездная система.
Это добавляет некоторый сложности, так как за объемным игровым полем, размеры которого стали существенно больше и уследить теперь не так просто. А самый ваш уязвимый юнит — командир, с которым вы начинаете игру. Стоит ему погибнуть, и миссия считается проваленной.
WAKFU
Изометрическая MMORPG в анимешном стиле, выпущенная в 2011 году. Некогда была браузерной, но теперь это клиентская игра, распространяемая через Steam. Бои происходят в пошаговом режиме, при этом персонаж расходует ману и очки действия. Доступно 12 классов, каждый из которых может выучить по 25 заклинаний. В игре нет занудного фарма и сложных механик. В первую очередь она рассчитана на казуалов, которые хотят расслабиться, проведя часик-другой перед компьютером.
Fishing Planet

По отзывам фанатов жанра, это один из наиболее реалистичных симуляторов рыбалки для PC. Доступны разное снаряжение, несколько мест для ловли и огромный выбор рыб, которых вам предстоит поймать. Игра может похвастаться отличной графикой и реалистичным поведением добычи. Меняются время суток, освещение, погода, атмосферное давление, что влияет на игровой процесс. В игре честный F2P: нет ничего, что нельзя купить за игровую валюту, а донат только ускоряет развитие.
Faeria

Карточная коллекционная игра с тактическими элементами. Каждая карта представляет собой отряд, который может двигаться по разделенному на гексы игровому полю. Задача игрока — перейти через небольшую локацию, уничтожая отряды противника, и разделаться с боссом. Главное отличие от прочих ККИ в том, что на каждый ход расходуется манна, а поэтому без налаженной микроэкономики и захвата колодцев ваша атака обречена на провал. Есть несколько игровых режимов. В одиночной кампании часто попадаются головоломки, где победу нужно одержать за 2-3 хода.
Stellaris

Глобальная 4Х стратегия в режиме реального времени, выпущенная шведской студией Paradox Development Studio в 2016 году. В 2019 портирована на консоли. Основные элементы геймплея — исследование космоса, управление государством и взаимодействие с другими расами.
Партия разыгрывается в процедурно сгенерированной галактике, отраженной на плоскости. Вы управляете одной из империй и ваша задача — победить противников по очкам развития, или же уничтожить всех конкурентов. Можно выбрать вид, которым вы будете играть, этические принципы расы, ее физические способности, форму правления и оптимальные условия для обитания.
Quake III Arena
Шутер от первого лица, который в свое время был культовым. Выпущен студией id Software в 1999 году. В отличие от предыдущих игр серии, игра ориентирована на многопользовательский режим, хотя и возможно сражения с ботами, если нет подключения к интернету.
К игре выпущено множество модификаций, особенно турнирных, упрощающих проведение чемпионатов и настройку клиентской части. В 2010 году вышла Quake Live — модифицированная версия, которую можно запустить в любом браузере. В целом, Quake III Arena считается одной из лучших дисциплин в киберспорте, а соревнования по ней иногда все еще проводятся.
Всё об OpenGL в Dota 2
Уже несколько лет назад разработчики добавили в клиент поддержку технологий OpenGL и Vulkan. Мы вам рассказываем, что это за технологии, как их скачать и установить, а также почему поддержка данных API настолько важна для корпорации Valve и Dota 2.

Что такое OpenGL Support и Vulkan Support?
Для того, чтобы организовать взаимодействие одного приложения с другим в рамках выполнения определенной общей цели используется API (интерфейс программирования приложений). Он фактически улучшает связь между игрой и видеокартой, чтобы повысить производительность графики. OpenGL — это API, который используется при написании приложений с двухмерной и трехмерной графикой, одним из главных преимуществ которого является кроссплатформенность. Прямой аналог и главный конкурент этой технологии — DirectX, разрабатываемый корпорацией Microsoft.
История внедрения OpenGL и Vulkan в Dota 2
В сентябре далекого 2015 года компания Valve анонсировала внедрение поддержки OpenGL в Dota 2. К подобному решению компания подходила долго и планомерно — так, одной из основных причин для принятия подобного решения стал выпуск собственного железа, которое работает под управлением операционной системы Steam OS, основанной на одном из дистрибутивов Linux. Проблема усугублялась тем, что в среде Linux было невозможно скачать и запустить приложения, адаптированные под Windows. В связи с этим, компании пришлось искать решение — OpenGL. Именно данный набор API позволил компании перейти от версии Dota 2, предназначенной сугубо для Microsoft Windows к мультиплатформенному аналогу.
Вскоре после этого, компания-разработчик OpenGL решила выпустить обновленную версию своего продукта, которому судьбой было предначертано стать будущим конкурентом новинки от Microsoft — DirectX 12. Изначально «наследник» был известен как «новое поколение OpenGL», иначе говоря, «glNext». Впоследствии названием для нового детища стало слово «Vulkan». Новая версия сохранила столь необходимое для Dota 2 преимущество в мультиплатформенной поддержке — версия позволяла скачивать и запускать игры на таких платформах, как Windows, Linux и Mac OS.
В то же время, ещё одним из решающих факторов к внедрению Vulkan в Dota 2 стало то, что DirectX 11 и OpenGL были созданы с учетом одноядерных процессоров — в результате одно ядро управляет большинством различных процессов, в то время как остальные работают с низкой скоростью, а иногда и вовсе отключены. Новинка поддерживала процессоры с несколькими ядрами и потоками, что позволяло игре максимально продуктивно использовать все возможности устройства. Также, по заверениям разработчиков, Vulkan, в сравнении с OpenGL, уже на момент своего выхода позволял передавать намного большую часть требуемых задач от процессора к видеокарте. Это позволяло вывести опыт игроков в Dota 2 на совершенно новый уровень.
К сожалению, более слабые устройства оказались не способны на поддержку новинки. Изначальными требованиями к установке были следующие спецификации: