Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
8 lines (7 loc) · 14.5 KB
/
Copy pathindex.html
File metadata and controls
8 lines (7 loc) · 14.5 KB
1
2
3
4
5
6
7
8
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="color-scheme" content="dark light"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><title>AssiduousEngine</title><meta name="description" content="AssiduousEngine, a game engine in C++23, with the editor, asset pipeline and tools to take a game from first scene to shipped build."><meta property="og:title" content="AssiduousEngine"><meta property="og:description" content="AssiduousEngine, a game engine in C++23, with the editor, asset pipeline and tools to take a game from first scene to shipped build."><meta property="og:image" content="https://assiduousengine.com/images/Editor.webp"><meta property="og:type" content="website"><meta name="twitter:card" content="summary_large_image"><style>.hero[data-astro-cid-lcdefpme]{padding:72px 0 56px}.hero[data-astro-cid-lcdefpme] .narrow[data-astro-cid-lcdefpme]{text-align:center;margin:0 auto}.hero[data-astro-cid-lcdefpme] .buttons[data-astro-cid-lcdefpme]{justify-content:center}.hero[data-astro-cid-lcdefpme] h1[data-astro-cid-lcdefpme]{margin:0 0 18px;font-size:clamp(2.1rem,5.2vw,3.6rem)}.hero[data-astro-cid-lcdefpme] .lead[data-astro-cid-lcdefpme]{color:var(--muted);text-wrap:pretty;margin:0 0 28px;font-size:clamp(1.08rem,2vw,1.28rem)}.hero[data-astro-cid-lcdefpme] figure[data-astro-cid-lcdefpme]{margin:56px 0 0}.hero[data-astro-cid-lcdefpme] figcaption[data-astro-cid-lcdefpme]{text-align:center;margin-top:12px}.targets[data-astro-cid-lcdefpme]{flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 0;padding:0;list-style:none;display:flex}.targets[data-astro-cid-lcdefpme] li[data-astro-cid-lcdefpme]{border:1px solid var(--edge);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:.9rem}.section-title[data-astro-cid-lcdefpme]{margin:0 0 56px!important}.highlight[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{margin:0 0 14px;font-size:clamp(1.5rem,2.8vw,2rem)}.highlight[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:48px;margin:0 0 96px;display:grid}.highlight[data-astro-cid-lcdefpme]:last-child{margin-bottom:0}.highlight[data-astro-cid-lcdefpme].flip img[data-astro-cid-lcdefpme]{order:2}@media (width<=860px){.highlight[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:64px}.highlight[data-astro-cid-lcdefpme].flip img[data-astro-cid-lcdefpme]{order:0}}.highlight[data-astro-cid-lcdefpme] .more[data-astro-cid-lcdefpme]{font-weight:600;text-decoration:none}.highlight[data-astro-cid-lcdefpme] .more[data-astro-cid-lcdefpme]:hover{text-decoration:underline}.agents[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}@media (width<=860px){.agents[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr)}}.agents[data-astro-cid-lcdefpme] .button[data-astro-cid-lcdefpme]{margin-top:8px}.code[data-astro-cid-lcdefpme]{border:1px solid var(--edge);color:#e6e8eb;background:#0b0c0e;border-radius:12px;margin:0;padding:22px;font:.88rem/1.6 ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow-x:auto}.code[data-astro-cid-lcdefpme] .c[data-astro-cid-lcdefpme]{color:#7f8896}.closing[data-astro-cid-lcdefpme]{text-align:center}.closing[data-astro-cid-lcdefpme] .buttons[data-astro-cid-lcdefpme]{justify-content:center}
:root{--bg:#121417;--band:#171a1e;--card:#1c2026;--edge:#2b3038;--fg:#e9ebee;--muted:#a0a8b5;--accent:#f58f42;--on-accent:#1f2227;--link:#f7a465;--shadow:0 24px 60px #00000073;--wide:1160px;--text:720px}@media (prefers-color-scheme:light){:root{--bg:#f7f7f5;--band:#efefec;--card:#fff;--edge:#dcdfe4;--fg:#1f2227;--muted:#555b66;--link:#b4560f;--shadow:0 20px 50px #1f222729}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--fg);margin:0;font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--link)}img{max-width:100%;height:auto;display:block}h1,h2,h3{letter-spacing:-.01em;line-height:1.2}.wrap{max-width:var(--wide);margin:0 auto;padding:0 16px}.narrow{max-width:var(--text)}.muted{color:var(--muted)}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.92em}.small{font-size:.88rem}.button{border:1px solid var(--edge);background:var(--card);color:var(--fg);border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:.98rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{border-color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.primary:hover{filter:brightness(1.06)}.buttons{flex-wrap:wrap;gap:12px;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:.8rem;font-weight:700}.band{background:var(--band);border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}section.block{padding:88px 0}section.block h2{margin:0 0 14px;font-size:clamp(1.7rem,3.4vw,2.3rem)}.shot{border:1px solid var(--edge);box-shadow:var(--shadow);border-radius:12px}header.site{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--edge);position:sticky;top:0}header.site .wrap{align-items:center;gap:24px;min-height:64px;display:flex}header.site .brand{flex-shrink:0;align-items:center;display:flex}header.site .brand img{width:auto;height:30px}header.site .brand .light{display:none}@media (prefers-color-scheme:light){header.site .brand .dark{display:none}header.site .brand .light{display:block}}header.site nav{flex:1;align-items:center;gap:4px;min-width:0;display:flex}header.site nav a{color:var(--muted);white-space:nowrap;border-radius:8px;padding:6px 12px;font-weight:500;text-decoration:none}header.site nav a:hover,header.site nav a[aria-current]{color:var(--fg);background:var(--card)}header.site nav .spacer{flex:1}header.site nav a.docs{color:var(--on-accent);background:var(--accent)}@media (width<=760px){header.site .wrap{flex-wrap:wrap;gap:4px 12px;padding-top:10px;padding-bottom:6px}header.site nav{scrollbar-width:none;flex-basis:100%;overflow-x:auto}header.site nav .spacer{flex:1;display:block}header.site nav .community{display:none}}footer.site{border-top:1px solid var(--edge);margin-top:0;padding:48px 0 56px}footer.site .wrap{grid-template-columns:2fr 1fr 1fr;gap:32px;display:grid}@media (width<=760px){footer.site .wrap{grid-template-columns:1fr 1fr}footer.site .about{grid-column:1/-1}}footer.site h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;font-size:.85rem}footer.site ul{margin:0;padding:0;list-style:none}footer.site li{margin:0 0 6px}footer.site a{color:var(--fg);text-decoration:none}footer.site a:hover{color:var(--link)}footer.site .about p{color:var(--muted);max-width:420px;margin:0 0 8px;font-size:.9rem}
</style></head><body><header class="site"><div class="wrap"><a class="brand" href="/" aria-label="AssiduousEngine, home"><img class="dark" src="/branding/assiduous-logo.svg" alt="AssiduousEngine" width="140" height="30"><img class="light" src="/branding/assiduous-logo-light.svg" alt="AssiduousEngine" width="140" height="30"></a><nav aria-label="Site"><a href="/features/" aria-current="page">Features</a><a href="/download/">Download</a><a href="/samples/">Samples</a><span class="spacer"></span><a class="community" href="https://github.com/AssiduousEngine/AssiduousEngine">GitHub</a><a class="community" href="https://discord.gg/WSvxW8mWH5">Discord</a><a class="docs" href="https://docs.assiduousengine.com/">Docs</a></nav></div></header><main><section class="hero" data-astro-cid-lcdefpme><div class="wrap" data-astro-cid-lcdefpme><div class="narrow" data-astro-cid-lcdefpme><h1 data-astro-cid-lcdefpme>Open-source game engine and editor</h1><p class="lead" data-astro-cid-lcdefpme>AssiduousEngine is a C++23 game engine and editor, built entirely with C++ modules. Its editor, asset pipeline, runtime and tools work together, with modern rendering, gameplay scripting and a full UI framework. AI agents can use it too, to build whole games from an empty project to a playable build.</p><div class="buttons" data-astro-cid-lcdefpme><a class="button primary" href="/download/" data-astro-cid-lcdefpme>Download</a><a class="button" href="https://docs.assiduousengine.com/" data-astro-cid-lcdefpme>Docs</a></div></div><figure data-astro-cid-lcdefpme><img class="shot" src="/images/Editor.webp" alt="The AssiduousEngine editor: a town street open in the viewport, the scene hierarchy, an inspector, a shader beside its preview, the assets and the console" width="1600" height="900" fetchpriority="high" data-astro-cid-lcdefpme><figcaption class="muted small" data-astro-cid-lcdefpme>The editor, with a scene open and a custom shader beside it.</figcaption></figure><ul class="targets" aria-label="Export targets" data-astro-cid-lcdefpme><li data-astro-cid-lcdefpme>Windows</li><li data-astro-cid-lcdefpme>Linux</li><li data-astro-cid-lcdefpme>Web (WebGPU)</li><li data-astro-cid-lcdefpme>Steam Deck</li></ul></div></section><section class="block" id="features" data-astro-cid-lcdefpme><div class="wrap" data-astro-cid-lcdefpme><h2 class="section-title" data-astro-cid-lcdefpme>Highlights</h2><div class="highlight" data-astro-cid-lcdefpme><img class="shot" src="/images/Lamplight-Gardens.webp" alt="Lamplight: a lamplit garden path at night, hedges and a guard with a lantern" width="954" height="537" loading="lazy" data-astro-cid-lcdefpme><div data-astro-cid-lcdefpme><p class="eyebrow" data-astro-cid-lcdefpme>Rendering</p><h3 data-astro-cid-lcdefpme>Forward PBR on a render graph</h3><p class="muted" data-astro-cid-lcdefpme>Clustered lights, cascaded and local shadows, image-based lighting and a full post stack, on Vulkan, Direct3D 12 and WebGPU.</p><a class="more" href="/features/#rendering" data-astro-cid-lcdefpme>More about rendering</a></div></div><div class="highlight flip" data-astro-cid-lcdefpme><img class="shot" src="/images/ShaderGallery-Hologram.webp" alt="Shader Gallery: a hologram knot on its plinth, the lesson list beside it" width="954" height="537" loading="lazy" data-astro-cid-lcdefpme><div data-astro-cid-lcdefpme><p class="eyebrow" data-astro-cid-lcdefpme>Custom shaders</p><h3 data-astro-cid-lcdefpme>Your own shaders, previewed as you type</h3><p class="muted" data-astro-cid-lcdefpme>Write HLSL in the editor and see it on a preview as you edit. It runs on the web too, cross-compiled to WGSL.</p><a class="more" href="/features/#shaders" data-astro-cid-lcdefpme>More about custom shaders</a></div></div><div class="highlight" data-astro-cid-lcdefpme><img class="shot" src="/images/Masquerade-Canal.webp" alt="Masquerade: a masked guest on a canal quay among the crowd, gondolas passing" width="954" height="537" loading="lazy" data-astro-cid-lcdefpme><div data-astro-cid-lcdefpme><p class="eyebrow" data-astro-cid-lcdefpme>Networking</p><h3 data-astro-cid-lcdefpme>Multiplayer built in</h3><p class="muted" data-astro-cid-lcdefpme>Components replicate their marked properties with no network code of their own, and a desktop host takes browser players over WebSocket.</p><a class="more" href="/features/#networking" data-astro-cid-lcdefpme>More about networking</a></div></div><div class="highlight flip" data-astro-cid-lcdefpme><img class="shot" src="/images/SkyHopper-Settings.webp" alt="Sky Hopper: the settings screen with volume sliders over the game" width="954" height="537" loading="lazy" data-astro-cid-lcdefpme><div data-astro-cid-lcdefpme><p class="eyebrow" data-astro-cid-lcdefpme>UI</p><h3 data-astro-cid-lcdefpme>Game screens in markup and CSS</h3><p class="muted" data-astro-cid-lcdefpme>Layouts, styles, animation and gamepad navigation for menus and HUDs. The editor itself is built with it.</p><a class="more" href="/features/#ui" data-astro-cid-lcdefpme>More about ui</a></div></div></div></section><section class="block" data-astro-cid-lcdefpme><div class="wrap agents" data-astro-cid-lcdefpme><div data-astro-cid-lcdefpme><p class="eyebrow" data-astro-cid-lcdefpme>Agents</p><h2 data-astro-cid-lcdefpme>Build a game with an AI agent</h2><p class="muted" data-astro-cid-lcdefpme>Connect an agent such as Claude Code over MCP, and it can take a game from an empty project to an exported build: create the project, import assets, build scenes, write scripts and shaders, lay out UI screens, playtest the game and export it.</p><p class="muted" data-astro-cid-lcdefpme>It works in the editor you have open. Its scene edits go through undo like yours, it checks its work through screenshots, and the editor's MCP panel lists every call it makes.</p><p class="muted" data-astro-cid-lcdefpme>Every <a href="/samples/" data-astro-cid-lcdefpme>sample game</a> was developed this way, start to finish, by an agent working through the MCP tools.</p><a class="button" href="https://docs.assiduousengine.com/agents/" data-astro-cid-lcdefpme>How agents work with it</a></div><pre class="code" aria-label="Wiring Claude Code to the editor" data-astro-cid-lcdefpme><code data-astro-cid-lcdefpme><span class="c" data-astro-cid-lcdefpme># Wire Claude Code to the editor's MCP host</span>
claude mcp add --transport http assiduousengine-editor \
http://127.0.0.1:7405/mcp \
--header "Authorization: Bearer $TOKEN"
<span class="c" data-astro-cid-lcdefpme># The editor's MCP panel copies this line, token and all.</span></code></pre></div></section><section class="block" data-astro-cid-lcdefpme><div class="wrap closing" data-astro-cid-lcdefpme><h2 data-astro-cid-lcdefpme>Get started</h2><div class="buttons" data-astro-cid-lcdefpme><a class="button primary" href="/download/" data-astro-cid-lcdefpme>Download</a><a class="button" href="/features/" data-astro-cid-lcdefpme>See all features</a><a class="button" href="https://docs.assiduousengine.com/" data-astro-cid-lcdefpme>Documentation</a><a class="button" href="https://discord.gg/WSvxW8mWH5" data-astro-cid-lcdefpme>Discord</a></div></div></section></main><footer class="site"><div class="wrap"><div class="about"><p>AssiduousEngine is a game engine in C++23, with its editor, asset pipeline and tools.</p><p>The engine is MIT licensed. The AssiduousEngine name and logo are not.</p></div><div><h4>Engine</h4><ul><li><a href="/features/">Features</a></li><li><a href="/download/">Download</a></li><li><a href="/samples/">Samples</a></li><li><a href="https://docs.assiduousengine.com/">Documentation</a></li></ul></div><div><h4>Community</h4><ul><li><a href="https://github.com/AssiduousEngine/AssiduousEngine">GitHub</a></li><li><a href="https://discord.gg/WSvxW8mWH5">Discord</a></li></ul></div></div></footer></body></html>