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.