Acron

Everything
You Need

PBR rendering, physics, multiplayer, AI tools, asset pipeline, cross-platform builds — all in one engine. Now in private beta.

PBR Rendering Bullet Physics Distributed Multiplayer Studio AI glTF 2.0

Production-Grade PBR Renderer

Physically-based rendering with metallic/roughness workflow, HDR pipeline, and real-time shadows — out of the box, no shader wizardry required.

  • PBR materials — metallic, roughness, normal, AO, emissive maps via acron-simplepbr
  • HDR & tone mapping — Reinhard, ACES, and custom GLSL pipelines
  • Cascaded shadow maps — smooth shadows at any scale, indoors and open world
  • Particle systems — GPU-accelerated emitters, force fields, collision response
  • Instanced rendering — draw thousands of objects with a single GPU call
  • Custom GLSL shaders — full shader stage access, hot-reload in Studio
  • glTF 2.0 materials — import directly from Blender, Maya, Substance
pbr_scene.py
from acron import Entity, DirectionalLight, load_texture

# PBR material in 3 lines
sword = Entity(
    model='sword',
    albedo=load_texture('sword_albedo'),
    normal_map=load_texture('sword_normal'),
    roughness=0.35,
    metallic=0.9,
)

sun = DirectionalLight(
    direction=(0.5, -1, -0.8),
    color=(1.0, 0.95, 0.85),
    shadows=True,
    shadow_map_size=4096,
)
physics_demo.py
from acron import Entity, RigidBody, CharacterController

# Rigid body — zero config
crate = Entity(model='box', texture='crate')
RigidBody(crate, mass=5, friction=0.6)

# Character with capsule collider
player = CharacterController(
    height=1.8,
    radius=0.4,
    step_height=0.35,
    gravity=-20,
)

# Raycast
hit = player.raycast(origin, direction, distance=10)
if hit: hit.entity.explode()

Bullet Physics, Built In

Full Bullet 3 integration — rigid bodies, soft bodies, character controllers, vehicles, constraints — exposed through a clean Python API.

  • Rigid bodies — dynamic, static, kinematic modes; mass, friction, restitution
  • Soft bodies — cloth, ropes, deformable meshes
  • Character controller — capsule, step climbing, slope limits, crouching
  • Vehicle system — wheel suspension, traction, steering
  • Collision shapes — box, sphere, capsule, convex hull, trimesh, compound
  • Raycasts & sweeps — closest hit, all hits, filter by layer
  • Triggers & constraints — joints, hinges, springs, breakable links

Distributed Object Networking

A zone-based distributed object architecture designed for massively concurrent worlds — MMOs, battle royales, simulation clusters. Dead reckoning, interest management, and authoritative server logic built in.

⬡

Zone-Based Interest Management

Clients only receive state updates for objects in their zone. Scales to thousands of simultaneous players without broadcasting everything to everyone.

⇌

Dead Reckoning

DistributedSmoothNode predicts position between server ticks. Players see fluid movement even at 10Hz server updates.

⬛

AI / UD / Client Triplet

Each game object has a client view, an AI-server view, and an UD (uber-dog) authority. Logic lives where it should — no manual RPC wiring.

🗂

DC Schema Language

Declare networked fields and remote methods in a .dc file. Acron generates the client/server stubs — no protobuf boilerplate.

☁

Managed Hosting

Deploy with one command to Acron-managed infrastructure. Available to beta testers; production tiers land at launch. No DevOps required.

🔌

Self-Host Option

Run your own cluster server stack. Full source, open protocol. No vendor lock-in on the engine side.

Studio: The Python Game Dev IDE

A full IDE built for Acron — script runner, scene hierarchy, asset browser, blueprint editor, and an AI assistant that knows your codebase. Local-first: no API key required for basic completion.

  • AI code assistant — RAG over your project + Acron docs, answers engine-specific questions
  • Blueprint editor — visual node graph for game logic; compiles to clean Python
  • Scene hierarchy — live view of every node, drag-and-drop parenting
  • Asset browser — import glTF, FBX, OBJ, WAV, PNG; preview in-editor
  • Script runner — run any .py file in the engine context, live reload
  • Integrated terminal — full shell, pip, git; project-scoped venv managed automatically
  • Theme & plugin system — Kate-based, supports KDE plugins and color schemes
