HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Kode
Kha
C2015–2025
Kode / Kha

Kha

Ultra-portable, high performance, open source multimedia framework.

9Distinct people
11Mentions
0Explicit recommenders
1.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Ultra-portable, high performance, open source multimedia framework.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year11 dated mentions

Observed mentions: 2015-06-03 20:00:11 UTC to 2025-11-21 22:38:16 UTC.

0122015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

11 sources
Yeah, I saw the video about that earlier which is what led me to wonder if there was a native JS way now. They used Kha in order to port only the console versions, the desktop versions remained JS from my understanding: https://github.com/Kode/Kha which is built on top of Haxe. This works, but it also means not having a single codebase anymore which would be one of the benefits of a JS based system. There are other options here - something like using an AOT JS compiler like Porffor, but from my understanding it's never been tested (and would probably be missing a lot of support to get it working - like shimming canvas & providing a WebGPU context that the compiled JS could execute against).
In You can make PS2 games in JavaScript
I am glad people are working on it!! Have you seen Kha by any chance? It has similar goals. I find it quite awesome, but it won't gain mass adoption for a bunch of reasons. https://github.com/Kode/Kha Someone built an immediate mode renderer on top https://github.com/armory3d/zui, which is utilised by ArmorPaint https://armorpaint.org. I also use Zui for my own bespoke 2D game engine. I find this tech and tooling really quite amazing (just look at how little source code Zui has) given just how small the ecosystem around it is. I think Kha really illustrates what can be achievable if the lower levels have robust but simple APIs, just exposing the bare minimum as a standard for others to build upon. It really suggest taking a look at the graphics2 (2d canvas like) api. For the kind of project I work on (mostly 2d games), I think it would re
Read the rest
ally awesome if your framework also supported low level audio, and a variety of inputs such as keyboard, mice, and gamepads. If it also had decent text rendering support it would basically be my dream library/framework.
In 3D + 2D: Testing out my cross-platform WASM graphics engine
Also, for even things like physics there are many simple ways to do things. Take Towerfall's arcade physics for example[1]. In under 100 lines you can create the basis for your platformer game. Sure, it's not just pluggable into other pre-existing solutions, ie tile maps, but at least you aren't endlessly hacking all over the place to tweak Unity's physics into submission to get the controls feeling right for your simple 2d game. There is a massive wealth of gamedev knowledge that doesn't seem utilised to its potential because existing engines want sell their pre-canned solutions. I think what the gamedev scene needs are more tools like LDTK[2], with more thought given to how such tools could interop, and a better selection of low level rendering libraries (like Monogame and Raylib) with very robust cross platform support and dead simple
Read the rest
build systems (or none at all). I use a very obscure library called Kha[3] and it has by far and away the best performance for 2d rendering that I have encountered. It is amazing what you can do with just a very basic immediate mode ui library called Zui[4]. I think it is shitty advice to say that you are either building an engine or game. This advice would be applicable if you are building a general purpose game engine, not the highly specific and bespoke engine used for you own game. Your game and your engine are basically the same thing and you take many shortcuts, make many compromises, and build out a rough and minimalistic "editor" used just by your small teams (or yourself) to get the job done. [1] https://maddymakesgames.com/articles/celeste_and_towerfall_p... [2] https://ldtk.io/ [3] https://github.com/Kode/Kha [4] https://github.com/armory3d/zui
In Game Development Post-Unity
The immediate mode UI library (ZUI) that the developer created, and which ArmorPaint is built on, is also really good. I don’t think Kha or ZUI get enough recognition, and I find both of them extremely elegant and pleasant to use. It might also be surprising to know that besides a few files for specifying constants and enums, ZUI is a single file library with only around 2100 lines of code. https://github.com/armory3d/zui https://github.com/Kode/Kha
In ArmorPaint and ArmorLab: open-source alternative to Adobe Substance
At its core the beauty of Flash was the extremely tight interplay between vector graphics in nested timelines, and the the programming environment. Many people compare Flash to Unity, but I really don't find the two all that comparable. You don't create your assets in Unity, and by the time those assets get into Unity you have lost most potential for dynamic behaviour. Flash's tight integration allowed for extremely fast iterations, and its hierarchal model was very flexible and allowed you to work very fast and creatively. I'm surprised no one has had a good crack at re-creating the core functionality of Flash circa 2004, based on web tech, or something like Kha[1]. I've thought many times about starting such a project. I think the biggest challenges are developing a solid vector rendering runtime alongside the vector drawing tools, but
Read the rest
just about everything else that ex-Flashers want can be reduced down to some pretty simple functionality. You could even forego all the cruft of the display list, the event model, etc, and just go with a simpler immediate mode renderer and I think you'd still be retaining those core components that made Flash special. There are so many use cases (eLearning experience, Digital Signage, Touch Screen Kiosks) that Unity isn't particularly suitable for, and for which HTML/Javascript is just clunky, that such a tool could far better accomodate. 1. https://github.com/Kode/Kha.
In Flash Sucks –- But everything else sucks more (2011)
Thanks :) For the first point, yeah I agree, though I would still keep standard API documentation separated. And it gets "worse" when you add the 4th site: https://code.haxe.org which helps with 4th point (partly?). Tricky thing with guides like "how to make a game" is that it's not a haxe-specific thing; it's a haxe framework specific thing which they handle on their own: https://haxeflixel.com/documentation/, https://heaps.io/documentation/home.html, https://github.com/Kode/Kha/wiki (is there a better link for kha?), etc. There are links in https://haxe.org/use-cases/games/ but discoverability could likely be much better and include a generic "how to make a game" start point which points to either framework depending on your needs (2D/3D, mobile/desktop/console/web, etc.). Indeed Haxelib isn't visible :x Now that you mention it, we had
Read the rest
a few haxe newcomers that didn't know about it. We need to do something about that (even if it might get a replacement in the near-ish future https://github.com/HaxeFoundation/haxe/issues/9135) Good point about std lib docs too! Some, maybe including MainLoop, are harder for community to document but we should ask help from core compiler devs.
In LDtk: A modern and open-source 2D level editor
I've been building a map editor using Kha [1] and Haxe UI [2]. Kha does cross platform, hardware accelerated graphics like Skija (it abstracts OpenGL, Metal, and Vulkan). Haxe UI adds a DOM, standard components, CSS styling, etc. I've found it good (the small Haxe community makes author interaction brilliant), though not perfect. Great for the number of people behind it. Using Haxe, the apps can be compiled for native or run in JS. That probably lands it in about the performance category of JVM or above, not that performance is the key factor here. I worked awhile ago on Haxe UI's text field emulation, and there are many tiny details that are easily missed. Line wrapping, text selection, keyboard controls (Home and End), everything. I think those details being spot on are as important as UI styling for most real users. [1] https://github.
Read the rest
In Graphics for JVM
Kha is game framework for the haxe language. It can be used for other things like multimedia aplications. Kha can build apps for many different targets (thanks do Haxe), like windows, mac, linux, android, ios, html5, flash and others (see https://github.com/KTXSoftware/Kha and the wiki). It has support for 2d and 3d, and vulkan is being add. Kha is very simple and portable, usually the users use its functions or build a engine on top of it.
In HaxeDevelop: A Haxe IDE on Windows
Quick note: this is NOT a flash player reimplementation. It's an API implementation. Thanks to Haxe, OpenFL apps can compile out to C++, HTML5, Flash, etc. I should also note that people might also be interested in the programming language that OpenFL is built on, Haxe, which has been around for ~10 years, is criminally underrated, and has many, many uses besides OpenFL's Flash API implementation (probably the most popular Haxe library). For instance, here are some other uses : - Isomorphic client/server web apps (http://ufront.net/) - Cross platform UI (http://haxeui.org/) - Other game frameworks - (snowkit: http://snowkit.org/) - (kha: https://github.com/KTXSoftware/Kha) - (nme: https://github.com/haxenme/nme) Course I'm a big fan of OpenFL! Also, for those who don't like the Flash API, OpenFL has a lower-level founda
Read the rest
tion called LIME that is just the cross-platform abstraction layer, so you can just use that if you hate all things remotely Flash-like.
In OpenFL: a hardware-accelerated cross-platform reimplementation of the Flash API

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.