Tras dos años en desarrollo, finalmente he liberado KorGE, un engine para videojuegos multiplatforma escrito completamente en Kotlin.

KorGE genera aplicaciones nativas que pesan poco, y permite escribir videojuegos en Kotlin Common. Proporciona un plugin de gradle con tareas para generar aplicaciones para la JVM, JavaScript en Navegador y Apache Cordova, Escritorio Nativo, y Android y iOS Nativos.

Página del proyecto: https://korge.soywiz.com/

 
Enlaces adicionales:

Habrá tutoriales pronto.

Junto a KorGE he liberado una serie de librerías multiplatforma independencies de las que se nutre KorGE, pero que se pueden utilizar independientemente en vuestros proyectos de Kotlin Common o específicos para cualquiera de las plataformas soportadas por Kotlin:

  • Klock - Utilidades de fecha y tiempo
  • Kmem - Utilidades de Bits, Arrays y memoria rápida multiplatforma
  • Kds - Estructuras de Datos más avanzadas y versiones optimizadas sin Boxing
  • Krypto - Librería criptográfica (SecureRandom, AES, MD5, SHA1 y SHA256)
  • Kbox2d - Port de Box2D para Kotlin/Common
  • Korio - Sistemas virtuales de archivos, streams síncronos y asíncronos, cliente http, websockets, compresión (deflate y lzma), utilidades asíncronas, acceso dinámico común para JVM y JS, y mucho más.
  • Korim - Carga de archivos de imágenes nativo y pure-kotlin, gestión de color y de formatos de color, manipulación de imágenes, generación de códigos QR, renderizado vectorial nativo, fuentes nativas y TTF y mucho más.
  • Korma - Utilidades matemáticas + geometría, transformaciones afines, Matrix, Matrix3D, puntos, rectángulos, transformaciones, curvas beziers, descripciones vectoriales, triangulación, pathfinding A* y TriA* con funnel, operaciones de unión, intersección, xor, etc. de vectores y triángulos.
  • Korau - Carga y reproducción de sonidos y música (mp3, ogg etc.)
  • Korgw/Kgl/Korag - Similar a GLUT. Utilidades para ventanas con gráficos acelerados. Interfaz abstracta para shaders y renderizado con implementación inicial con opengl y webgl, pero con futuras implementaciones con metal y vulkan.
  • Klogger - Logger para Kotlin
  • KorGE - Engine para juegos inicialmente con soporte nativo para 2D (y 3D si se gestiona a mano), con soporte futuro para 3D asistido.
  • KTCC - Compilador de C Compiler y pequeño editor web con autocompletado escrito completamente en Kotlin que genera código Kotlin (ideal para portear librerías hechas en C)