Popularity
5.1
Growing
Activity
9.1
Declining
158
5
3

Description

LittleKt (Little Kotlin) is a Kotlin multiplatform 2D game development framework based on OpenGL that is inspired by libGDX and KorGE. The goal of this project is to allow the freedom and flexibility that libGDX offers with enjoyable idiomatic features coded in Kotlin that KorGE has to offer.

Programming language: Kotlin
License: Apache License 2.0
Tags: Game Development     Android     Kotlin     KotlinJS     KotlinJVM     Multiplatform     Kotlin Coroutines    

LittleKt alternatives and similar libraries

Based on the "Game Development" category.
Alternatively, view littlekt alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of LittleKt or a related project?

Add another 'Game Development' Library

README

Logo

License build Download

Currently in development.

Features - Docs - Samples

A 2D game framework written in Kotlin

LittleKt (Little Kotlin) is a Kotlin multiplatform 2D game development framework based on OpenGL that is inspired by libGDX and KorGE. The goal of this project is to allow the freedom and flexibility that libGDX offers with enjoyable idiomatic features coded in Kotlin that KorGE has to offer.

Check out some planned features

Install

LittleKt releases are hosted on OSSRH and can be installed like so:

build.gradle.kts:

repositories {
    mavenCentral()
}

kotlin {
    jvm {
        compilations.all {
            kotlinOptions.jvmTarget = "11" // littlekt targets jvm 11 so we must target atleast 11
        }
    }
}

val littleKtVersion = "0.1.0" // get the latest release at the top
val kotlinCoroutinesVersion = "1.6.0" // or whatever version you are using

sourceSets {
    val commonMain by getting {
        dependencies {
            implementation("com.lehaine.littlekt:core:$littleKtVersion")
            implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutinesVersion")  // littlekt requires coroutines library on the classpath
        }
    }
}

Snapshots

On every build a snapshot gets created. If you want to be on the bleeding edge then you can pull from the snapshot repo. Note: this will most likely cause breaking changes

build.gradle.kts:

repositories {
    maven(url ="https://s01.oss.sonatype.org/content/repositories/snapshots/")
}

kotlin {
    jvm {
        compilations.all {
            kotlinOptions.jvmTarget = "11" // littlekt targets jvm 11 so we must target atleast 11
        }
    }
}

val littleKtVersion = "0.0.2-SNAPSHOT"
val kotlinCoroutinesVersion = "1.6.0" // or whatever version you are using

sourceSets {
    val commonMain by getting {
        dependencies {
            implementation("com.lehaine.littlekt:core:$littleKtVersion")
            implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutinesVersion")  // littlekt requires coroutines library on the classpath
        }
    }
}

Current targets

Platform Support Expected By
Desktop (JVM) Current version
Web (WebGL/2) Current version
Android Planned v 0.2
iOS Planned v1.0
Desktop (Native) -- Long Term

Acknowledgements

LittleKt was put together based on bits and pieces of features found across multiple engines/frameworks and languages that were very enjoyable to use and flexible. If a piece a code looks familiar, feel free to open an issue with details, so that we can properly attribute the code.

A big thanks to the folks over on libGDX and KTX, KorGE, and MiniGDX.

The very popular and amazing libGDX which is the main inspiration of this framework as well as the Kotlin framework KTX for the clever and awesome utilites and extensions built on top of libGDX.

Carlos Velasco's (soywiz) awesome Kotlin game engine KorGE which has a bunch of very enjoyable features and awesome ideas that were brought over to be used in LittleKt.

David Wursteisen's excellent multiplatform game framework MiniGDX that allowed LittleKt to get up and running quickly.


*Note that all licence references and agreements mentioned in the LittleKt README section above are relevant to that project's source code only.