Features

LittleKt is a Kotlin multiplatform 2D game development framework based on WebGPU 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.

Some of the features LittleKt currently has to offer:

Freedom and flexibility:

Various useful tools and abstractions but still allow access to the underlying code.

Kotlin

100% written in Kotlin which allows to take advantage of all the great features the language offers.

Cross-platform

Thanks to Kotlin - building for multiple platforms is easy. Currently supports desktop via JVM and web targets, as well as Android, iOS, and desktop via native planned in the future.

Fonts

Loaders and renders to make font’s easy to use.

  • TTF file parser and loader
  • GPU vector font rendering of TTF files on the fly based off of Will Dobbie’s article
  • Bitmap fonts
  • Utilities for measuring text

Higher-level 2D APIs

  • Orthographic camera and viewports
  • Batching and caching
  • Animations
  • Particles
  • Audio and audio streaming
  • Texture atlases, slicing, and pixmap editing

Tilemaps

Includes first class support for LDtk and Tiled map loading and rendering.

2D Scene Graph and UI

A light weight scene graph that is easily extensible that can be used to create your own engine. Includes a UI implementation with a fancy DSL that can be used along side.

Low-level WebGPU utilies and access

Directly access and use the WebGPU instance to do exactly what you need to do.

Includes utility classes built on top of WebGPU such as:

  • Shaders
  • Meshes
  • Textures
  • Cameras

Virtual File System

A file system abstraction that allows to easily read and write to files. Includes streaming support and a loaders to make loading assets a breeze.

Audio

Easily load and play clips of audio. As well as streaming audio.

Math

Extensive matrix and vector classes as well as a ton of extensions to make calculations easier.

Utilities

Loads of quality-of-life and helper extensions to make writing code a bit more enjoyable.