import{_ase,casa,oast,a9aso,aoass,apasn,aqasr}from"./chunks/framework.D8PMdl4T.js";consty=JSON.parse('{"title":"V-ecs","description":"","frontmatter":{"public":"true","slug":"v-ecs","tags":["My Projects"],"title":"V-ecs","prev":false,"next":false},"headers":[],"relativePath":"garden/v-ecs/index.md","filePath":"garden/v-ecs/index.md","lastUpdated":1717647948000}'),l={name:"garden/v-ecs/index.md"},i=o('<h1 id="v-ecs" tabindex="-1">V-ecs <a class="header-anchor" href="#v-ecs" aria-label="Permalink to "V-ecs""></a></h1><blockquote><p>Tags: <a href="/garden/my-projects/">My Projects</a></p></blockquote><p><img src="'+s+'" alt="screenshot.png"></p><p>V-ecs (pronounced "Vex") is a Vulkan-based engine I made for making highly moddable games and tools in Lua centered around the ECS design pattern and a work-stealing job system.</p><p>The engine works with "worlds", which are collections of systems and renderers. The engine comes with several worlds using systems and renderers I made, including a voxel world, an incremental game, and some test scenes. All of these include systems to render the fps as well as show a debug console by typing the grave key (`). The default world is a title screen that detects any worlds in the "worlds" folder and displays a button for each of them.</p><p><img src="'+n+'" alt="debug.png"></p><p>The original plans were to eventually put it on the steam workshop so people could more easily share their creations amongst each other, but I never became happy enough with the performance of the engine - the parallelization of the lua code involved a lot of overhead that severely limited performance.</p><p>Instead, I made a couple of worlds by myself - an infinite procedurally generated voxel world, a simple incremental game, and a more complex incremental game I call "<a href="https://thepaperpilot.itch.io/sands-of-time" target="_blank" rel="noreferrer">Sands of Time</a>".</p><p><img src="'+r+'" alt="sandsoftime.png"></p><p>The gameplay of Sands of Time was replicated in <a href="/garden/kronos/">Kronos</a> Chapter 2!</p>',10),d=[i];functionc(p,h,m,g,u,f){returnt(),a("div",null,d)}constv=e(l,[["render",c]]);export{yas__pageData,vasdefault};