IT-инфраструктура для бизнеса и творчества
Разработка
Black VR

Самый популярный движок в Steam — Unity. Но на Unreal Engine делают самые дорогие игры

  • Разработчик Ларс Дусе (Lars Doucet) представил подробный анализ самых распространенных игровых движков в Steam. Для этого совместно с сайтом SteamDB он собрал большое количество данных о тайтлах в магазине Valve и инструментах, с помощью которых они были сделаны.
  • Дусе отмечает, что массовое распространение современных движков началось в 2013 году. Это хорошо заметно на представленном интерактивном графике по ссылке.
  • Unity с большим отрывом лидирует. Движок, изначально выпущенный в 2005 году эксклюзивно для Mac, сегодня стал самым распространенным кросс-платформенным инструментом для создания игр. Он особенно популярен среди авторов небольших и средне-бюджетных проектов.
  • Unreal Engine — впервые был использован в 1998 году в одноименном шутере Epic Games. Со временем компания значительно повысила его доступность, и сегодня на нем работают авторы игр самых разных жанров. Среди них — ARK: Survival Evolved, mordhau, PUBG, Sea of Thieves, XCOM 2, Borderlands 3 и многие другие.
  • Самые дорогие игры делают с помощью Unreal Engine. 25% тайтлов, созданных на движке Epic Games, продаются по цене от $29,99. Для сравнения, доля таких игр на Unity составляет всего 6%.
  • Сегодня разработчики практически перестали создавать собственные движки и предпочитают готовые решения. В 2021 году меньше 20% игр попали в категорию «неизвестные движки», которая преимущественно предназначена для кастомных фреймворков.
  • Картина кардинально меняется, если взглянуть на список самых кассовых игр Steam. Их разработчики, наоборот, чаще используют собственные движки. Например, в списке «платиновых» тайтлов Steam присутствуют всего четыре проекта на Unreal Engine и лишь два на Unity.

Подробнее о методологии исследования и о самых популярных движках читайте в источнике по ссылке.

