GamesIndustry подвели итоги рынка видеоигр за 2022 год. Любопытно и то, что рынок в целом упал на 4.3% относительно прошлого года, и некоторые детали.
Например, внезапно выросли PC-игры на фоне падения консолей и мобилок. И уход консолей из России не мог так сильно повлиять, как ни крути. Это какая-то более общая тенденция. С чем такое может быть связано? Людям надоели однообразные ААА-тайтлы, и они стали больше играть в инди? Предсмертная агония крипты наводнила рынок дешёвыми видеокартами? Интересно, что будет ещё через год, неужели нас ждёт реинкарнация ПК-гейминга?
Я последние годы был лютым сторонником консолей, но ситуацию с ними для русских вы и сами знаете, так что вот я обзавёлся 4090 и собираюсь с консолей потихоньку уходить. Прикольно, если и остальной мир (по другим причинам) тоже начнёт возвращаться на ПК.
Ещё кстати зацените разрыв между продажами игр на дисках и в цифре. Диски для ПК вообще нет никакого смысла выпускать, только впустую материалы тратить. У меня в последних трёх или четырёх компьютерах не было привода даже. С консолями сложнее, конечно: там игры дорогие, и многие обмениваются дисками.
Ну и нельзя не посетовать очередной раз на 50% мирового дохода с мобилок. Это как если бы продажи алкоголя превышали продажи всей остальной еды вместе взятой. Впрочем, просадка мобильного рынка почти самая большая, возможно, у этого человечества ещё есть шанс.
Источник.
#games
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js