korlibs/korge


*MOVED* https://github.com/korlibs/korlibs/tree/master/korge :: Korge Game Engine. Kotlin Game Engine for Desktop, Web and Mobile

https://github.com/korlibs/korlibs/tree/master/korge

License: Apache-2.0

Language: Kotlin

Keywords: 2d, android, animate, coroutines, engine, flash, game, game-engine, html5, jtransc, jvm, kotlin, kotlin-coroutines, lipsync, particles, spriter, swf, tiled, tweens, ui


KorGE: Kotlin cORoutines Game Engine

Build Status

gitter

All Soywiz's KORLIBS

Documentation:

Compiling:

Add to $HOME/.gradle/gradle.properties this line (since this project includes intellij plugin + gradle plugin requires a lot of memory to work):

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

Building:

./gradlew build

Run intelliJ IDE with the plugin installed:

./gradlew runIde

Modern, portable, testable and enjoyable Game Engine for Kotlin

Check korge-sample folder for looking actual code.

Korge works with Korio, Korim, Korma, Korag, Korau and Korui and it is really portable. It is designed to work with JTransc and will work with pure Kotlin targets as they support reflection and multi-target projects arises.

It provides a flash-like optimized Views 2d scene tree. (3d will be supported in future versions)

It has a ResourceRoot, that is a mountable virtualfilesystem for accessing resources. You can asynchronously load resources at any time.

Along Korio also allows to develop websockets applications (doing fullstack using kotlin and sharing code). And Korge allows you to run server/client in the same run and debug. Check korge-kingdom.

It can operate headless, so it is travis friendly, and allows testing actual game scenes (controllers) with great utility functions.

It features scenes and asynchronous dependency injection. It is completely asynchronous including resource loading, so doesn't require preloading all assets.

It allows to load Adobe Flash/Adobe Animate SWF files directly (including instantiating library elements and accessing elements by name) generating atlas with shapes. Or preprocess at compilation them generating ANI files (simpler + atlas-based) animations that will load quickly on low-end devices.

It allows to render vector graphics using platform-specific libraries transparently.

It features tweens with easings.

It features components attached to views acting as decorators. Decorators/Components are usually declared smoothly as extension methods. Supports docking and different scaling strategies. Allows to adjust speed per view. Leak-free design.

Using Korma allows to operate with non trivial polygons and vectors, including triangulation and TRA* pathfinding.

It supports tiled tilemaps out of the box. It supports Spriter libraries and skeletons.

It supports Bitmap fonts and device fonts. Supports automatical bitmap font generation from device fonts. Also supports simple HTML rendering.

Supported platforms:

  • JVM support
  • Android support
  • JavaScript support

Planned features:

  • Particle support
  • Spine support
  • Adobe AIR support using JTransc (korag will be implemented using Stage3D)
  • iOS with Adobe AIR (and later with plain C++)

Example:

class Sample1Scene(
	@Path("korge.png") val korgeTex: Texture,
	@Path("simple.swf") val swfLibrary: AnLibrary,
	@Path("test1.swf") val test1Library: AnLibrary,
	@Path("test4.swf") val test4Library: AnLibrary,
	@Path("as3test.swf") val as3testLibrary: AnLibrary,
	@Path("soundtest.swf") val soundtestLibrary: AnLibrary,
	@Path("progressbar.swf") val progressbarLibrary: AnLibrary,
	@Path("buttons.swf") val buttonsLibrary: AnLibrary,
	@Path("tiles.png") val tilesetTex: Texture,
	@Path("font/font.fnt") val font: BitmapFont,
	@Path("spriter-sample1/demo.scml") val demoSpriterLibrary: SpriterLibrary,
	@FontDescriptor(face = "Arial", size = 40) val font2: BitmapFont
) : Scene() {
	suspend override fun init() {
		super.init()

		tileset = TileSet(tilesetTex, 32, 32)

		sceneView.container {
			this.tileMap(Bitmap32(8, 8), tileset) {
				this.x = -128.0
				this.y = -128.0
				alpha = 0.8
			}
			this.dockedTo(Anchor.CENTER_CENTER)
		}.mouseSampleController()
	}
}

Project Statistics

Sourcerank 11
Repository Size 6.6 MB
Stars 48
Forks 8
Watchers 4
Open issues 1
Dependencies 58
Contributors 3
Tags 13
Created
Last updated
Last pushed

Top Contributors See all

Carlos Ballesteros Velasco Paweł johnnyleitrim

Packages Referencing this Repo

com.soywiz:korge-common
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korfl-common
korge: Kotlin cORoutines Game Engine
Latest release 0.19.1 - Updated - 48 stars
com.soywiz:korfl-js
korge: Kotlin cORoutines Game Engine
Latest release 0.19.1 - Updated - 48 stars
com.soywiz:korge-ext-tiled
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-intellij-plugin
korge: Kotlin cORoutines Game Engine
Latest release 0.15.8 - Updated - 48 stars
com.soywiz:korge-ext-spriter-js
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-tiled-js
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-sample
korge: Kotlin cORoutines Game Engine
Latest release 0.12.0 - Updated - 48 stars
com.soywiz:korge-ext-fla-common
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Published - 48 stars
com.soywiz:korge-ext-particle
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-lipsync-js
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-ui-js
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-tiled-common
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-fla-js
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-gradle-plugin
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-particle-js
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-android
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-spriter
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-swf-common
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars
com.soywiz:korge-ext-lipsync-common
korge: Kotlin cORoutines Game Engine
Latest release 0.19.2 - Updated - 48 stars

Recent Tags See all

0.15.6 October 29, 2017
0.14.0 October 09, 2017
0.12.0 August 27, 2017
0.10.0 May 08, 2017
0.9.1 May 05, 2017
0.9.0 April 30, 2017
0.8.5 April 27, 2017
0.8.4 April 23, 2017
0.8.3 April 18, 2017
0.8.1 April 15, 2017
0.8.0 April 03, 2017
0.7.0 March 01, 2017
0.5.2 January 29, 2017

Something wrong with this page? Make a suggestion

Last synced: 2018-09-27 13:48:36 UTC

Login to resync this repository