Llymlaen
A levelling guide for Final Fantasy XIV, written in C#/.NET on the Dalamud plugin framework. It works out what the player should do next and says why.
What it does
The plugin keeps checking game state (quests done, level, gear, gil, unlocks) to decide the next step toward gaining experience as fast as possible. It can also find the best gear for the character and show a reason with every recommendation. For the next place to go, it draws a pin in the world, and across zones it plans a route using walking, zone lines, teleports and cooldowns, limited to what the player has unlocked.

The guide card with its paper-doll frame beside it: the character in a panel of its own, drawn in the same style as the card and the game UI. The card text is rendered with the DirectWrite renderer described below.

Chapter card: the next steps, a gear recommendation, and the reason ("WHY").

The same card inside a dungeon: it knows to say "leave the duty" and that the guide resumes afterwards.
A custom text renderer
Text drawn with Dalamud's default UI looked soft at every size and font I tried. The cause: its font atlas doesn't hint glyphs. So I render the card text with Windows' DirectWrite at the exact pixel size into a texture and show it 1:1. I built a side-by-side test window comparing four methods and DirectWrite won.
Decisions recorded in the spec
- Pin over arrows: prototyped floating, edge-clamped and compass-strip arrows in a mockup. The pin was easiest to read, and the arrows clipped into the UI.
- Built, then removed a feature: a ground path trail depended on an unofficial third-party plugin, took 10–15 seconds to build each zone's mesh, and was unreadable on some floors. I dropped it and later built the walking routes on our own navmesh.
- Safety rule: the plugin only shows information. Each click does exactly one thing; nothing runs on a timer or acts on its own.
Architecture
72 C# files: routing and navigation, objective tracking, a levelling-guide engine (chapters, gear planner, gil ledger), overlay and text rendering, persisted configuration with migration, and data tables for quests, gear and prices.
Honest limits
- Personal tool; not published to the official plugin repository.
- Built with Claude Code from my written spec and mockup.