LillyQuest.Core
0.1.0
See the version list below for details.
dotnet add package LillyQuest.Core --version 0.1.0
NuGet\Install-Package LillyQuest.Core -Version 0.1.0
<PackageReference Include="LillyQuest.Core" Version="0.1.0" />
<PackageVersion Include="LillyQuest.Core" Version="0.1.0" />
<PackageReference Include="LillyQuest.Core" />
paket add LillyQuest.Core --version 0.1.0
#r "nuget: LillyQuest.Core, 0.1.0"
#:package LillyQuest.Core@0.1.0
#addin nuget:?package=LillyQuest.Core&version=0.1.0
#tool nuget:?package=LillyQuest.Core&version=0.1.0
LillyQuest
LillyQuest is a C# engine for building roguelike/roguelite open-world games. It is built on Silk.NET and currently ships with an OpenGL renderer, with room to evolve the rendering backend in the future.
This is a hobby project. A core goal is to keep momentum by publishing a weekly devlog article on https://orivega.io.
Goals and Features
- Data-driven engine design using JSON.
- AOT-friendly architecture (aspirational).
- Planned Lua scripting for gameplay logic.
- Modular engine structure split across core, rendering, and engine layers.
Tech Stack
- C# / .NET (net10.0)
- Silk.NET
- OpenGL renderer (current)
- JSON-driven data pipeline
- Lua scripting (planned)
Project Structure
The codebase is organized into modular layers:
LillyQuest.Core
Foundation layer providing low-level engine primitives:
- OpenGL rendering abstractions (shaders, textures, sprite batching)
- Asset management (textures, fonts, tilesets, audio)
- Audio system (OpenAL with MP3 and Ogg Vorbis support)
- Input abstractions and data structures
- Embedded resource pipeline
LillyQuest.Engine
High-level engine layer built on Core:
- Feature-based Entity architecture
- System pipeline (Update, FixedUpdate, Render)
- Screen and UI management (stacking, focus, pixel-perfect rendering)
- Scene lifecycle and transitions
- Animation and tween system
- ImGui integration for debug tooling
- Windowing and bootstrap orchestration
LillyQuest.Scripting.Lua
Lua scripting integration via MoonSharp (planned for gameplay logic).
LillyQuest.Game
Executable game application demonstrating engine capabilities:
- Game-specific scenes and entities
- Tileset editor and surface rendering examples
- Debug panels and development tools
LillyQuest.Tests
Comprehensive test suite covering Core and Engine components.
Build and Run
Prerequisites:
- .NET SDK 10.0
Build:
dotnet build LillyQuest.slnx
Run (game project):
dotnet run --project src/LillyQuest.Game/LillyQuest.Game.csproj
Project Board
Devlog
Weekly updates are published on:
Feedback in the comments helps keep momentum.
Contributing
Issues and PRs are welcome, but please open a discussion first since this is a hobby project and priorities may change.
Philosophy / FAQ
Why a custom engine? Learning, long-term flexibility, and the joy of building the stack end-to-end.
Is this production-ready? No. This is an experimental engine under active development.
Will other renderers be supported? OpenGL is the current backend; other renderers may be explored later.
Development Philosophy
On AI-Assisted Development
This project uses AI tools (Claude, Codex, etc.) with intentionality and restraint. AI assists with:
- Planning and architectural brainstorming
- Test generation and coverage analysis
- Bug discovery and code review
- Documentation drafting
However, core implementation is hand-crafted. Programming is an art form. The discipline of thinking through problems, making deliberate design choices, and writing clean, maintainable code cannot be delegated. AI is a tool for augmenting human judgment, not replacing it.
The code you read here reflects human reasoning and intentional design, not automated generation.
License
GPLv3. See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- DryIoc.dll (>= 5.4.3)
- FontStashSharp.Base (>= 1.2.2)
- FontStashSharp.PlatformAgnostic (>= 1.5.3)
- FontStashSharp.Rasterizers.StbTrueTypeSharp (>= 1.2.2)
- MP3Sharp (>= 1.0.5)
- NVorbis (>= 0.10.5)
- Serilog (>= 4.3.0)
- Silk.NET.Core (>= 2.22.0)
- Silk.NET.Input.Common (>= 2.22.0)
- Silk.NET.OpenAL (>= 2.22.0)
- Silk.NET.OpenAL.Extensions.Soft (>= 2.22.0)
- Silk.NET.OpenGL (>= 2.22.0)
- SixLabors.ImageSharp (>= 3.1.12)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on LillyQuest.Core:
| Package | Downloads |
|---|---|
|
LillyQuest.Engine
LillyQuest Engine - 2D Game Engine with ECS Architecture |
|
|
LillyQuest.Scripting.Lua
LillyQuest Scripting Lua - Lua Scripting Engine Integration |
GitHub repositories
This package is not used by any popular GitHub repositories.