TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #577 · 1.10

Закончился второй этап конкурса "Код Петербурга". На первый я отправил скилл для Маруси, позволяющий гибко искать события по базе KudaGo. Но с самого начала говорили, что среди критериев оценки будут метрики: число пользователей и так далее. Там, где есть метрики, нужно делать развлекательный проект или игру, без вариантов. У "полезных" самостоятельных приложений (не связанных с внешним бизнесом) метрик нет почти никогда. Я посмотрел на топ развлекательных приложений в каталоге ВК и увидел, что местная аудитория любит кликеры / idle. Это такие игры, которые максимально абстрагируют игровой процесс: буквально конвертируют время вашей сессии и совершение простейших действий во внутриигровой ресурс. Грубо говоря, вы получаете очки, потому что просто сидите в игре, и на этом все. Ну, иногда нужно нажимать на экран. О причинах популярности и кажущейся примитивности этого жанра я сейчас рассуждать не берусь, но во второй этап решил сделать кликер про музеи Петербурга. Напомню, что одно из условий конкурса: использовать API городских сервисов. Здесь я взял базу данных Министерства Культуры. В игре "Музейный Барон" вам нужно нажимать на посетителей с разными предпочтениями, получать с них деньги, на которые строить музеи, позволяющие получать еще больше денег, в том числе автоматически. Музеи, разумеется, настоящие. Я, кстати, пока подбирал, узнал о нескольких новых, которые хочется посетить. Еще есть, например, возможность в реальности зачекиниться по GPS у нужного музея и получить его со скидкой. И, конечно, я не отказал себе в удовольствии сделать отдельный режим "Ночь Музеев", генерирующий в разы больше посетителей. Вообще, делать кликер было интереснее, чем кажется. Отдельно пришлось придумывать, как не допустить написание игроками ботов для автоматизации. Ну и математику тоже пришлось продумывать, строя графики, хотя, кажется, есть куда улучшать. #dev#games

Hashtags

Резултати

Намерени 6 подобни публикации

Търсене: #ksp

当前筛选 #ksp清除筛选
Android Broadcast

@android_broadcast · Post #9592 · 23.10.2025 г., 14:18

🏝 KSP стало независеть от версии Kotlin. Неужели API плагинов Kotlin компилятора стало стабильным? Обновляйтесь до версии KSP 2.3.0 (версии Kotlin в названии больше нету) Также KSP1 теперь deprecated, нужно чтобы всё умело работать с новой версией. #ksp#kotlin

Hashtags

Android Broadcast

@android_broadcast · Post #8922 · 09.04.2025 г., 13:23

Вышел KSP 2.0, который теперь работает на KSP2 по умолчанию. Теперь работает на K2 и отдельный генератор исходников с большей гибкостью #kotlin#ksp

Hashtags

Android Broadcast

@android_broadcast · Post #8912 · 07.04.2025 г., 06:04

Metro - Новый DI фреймворк на чистом Kotlin (ещё в разработке) @DependencyGraph interface AppGraph { val httpClient: HttpClient @Provides private fun provideFileSystem(): FileSystem = FileSystem.SYSTEM } @Inject class HttpClient(private val fileSystem: FileSystem) @Inject @Composable fun App(circuit: Circuit) #kotlin#di#ksp

Со спутника OTP-2 на частоте 400500 кГц каждые пять минут транслируют музыку из заставки игры Kerbal Space Program KSP — компьютерная игра в жанре симулятор, разработанная компанией Squad. События происходят в вымышленной вселенной, где человекоподобные инопланетяне «кербалы» начинают свою космическую программу, которая развивается под управлением игрока #KSP #игра #спутник #радио

Android Broadcast

@android_broadcast · Post #9301 · 06.07.2025 г., 18:53

🏝Проблемы с порядком Gradle Task при использовании KSP 2.0.2 Продолжаю разработку проекта FrameIO - Kotlin Multiplatform клиента для сервиса frame.io и стоклнулся с падением сборки из-за порядка задач (ниже стек с примером проблемы): Some problems were found with the configuration of task ':module:kspDebugKotlinAndroid' (type 'KspAATask'). - Gradle detected a problem with the following location: './module'. Reason: Task ':module:kspDebugKotlinAndroid' uses this output of task ':module:javaPreCompileDebug' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':module:javaPreCompileDebug' as an input of ':module:kspDebugKotlinAndroid'. 2. Declare an explicit dependency on ':module:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#dependsOn. 3. Declare an explicit dependency on ':core:user-session:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#mustRunAfter. For more information, please refer to https://docs.gradle.org/8.14.2/userguide/validation_problems.html#implicit_dependency in the Gradle documentation. Стек для сборки: Gradle 8.14.2, Kotlin 2.2.0, KSP 2.2.0-2.0.2, AGP 8.11.0 Решения проблемы пока нету в KSP (одно из issue), поэтому я задаю порядок Gradle Task сам: // build.gradle.kts модуля где подключен ksp afterEvaluate { android.libraryVariants.forEach { variant -> val variantCapitalized = variant.name.capitalized() tasks.named("ksp${variantCapitalized}KotlinAndroid") { dependsOn( "${variant.name}AssetsCopyForAGP", "process${variantCapitalized}Manifest", "write${variantCapitalized}AarMetadata", "javaPreCompile${variantCapitalized}", "merge${variantCapitalized}Assets", "merge${variantCapitalized}JniLibFolders", "merge${variantCapitalized}NativeLibs", "copy${variantCapitalized}JniLibsProjectOnly", "generate${variantCapitalized}EmptyResourceFiles", "copy${variantCapitalized}JniLibsProjectAndLocalJars", "prepare${variantCapitalized}ArtProfile", "write${variantCapitalized}LintModelMetadata", "extractProguardFiles", "prepareLintJarForPublish", ) } } } #android#kmp#koltin#ksp