Game Engine Open Source
Game native dari TypeScript
Tulis TypeScript. Rilis game native. Tanpa browser, tanpa C++. Bloom mengompilasi game kamu secara ahead-of-time dan menjalankannya di Metal, DirectX 12, Vulkan dan WebGPU — satu codebase, enam target, rendering PBR sungguhan dan physics siap pakai.
import { initWindow, windowShouldClose,
beginDrawing, endDrawing,
clearBackground, drawText,
Colors } from "bloom";
initWindow(800, 450, "My Game");
while (!windowShouldClose()) {
beginDrawing();
clearBackground(Colors.RAYWHITE);
drawText("Hello, Bloom!",
190, 200, 20, Colors.DARKGRAY);
endDrawing();
} Kenapa Bloom?
Bloom adalah satu-satunya game engine yang memungkinkan kamu menulis TypeScript dan merilis game yang benar-benar native. Tanpa Electron, tanpa WebView, tanpa runtime browser. Kode kamu dikompilasi ahead-of-time oleh kompiler Perry dan berjalan di atas core Rust.
API Sederhana
Seluruh API muat di satu cheatsheet. Tanpa class, tanpa inheritance, tanpa sihir. Hanya fungsi yang kamu panggil.
Benar-benar Native
Satu renderer, empat backend — Metal, DirectX 12, Vulkan dan WebGPU. Material PBR, cascaded shadows, TAA dan post-FX siap pakai.
Rilis ke Mana Saja
macOS, Windows, Linux, iOS, tvOS dan Web dari satu codebase. Siap untuk Steam, App Store dan itch.io.
Semua yang kamu butuhkan
Sembilan subsistem modular, masing-masing bisa diimpor secara terpisah. Pakai hanya yang kamu butuhkan.
Core
Pembuatan window, game loop, penanganan input, timing, dan kontrol frame.
bloom/core Shapes
Menggambar bentuk 2D — garis, persegi, lingkaran, poligon — plus deteksi tabrakan.
bloom/shapes Textures
Pemuatan gambar, manajemen tekstur, sprite batching, dan render-to-texture.
bloom/textures Text
Pemuatan font TTF dan OTF, rendering teks, dan pengukurannya.
bloom/text Audio
Efek suara, streaming musik, audio posisional 3D, WAV / OGG / MP3.
bloom/audio Models
Pemuatan glTF 2.0, animasi skeletal di GPU, material PBR, mesh primitif.
bloom/models Math
Vektor, matriks, kuaternion, fungsi easing, dan pembangkit angka acak.
bloom/math Physics
Rigid & soft body bertenaga Jolt, character controller, kendaraan, raycast, constraint.
bloom/physics Scene
Scene graph mode retained — transform, visibilitas, bayangan, binding material.
bloom/scene Satu codebase. Semua platform.
Bloom memetakan ke API grafis native di tiap platform melalui satu renderer berbasis wgpu. TypeScript kamu dikompilasi ke binary asli — atau ke bundle WASM untuk web.
Yang baru
Bloom sedang dalam pengembangan aktif — 300+ commit hanya dalam beberapa minggu terakhir. Sorotan terbaru:
Auto-DRS & penajaman CAS
Render scale dinamis menyesuaikan otomatis ke target FPS, dengan upscale + RCAS sharpen pass agar tetap tajam di resolusi pecahan.
Refleksi planar + texture array
Refleksi planar mirip cermin dengan oblique-clip dan fallback IBL. Terrain splat-mapped via texture-array binding dengan mip.
CLI imposter baker
Atlas oktahedral untuk LOD jauh — rilis hutan padat dan kerumunan tanpa mencekik anggaran draw call kamu.
Post pass yang bisa ditumpuk
Tone mapping ACES / AgX, auto-exposure, bloom, DoF, motion blur, SSGI, SSAO, TAA — disusun melalui render target ping-pong.
HiDPI lintas platform
Windows, Linux dan Web kini berbagi penanganan HiDPI yang sama seperti yang sudah dimiliki macOS dan iOS. UI kamu tetap tajam di setiap layar.
Hot reload shader WGSL
Simpan shader, lihat hasilnya kurang dari satu detik. Material dikompilasi ulang di tempat selama pengembangan.
Pola yang familiar, tenaga native
Interface biasa, fungsi murni, tanpa sihir. Kalau kamu bisa TypeScript, kamu bisa Bloom.
Bentuk 2D & Tabrakan
import { drawRect, drawCircle,
checkCollisionRecs } from "bloom/shapes";
drawRect(100, 100, 200, 80, Colors.GREEN);
drawCircle(400, 300, 50, Colors.GOLD);
if (checkCollisionRecs(player, enemy)) {
playSound(hitSound);
} Kamera 3D & Model
const camera: Camera3D = {
position: { x: 10, y: 10, z: 10 },
target: { x: 0, y: 0, z: 0 },
up: { x: 0, y: 1, z: 0 },
fovy: 45, projection: 0
};
beginMode3D(camera);
drawModel(tree, { x: 0, y: 0, z: 0 });
drawGrid(10, 1);
endMode3D(); Siap membangun game-mu?
Bloom open source dan gratis. Langsung lompat masuk, bangun sesuatu, dan rilis ke mana saja.