{"id":34151369,"url":"https://github.com/kaijuengine/kaiju","last_synced_at":"2026-04-25T10:06:29.321Z","repository":{"id":207822083,"uuid":"720186073","full_name":"KaijuEngine/kaiju","owner":"KaijuEngine","description":"General purpose 3D and 2D game engine using Go (golang) and Vulkan with built in editor","archived":false,"fork":false,"pushed_at":"2026-04-20T19:19:39.000Z","size":73765,"stargazers_count":4442,"open_issues_count":59,"forks_count":187,"subscribers_count":38,"default_branch":"master","last_synced_at":"2026-04-20T21:21:48.846Z","etag":null,"topics":["game-engine","game-engine-2d","game-engine-3d","game-engine-development","game-engine-framework","gameengine","go","golang"],"latest_commit_sha":null,"homepage":"https://kaijuengine.com/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KaijuEngine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["brentfarris"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-11-17T19:13:22.000Z","updated_at":"2026-04-20T20:39:59.000Z","dependencies_parsed_at":"2025-02-04T00:25:06.885Z","dependency_job_id":"c0cc45a3-3a3d-4cd1-b27a-b30eff68bb3c","html_url":"https://github.com/KaijuEngine/kaiju","commit_stats":null,"previous_names":["kaijuengine/kaiju"],"tags_count":105,"template":false,"template_full_name":null,"purl":"pkg:github/KaijuEngine/kaiju","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaijuEngine%2Fkaiju","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaijuEngine%2Fkaiju/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaijuEngine%2Fkaiju/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaijuEngine%2Fkaiju/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KaijuEngine","download_url":"https://codeload.github.com/KaijuEngine/kaiju/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaijuEngine%2Fkaiju/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32175040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T02:19:40.750Z","status":"ssl_error","status_checked_at":"2026-04-23T02:17:55.737Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-engine","game-engine-2d","game-engine-3d","game-engine-development","game-engine-framework","gameengine","go","golang"],"created_at":"2025-12-15T05:21:08.579Z","updated_at":"2026-04-23T10:02:37.473Z","avatar_url":"https://github.com/KaijuEngine.png","language":"Go","readme":"![kaiju-engine-logo](https://github.com/KaijuEngine/kaiju_media_files/raw/refs/heads/master/docs/index.md/kaiju_engine_text_wide_logo.png)\n\n# Kaiju Engine\nKaiju is a 2D/3D game engine written in Go (Golang) backed by Vulkan. The goal of the engine is to use a modern, easy, systems level programming language, with a focus on simplicity, to create a new kind of game engine.\n\n- 📄 2D / 🧊 3D Game Engine\n- 🖥️ Built-in editor \n- 🪟 Windows, 🐧 Linux, 🍎 Mac, 🤖 Android\n- 🎊 Particle systems\n- ⏯️ 2D/3D Animation\n- 🎶 Music, SFX, and 3D sound sources\n- 🔣 UI - Custom built system with optional HTML/CSS markup\n- 🪄 Live shader updates on GLSL changes\n- 🔌 Editor plugins support (via Go)\n- 🚚 Faster builds than other game engines\n- 🔥 Better performance than other game engines\n- ⚠️🚧🏗️👷‍♂️ Work in progress, under heavy development\n\nCheck out our [project board](https://github.com/orgs/KaijuEngine/projects/1) for things we're workin' on.\n\n## Sponsor the project\nIf you like the project, and would like to support it, please consider [becomming a sponsor on GitHub](https://github.com/sponsors/BrentFarris).\n\n## Join the community\n- [GitHub repository](https://github.com/KaijuEngine/kaiju)\n- [Discord server](https://discord.gg/8rFPEu8U52)\n- [Brent Farris on X/Twitter](https://twitter.com/ShieldCrush)\n- [Mailing list](https://www.freelists.org/list/kaijuengine)\n\n## ⚠️ WORK IN PROGRESS ⚠️\nThough the engine is production ready, the editor **_is not_**, feel free to join and contribute to its development.\n\nFor the latest updates, please join the [Discord](https://discord.gg/HYj7Dh7ke3) or check my [Twitter/X](https://twitter.com/ShieldCrush).\n\nPlease review the Ad-Hoc [editor readme](https://github.com/KaijuEngine/kaiju/blob/master/src/editor/README.md)\n\n## Getting started building the engine/editor\nYou can choose to get running quickly by recursively cloning the repository. This will also download the [src/libs submodule](https://github.com/KaijuEngine/kaiju_prebuilts) that includes all the pre-built library files needed to compile. Or, you can build the dependency libraries yourself.\n\n**NOTE:** On Windows, If you get an error with something like `libstdc++-6.dll` missing when you try to run, you may need to install mingw to get those libraries. We'll be looking at adding these to the prebuilts with [this issue](https://github.com/KaijuEngine/kaiju/issues/669).\n\n### Clone the Repository with pre-built libraries\n```sh\ngit clone --recurse-submodules https://github.com/KaijuEngine/kaiju.git\n```\n\nIf you have Go, C build tools, platform libs, and Vulkan setup, you can start by running:\n```sh\ncd src\ngo build -tags=\"debug,editor\" -o ../ ./\n```\n\n*Or just open the repository in VSCode (or other IDE) and begin debugging it.*\n\nIf your environment isn't setup, check out [this doc](https://github.com/KaijuEngine/kaiju/blob/master/docs/engine/build_from_source.md#prerequisites) on getting it setup. You can skip the library building steps (Soloud and Bullet3), you already have this libs from the submodule clone.\n\n### Clone the Repository without pre-built libaries\n```sh\ngit clone https://github.com/KaijuEngine/kaiju.git\n```\n\nIf you clone in this way, you'll need to manually build the library dependencies yourself. Please view [this doc](https://github.com/KaijuEngine/kaiju/blob/master/docs/engine/build_from_source.md#building-soloud) for how to build Soloud and [this doc](https://github.com/KaijuEngine/kaiju/blob/master/docs/engine/build_from_source.md#building-bullet3) for how to build Bullet3.\n\n\n\n\n\n\n## Documentation\nTo run the documentation locally, you need to install `mkdocs` and `mkdocs-material`.\n\n1. Install dependencies:\n```sh\npip install mkdocs mkdocs-material\n```\n\n2. Serve the documentation in watch mode:\n```sh\nmkdocs serve -w ./docs\n```\n\n\n# Kaiju Engine\nAn open source game engine and editor, written in Go backed by Vulkan.\n\n## An editor, built in the engine\nThe editor is a testament to the engine's flexibility, because the editor itself is a game running in the engine.\n\n[editor.mp4](https://github.com/user-attachments/assets/d45511a2-2e22-4f47-a738-4affdd1cfc45)\n\n## 2D\nMaking 2D games is as simple as switching the editor to \"2D\" mode.\n\n[2d.mp4](https://github.com/user-attachments/assets/a3b1b53f-43ce-47bc-b1a7-1aa43c25e1a0)\n\n## 3D\nA completely custom built math library backs the 3D rendering.\n\n[3d.mp4](https://github.com/user-attachments/assets/7b5b1eb3-06ba-4827-8399-525b40d1cf09)\n\n## Particle systems\nCompose multiple particle emitters into a system for stunning visual effects.\n\n[particle_systems.mp4](https://github.com/user-attachments/assets/09331b78-f426-47c1-ba62-b1b896f5259a)\n\n## Animation\nFull skeletal skinning, 2D sprite sheets, flip books, and material animations.\n\n[animation](https://github.com/user-attachments/assets/4e9bb101-cb09-40c3-bb03-f2a1207a04f9)\n\n## UI\nA very fast, completely custom-built, retained-mode UI with the option of using HTML/CSS for markup.\n\n[ui.mp4](https://github.com/user-attachments/assets/468b64c9-fb30-4b8a-83cf-1c7feee1a119)\n\n## Physics\nSimulate your worlds with 3D physics.\n\n[physics.mp4](https://github.com/user-attachments/assets/3bd43af8-169e-405b-bd6a-44fbfc939afd)\n\n## Live shader updates\nEasily visualize your GLSL shader code in real time.\n\n[live_shader.mp4](https://github.com/user-attachments/assets/4b715014-ccc7-49f4-9740-d717a820665b)\n\n## Development velocity\nUnmatched edit-build-launch speed. Iterate quickly with incredibly fast build times.\n\n[development_velocity.mp4](https://github.com/user-attachments/assets/36bd06e8-dbe0-40ae-ab6a-8e8515949942)\n\n## Cross platform\nCreate on Windows, Linux and Mac.\n\nDeploy to Windows, Linux, Mac, and Android (more platforms added soon).\n\n\u003cimg width=\"1280\" height=\"720\" alt=\"cross_platform\" src=\"https://github.com/user-attachments/assets/75e56325-54aa-4133-8902-f1fd987c44f3\" /\u003e\n\n## Audio\nPlay sounds and music, even in 3D space, powered by Soloud.\n\n## Editor overview\n[(YouTube) Kaiju Engine Editor Introduction](https://www.youtube.com/watch?v=cmjX_M6lEZE)\n\n### Editor plugins\n[kaiju-editor-plugins.mp4](https://github.com/user-attachments/assets/4c7b7c65-f77b-47de-8d45-175dcb421afa)\n\n## Why Kaiju?\nThe current version of the base engine renders extremely fast, faster than most would think a garbage collected language could go. In my testing a release mode build of a game in Unity with nothing but a black background and a cube runs at about 1,600 FPS. In Kaiju, the same thing runs at around 5,400 FPS on the same machine. In fact, a complete game, with audio, custom cursors, real time PBR rendering with real time shadows, UI, and more runs at 2,712 FPS (in \"debug\" mode) [screenshots or it didn't happen](https://x.com/ShieldCrush/status/1943516032674537958).\n\n## Why Go (golang)?\nI love C, and because I love C and found out that Ken Thompson played a part in designing Go, I gave Go a chance. It has been such a joy to use and work with I decided to port my C game engine to Go. Go is a modern system-level language that allows me to write code the way I want to write code and even have the opportunity to do some crazy things if I want to (no strings attached). Also the simplicity and \"just works\" of writing Assembly code was a great boost to my happiness.\n\nWhat's more, it's a language that other developers can easily learn and jump right into extending the engine/editor. No need for developers to re-figure out some bespoke macros or crazy templating nonsense. It's flat, easy, straight forward, and the foot-gun is hidden behind some walls, but there if you want it. Furthermore, developers can write their games in Go directly, no need for some alternative language that is different from the engine code (but we'll include Lua for modding).\n\n## What about the Garbage Collector?!\nI am creating this section because I get asked about it when I mention \"Go\", possibly not realizing that most public game engines use a garbage collector (GC).\n\nThe GC is actually a feature I'm happy with (shocker coming from a C guy). Well, the reason is simple, if you're going to make a game engine that the public will use and needs to be stable, you need a garbage collector. Unity has C# (and possibly an internal GC as well), Unreal has a GC (and it could use a tune up if you ask me), Godot has a GC albeit their scripting language or when you use C#. It is actually very important for public engines to have a GC because people are only human and make a lot of mistakes, mistakes they'll blame on you (the engine developer) before they blame themselves.\n\nCoincidentally, the overall design I have for the engine plays very well with the GC and last I measured, I have a net-0 heap allocation while running (may need a new review). If you don't abuse the GC, you shouldn't generally feel it, it runs concurrently as well.\n\nI'll be the first to admit, I think the developers of Go can create a better GC than I can, and probably better than Unreal and Unity too.\n\n## Star history\n[![Star History Chart](https://api.star-history.com/svg?repos=KaijuEngine/kaiju\u0026type=Date)](https://star-history.com/#KaijuEngine/kaiju\u0026Date)   \n","funding_links":["https://github.com/sponsors/brentfarris","https://github.com/sponsors/BrentFarris"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaijuengine%2Fkaiju","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaijuengine%2Fkaiju","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaijuengine%2Fkaiju/lists"}