{ "author_name": "Black VR", "author_type": "self", "tags": ["\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","unreal_engine","unity","steam"], "comments": 0, "likes": 2, "favorites": 6, "is_advertisement": false, "subsite_label": "dev", "id": 290203, "is_wide": true, "is_ugc": true, "date": "Mon, 06 Sep 2021 11:26:52 +0300", "is_special": false }
(function () { let cdnUrl = `https://specialsf378ef5-a.akamaihd.net/SelectelBranding/images/` let previousArticleNumber = null let currentArticleNumber = 0 let platform = 'Desktop' let articles = [ { name: 'camera', url: `${cdnUrl}CameraCat`, text: 'умную камеру для\u00A0наблюдения за\u00A0котиками', link: 'https://vc.ru/selectel/306690', num: 3 }, { name: 'chill', url: `${cdnUrl}ChillCat`, text: 'трекер, который подскажет, когда пора отдохнуть', link: 'https://vc.ru/promo/288561-eye-tracker', num: 1 }, { name: 'cloud', url: `${cdnUrl}CloudCat`, text: 'котика: даёшь ему «пять», а\u00A0он делает бэкап в облако', link: 'https://vc.ru/dev/294799-maneki-neko', num: 2 } ] let buttonCycle = document.querySelector('.button--cycle') let buttonChoose = document.querySelector('.button--choose') let buttonMobile = document.querySelector('.button--mobile') let textField = document.querySelector('.selectel-footer-subtitle') let imageAgent = document.querySelector('.image--agent') let banner = document.querySelector('.selectel-footer') buttonCycle.addEventListener('click', cycleClick) buttonChoose.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) buttonMobile.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) let media = window.matchMedia("(max-width: 570px)") media.addEventListener('change', matchMedia) function matchMedia() { if (media.matches) { platform = 'Mobile' } else { platform = 'Desktop' } update() } matchMedia() function cycleClick(event) { sendEvent(`Promo ${articles[currentArticleNumber].num} Right`, 'Click') if (event) { event.preventDefault() event.stopPropagation() } window.open('https://vc.ru/tag/selectelDIY', '_blank') //cycle(event) } function cycle(event) { // incrementArticleNumber() textField.innerHTML = generatedText() imageAgent.src = articles[currentArticleNumber].url + platform + '.svg?3' imageAgent.setAttribute("class", "") imageAgent.classList.add('image--agent', articles[currentArticleNumber].name) banner.href = articles[currentArticleNumber].link } function update() { banner.href = articles[currentArticleNumber].link imageAgent.src = articles[currentArticleNumber].url + platform + '.svg' textField.innerHTML = generatedText() } function incrementArticleNumber() { previousArticleNumber = currentArticleNumber if (currentArticleNumber >= articles.length - 1) { currentArticleNumber = 0 } else { currentArticleNumber++ } } const sendEvent = (label, action = 'Click') => { const value = `SelectelDIY — loc: Footer — ${label} — ${action}`; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } }; function generatedText() { let defaultText if (platform === 'Desktop') { defaultText = `Мы тут собрали %text%. Хотите научим?` } else { defaultText = `Мы тут собрали %text%.` } return defaultText.replace('%text%', articles[currentArticleNumber].text) } function getRandom(min, max) { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min + 1)) + min } (function create() { currentArticleNumber = getRandom(0, articles.length - 1) cycle() let page = document.querySelector('.page--entry') if (page) { function insertAfter() { let parents = page.querySelectorAll('[data-id="7"]') let referenceNode = parents[0] referenceNode.parentNode.insertBefore(banner, referenceNode.nextSibling); loaded() } setTimeout(() => insertAfter(), 0) } }()) function loaded() { banner.classList.add('loaded') } loadImages([ `${cdnUrl}CameraCatDesktop.svg`, `${cdnUrl}ChillCatDesktop.svg`, `${cdnUrl}CloudCatDesktop.svg`, `${cdnUrl}CameraCatMobile.svg`, `${cdnUrl}ChillCatMobile.svg`, `${cdnUrl}CloudCatMobile.svg?3`, ]) function loadImages(urls) { return Promise.all(urls.map(function (url) { return new Promise(function (resolve) { var img = document.createElement('img'); img.onload = resolve; img.onerror = resolve; img.src = url; }); })); } }())
0
0 комментариев
Популярные
По порядку
Читать все 0 комментариев
Онлайн-кинотеатр IVI объявил дату премьеры сериала «Везёт» с Евгением Цыгановым​
Волна «Кальмара»: как бренды прокатились на тренде и какие выводы можно сделать маркетологам

С выхода южнокорейского сериала «Игра в кальмара» прошёл месяц. Шумиха вокруг него утихает, и можно подводить итоги.

Почему индексные фонды стали популярными. Рассказывает персональный брокер
«2ГИС» представил обновлённый навигатор с мини-картой на экране, данными о камерах и парковках Статьи редакции

Его уже подключил «Ситимобил».

Обновлённый интерфейс навигатора  «2ГИС»
Как имиджевый проект о безопасном вождении привлёк лиды и расширил маркетинговую воронку страховой компании

А игра с виртуальной фарфоровой статуэткой помогла 6,5 тысячам водителей не превышать скорость.

Не мытьем так катаньем: в "Битрикс24" твердо решили заработать

Вчера вдруг обнаружил, что не могу попасть в созданный уже достаточно давно свой бесплатный "Битрикс24". В последнее время им практически не пользовался, так как перешел окончательно на "1С: УНФ". Но остались кое-какие данные и я потихоньку их копировал из "Битрикс24".

На OZON.ru для оплаты предлагаются чужие банковские карты

Сегодня вечером я разместил заказ на OZON.ru, перешел к оплате и обнаружил сохраненную карту, чему я несколько удивился, т.к. обычно их нигде не сохраняю. Тем не менее, я ввёл CVV код и перешел к подтверждению платежа. Но push и смс от банка упорно не приходили. Я вернулся на шаг назад и понял, что OZON предлагает оплатить мой заказ неизвестной…

Здоровый сон взрослого человека — это засыпать за 15 минут и не вставать ночью попить и пописать

Послушала на днях 2х-часовое выступление «Здоровый сон» врача-невролога, сомнолога Елены Царевой. Самые важные поинты 1 минуту чтения:

Adobe представила веб-версии Photoshop и Illustrator с ограниченными возможностями для совместной работы Статьи редакции

Пользователи смогут вместе работать над проектом, не открывая и не скачивая десктопные приложения. Подписка Creative Cloud для просмотра не нужна.

Что означает выражение «цена на нефть»

Что есть «мировые цены на нефть», о которых говорится в СМИ, где они формируются и почему нефтяные бенчмарки зачастую не являются в строгом смысле ценами на нефть.

null