Studio AI — chat excerpt
# You: how do I add a nav mesh to my dungeon scene?

# Studio AI:
# 1. Bake your mesh with blend2bam --nav
# 2. Load it in your scene:

from acron.ai import NavMesh, NavAgent

nav = NavMesh.from_model('dungeon_nav')

enemy = NavAgent(
    mesh=nav,
    speed=4.0,
    avoid_radius=0.6,
)

# Chase the player
def update():
    enemy.seek(player.position)
blend2bam — terminal
# Export from Blender to engine-ready BAM
$ blend2bam scene.blend scene.bam \
    --physics-engine bullet \
    --animations separate \
    --textures embed

# Or use acron-gltf for runtime import
from acron.gltf import load_gltf

world = load_gltf(
    'world.glb',
    physics=True,
    animations=True,
)

# PBR materials extracted automatically
for mat in world.materials():
    print(mat.name, mat.roughness)

DCC to Engine in One Step

Import from Blender, Maya, Substance, or any glTF 2.0 exporter. Materials, physics colliders, animations, and LODs transfer automatically.

  • glTF 2.0 & GLB — full PBR material graph, morph targets, skins
  • blend2bam — Blender exporter with physics, separate animation tracks, embedded textures
  • BAM format — binary engine-native, fast streaming, version-safe
  • Texture atlasing — automatic sprite sheets and atlas packing
  • LOD generation — automatic mesh simplification at export time
  • Audio — WAV, OGG, MP3; 3D spatialization, Doppler, reverb zones
  • Font & UI — TTF/OTF fonts, nine-slice sprites, vector UI layer

Skeletal, Blend Trees, Spatial Audio

A complete animation and audio runtime — blend trees, inverse kinematics, lip sync, OpenAL 3D audio, and reverb environments — all scriptable from Python.

🦴

Skeletal Animation

Multi-track blending, additive layers, animation masks per bone group. Import from glTF or BAM.

🔀

Blend Trees

State machine with blend tree nodes — speed-based walk/run, directional strafing, hit reactions.

🔧

Inverse Kinematics

FABRIK IK solver for arms, legs, spine look-at. Runtime IK targets, works with physics ragdolls.

🔊

3D Spatial Audio

OpenAL-based positional audio with distance attenuation, Doppler effect, and reverb environment zones.

🎵

Music & Streaming

Background music streaming, cross-fade, beat sync. Supports WAV, OGG, MP3 with sub-frame latency callbacks.

✨

Tweens & Sequences

LerpInterval, Sequence, Parallel — script any property animation without writing update loops.

Profile, Optimize, Ship

Built-in profiling with PStats, automatic batching, async asset loading, and multi-thread render pipelines. Write Python; the C++ core does the heavy lifting.

  • PStats profiler — per-frame breakdown of CPU, GPU, Python, render, cull passes
  • Automatic batching — static geometry merged at load time; dynamic instancing at runtime
  • Async asset loading — stream large worlds without hitches via ModelPool
  • Multithreaded pipeline — render, cull, and app threads run independently
  • Octree culling — frustum and occlusion cull at C++ speed
  • Cross-platform builds — Windows, macOS, Linux; single command via build_apps
  • Python 3.14+ — no GIL; true multicore for game logic workloads
profiling.py
from acron.tools import PStats

# Connect PStats live — no restart needed
stats = PStats.connect()

# Mark custom code sections
with stats.collector('App:AI:pathfind'):
    path = nav_mesh.find_path(start, goal)

# Inspect bottlenecks in realtime GUI
# or dump CSV for CI regression tests
stats.dump_csv('frame_profile.csv')

# Flatten heavy static scene once
world.flatten_strong()
print(f'Nodes: {world.count_nodes()}')

Ready to Build?

Acron is now in private beta. Request access and start building.