# ADOFAI Renderer > **Lossless, stutter-free, and high-quality video rendering for *A Dance of Fire and Ice* — even on low-end PCs.** > [!NOTE] > This project is currently in active development. Features, APIs, and documentation are subject to change at any time. --- ## 📖 About The Project **ADOFAIRenderer** was originally initiated by **square3ang** in 2024 and officially saw its first alpha release in 2025. Today, it is actively maintained under the **ADOFAI Editor Forum** as a support project dedicated to level creators. By decoupling the game's simulation timestep from wall-clock time, ADOFAI Renderer enables creators to produce smooth, ultra-high-definition game videos with perfect audio sync, regardless of hardware limitations or level complexity. --- ## ✨ Key Features - **🎮 Low-Spec Friendly Offline Rendering** - Eliminates lag, frame drops, and stuttering caused by complex visual effects and heavy custom levels from the final video. - Guarantees deterministic, frame-perfect video capture. - **🌐 Cross-Platform Support** - Fully supports **Windows**, **macOS**, and **Linux** environments. - **🎥 Fully Customizable Video Output** - **Independent Frame Rates**: Configure `Render FPS` and `Video FPS` independently. - **Arbitrary Resolutions**: Render in standard HD/4K or any custom resolution. - **Encoding Options**: Supports modern codecs (AV1, etc.) with configurable Bitrate Control (CBR, VBR, QP/Lossless) and hardware acceleration (with software fallback). - **🎵 Sample-Accurate Audio Rendering** - Captures and synchronizes in-game music and sound effects directly with rendered video frames. - Custom audio sample rate, channels (mono/stereo), and bitrate settings. - **⚙️ Creator-Focused Workflow & UI** - **In-Game Configuration**: Easily tune video, audio, and advanced rendering parameters directly inside ADOFAI. - **Preset System**: Save and load custom render configurations for different use cases. - **Real-Time Monitor**: Live HUD tracking render queue, sent frames, memory usage, and throttling. - **Advanced Controls**: Toggle judgement texts, adjust post-level delay, configure random seeds, or enable Non-Tile mode. - **📦 Built-in FFmpeg Integration** - Integrated one-click in-game FFmpeg downloader and setup for seamless installation. - **🔌 Developer API** - Offers a fluent API (`RenderSession`) allowing other mods to programmatically configure, trigger, and control rendering sessions. - Full API reference and usage details are documented directly in the codebase via XML documentation comments. --- ## 🛠️ Requirements - **Operating System**: Windows, macOS, or Linux - **A Dance of Fire and Ice** - **[MelonLoader](https://melonwiki.xyz/)** - **FFmpeg** (Can be downloaded automatically via the in-game popup) --- ## 🏗️ Building from Source > [!WARNING] > The build configuration (`ADOFAIRenderer.csproj`) is currently tailored specifically for **Windows**. Building on other operating systems (macOS, Linux) may fail or require manual adjustments to MSBuild tasks and assembly reference paths. ### Prerequisites - **.NET SDK** (supporting .NET Standard 2.1, e.g., .NET 8.0 SDK or newer) - **A Dance of Fire and Ice** with **[MelonLoader](https://melonwiki.xyz/)** (Mono runtime) installed. - **Environment Variable**: Set `ADOFAI_PATH` to your game directory (e.g., `C:/Program Files (x86)/Steam/steamapps/common/A Dance of Fire and Ice`). ### Compile ADOFAIRenderer Once `ADOFAI_PATH` is configured in your environment: ```bash dotnet build ADOFAIRenderer.csproj -c Release ``` The compiled mod will be output to `bin/Release/netstandard2.1/ADOFAIRenderer.dll`. --- ## 👥 Credits & History - **Original Author**: [square3ang](https://github.com/square3ang) (2024-2025) - **Current Maintainer**: [ADOFAI Editor Forum](https://git.yunizun.org/ADOFAIEditorForum) (2026) - A community-driven initiative supporting custom level designers and video creators. --- ## 📄 License This project is distributed under the terms of the MIT License. See `LICENSE` for details.