Shroud of the Avatar already has an achievement system. A real one: a stat pipeline with server validation, a Mongo store, an unlock evaluator, a background job that pushes to Steam, and tiered kill-count achievements authored at 10 / 100 / 1,000 / 5,000. It has been running quietly since the Steam launch, and the game has never shown a player any of it. This document tours that dormant machine, surveys what the genre learned about achievements since Ultima Online, and proposes twenty-four improvements: a journal, a toast, per-creature counters, party-shared credit, a World Events channel, shard-wide celebrations, a trophy quartermaster, and a Steam catalog worth showing off. At the end sits the full first catalog: 115 achievements, 231 unlockables counting every chain tier.
Ultima Online invented the ingredients of the MMO achievement system in 1997: numbers you grind in silence that become titles everyone can read, deed tracks, point vendors, communal collection monuments. World of Warcraft built the roof over those ingredients in 2008: one journal, points, categories, a toast, and a retroactive grant that turned every veteran's stored history into a day-one cascade of recognition. Shroud of the Avatar, an Ultima-lineage game, then did something stranger than either: it shipped a complete, server-validated, Steam-connected achievement pipeline and never built the shelf. The one achievement the game ever authored end to end is the Frost Giant chain: kill the giant, a conversation flag fires, Wymond the explorer hands over a one-time title, and the quartermaster Hisa runs a repeatable trophy turn-in. It works today. It shipped once. It was never generalized.
This proposal finishes the building. It extends the dormant pipeline (never forks it), gives it a journal and a toast, generalizes the Wymond chain to the whole bestiary, and adds the social layer the owner asked for: party-shared boss credit, a World Events channel, and shard-wide celebration buffs when the great bosses fall. The gaps cluster in three places:
NpcKills is a single undifferentiated integer: the game cannot say what you killed. Kill credit is the killing blow only, sent by the client and trusted by the server. Cards S7, S8, S10, S16, and S21 raise this ceiling.| # | Proposal | Tier | Size | Server | One-line pitch |
|---|---|---|---|---|---|
| S1 | Wake the dormant catalog Built | 1 | S | none | the stats the game has counted for years become real achievements |
| S2 | Unlock toast Built | 1 | S | none | banner, chat line, and fanfare the moment you earn one |
| S3 | Boss last-words deed flags | 1 | M | none | 60 bosses remember you were there when they fell |
| S4 | Town discovery achievements | 1 | M | enum only | explore a town's landmarks, earn its achievement |
| S5 | Steam curation pass | 1 | S | none | a clean flagship set on Steam with icons and progress bars |
| S6 | Achievements journal Built | 2 | L | none | a character sheet tab for everything earned and everything left |
| S7 | Data-driven definitions Built | 2 | XL | catalog + op | achievements become designer data, not enum edits |
| S8 | Creature-family kill counters Built | 2 | L | bake + emit | 66 creature families, each with its own kill record |
| S9 | Tiered chains to 10,000 Built | 2 | S | none | 10 / 100 / 1,000 / 10,000 ladders on every counter that deserves them |
| S10 | Curated boss registry Built | 2 | M | bake | one authoritative list of every boss in Novia |
| S11 | Trophy quartermaster | 2 | L | none new | deeds buy trophies, points buy certificates, one NPC |
| S12 | Milestone titles Built | 2 | M | minimal | titles earned by doing, not just by pledging |
| S13 | Breadth stats Built | 2 | M-L | mixed | fishing, taming, farming, and exploring all start counting |
| S14 | Per-character stats, account unlocks | 2 | L | new collection | the account keeps the unlock; each character keeps its story |
| S15 | Steam full sync, server-granted | 2 | M | reporter | the full catalog on Steam, granted only by the server |
| S23 | Achievement points, frozen thresholds | 2 | M | field | a lifetime score whose milestones stay earned forever |
| S24 | Legacy category | 2 | M | one-shot pass | twelve years of events and pledges honored, at zero points |
| S16 | Party-shared kill credit | 3 | M-L | XP-loop emit | the whole party gets the kill, not just the last hit |
| S17 | World Events channel Built | 3 | M | publish | a chat channel that carries the news of the realm |
| S18 | Boss-kill announcements Built | 3 | M | trigger | when a great boss falls, all of Novia hears |
| S19 | Celebration events Built | 3 | L | new collection | one hunter's triumph becomes everyone's good hour |
| S20 | Reward-on-unlock hooks Built | 3 | L | grant path | the title or trophy arrives the moment you earn it |
| S21 | Timestamps, history, atomic counters Built | 3 | M | write path | the date you earned it, and counters that never lose a kill |
| S22 | Offline catch-up | 3 | S-M | announce row | earn it while away, get the toast at next login |
Everything below the dotted line in this diagram exists and runs today. Everything above it is missing. The pipeline validates on the server (per-stat clamps, a change cap per message, a server-only edit flag), stores per account in Mongo, evaluates unlocks, and pushes them to Steam on a background job. What it lacks is any surface a player can see and any reward the game can hand over.
flowchart LR A["1 stat emitted\nkill, craft, discover,\nconversation verb"] --> B["2 client queue\nAchievements.cs, batch 20"] B --> C["3 UpdateStats op\nexisting request"] C --> D["4 server validation\nclamps, change cap,\nserver-only flag"] D --> E["5 Mongo store\naccount counter dictionary"] E --> F["6 unlock evaluator\nstat X reached N"] F --> G["7 Steam profile\ntoday's only surface"] E -.-> H["8 journal: missing"] D -.-> I["9 toast: missing"] F -.-> J["10 rewards: missing"] style H stroke:#a33d2e,stroke-width:2px style I stroke:#a33d2e,stroke-width:2px style J stroke:#a33d2e,stroke-width:2px
| # | Stage, as it exists today | Extended by |
|---|---|---|
| 1 | Five stat-emission call sites in the whole game: kills, crafting, friending, party join, location discovery, plus a conversation-script verb | S1 authors over all 28 stats; S16 moves kills server-side; S8, S13 add emitters |
| 2 | Client enqueue and batch, cap 20 per flush | unchanged; S7 widens what an entry can name |
| 3 | The existing request; no new opcodes | unchanged by design; every card rides existing rails where one exists |
| 4 | Per-stat rules: min, max, max change per message, server-only flag | S16 marks new counters server-only; S21 makes writes atomic |
| 5 | One record per account, whole-dictionary writes | S14 adds the per-character layer; S21 adds timestamps and history |
| 6 | An achievement is literally "stat X reached N"; recomputed, never recorded | S20 gives the evaluator a second consumer: rewards |
| 7 | Live per-account Steam push | S5 curates; S15 expands and locks grants server-side |
| 8–10 | Nothing | S6 journal, S2 toast, S22 catch-up, S20 rewards |
The full loop the owner is asking for exists for exactly one boss. Walk the Frost Giant chain:
UO never had an achievements panel, but it invented most of the parts: fame and karma ground silently into displayed titles, virtue meters filled by deeds, bulk order deeds turned accumulated work into banked points spent at NPCs, and community collections let a whole shard fill a museum together. What UO never built was the unifying surface. An Ultima-lineage game adding achievements is finishing what UO started, not importing a foreign idea.
Ultima Online (1997). Fame and karma, virtues, bulk order deeds, community collections: the ancestral mechanics. The takeaway is that titles, deed tracks, and point vendors are native to this lineage; the shelf is the only new invention required.
World of Warcraft (2008). Patch 3.0.2 defined the canon: a journal with categories and points, a separate statistics tab recording everything whether or not it awarded anything, meta-achievements, a hidden zero-point category for legacy deeds, and a retroactive grant players accepted because the policy was legible. Statistics-first architecture meant later achievements could be authored against data already recorded, which is precisely SotA's situation. Its failures: point inflation and broadcast spam. Takeaway: record everything, award later; honor unrepeatable history at zero points; retro-grant in one server-side pass.
Guild Wars 2 (2012). Achievements as the endgame of a horizontal game: account-wide lifetime points with reward chests at fixed milestones carrying small permanent perks, and collections that turn hoarding into visible progress. Its daily treadmill was the failure, cleanly redesigned in 2023 without deleting the legacy record. Takeaway: in a game without a gear ladder, a lifetime score with milestone rewards is progression; collections serve the decorator audience SotA already has.
Final Fantasy XIV (2013). Jonathas, an old storyteller in Old Gridania, recounts your deeds and hands over what they earned; since 2017 he also converts lifetime achievement points into certificates spent on a catalog that grows every patch. Two loops at one NPC: a specific deed buys a specific trophy, and generic accumulation buys from a catalog. Takeaway: the quartermaster should run both loops from launch, with the NPC as the flavor and the menu as the mechanism.
Elder Scrolls Online (2022). Update 33 moved achievements account-wide and triggered the most contentious achievement change in genre history. The anger was not about account-wide recognition, which players wanted; it was about deleting the per-character record to get it, with a login-lazy migration that could lose data outright. Takeaway: SotA's chosen scope model, per-character stats retained forever with an account-wide unlock layer, is the exact lesson ESO paid to learn. Migrate in one server-side pass, never lazily at login.
Old School RuneScape (2015, 2021, 2023). Achievement Diaries organize deeds by region and claim from a local taskmaster who hands over a region-themed upgrading item plus permanent local perks; they push traffic through quiet content. Combat Achievements curate boss deeds by difficulty, and the 2023 rework made every task award points with tiers unlocking at thresholds any task mix can reach. Its standing failure: thresholds rise as tasks are added and earned rewards switch off until you requalify. Takeaway: points per deed, thresholds frozen at earn time; regional taskmasters are a natural later extension of the quartermaster.
EverQuest II (2009). The closest population analog: a small, elder, housing-obsessed, collection-driven community. Its achievements and shiny collections endured because the rewards are house items: things to place, display, and trade. Server-race prestige dies when population thins; display and trade do not. Its failure was bloat. Takeaway: house-placeable trophies are the default reward class for a decorating game, and curation matters more than count.
Steam, the platform (2007). An achievement bound to a progress stat shows a progress bar on the profile page; rarity percentages are queryable; hidden flags conceal spoilers; the rarest-achievement showcase turns a veteran's profile into acquisition marketing. Two hard rules: 100 achievements until the game crosses Steam's profile-features threshold, and every achievement needs achieved and unachieved icons. Most important: grants through the game-server stats interface cannot be written by any client. Takeaway: curate the flagship 100 first, expand later, and grant everything server-side.
| Capability | UO | WoW | GW2 | FFXIV | ESO | OSRS | EQ2 | Steam | SotA today | SotA proposed |
|---|---|---|---|---|---|---|---|---|---|---|
| Per-player stat tracking | ◔ | ● | ● | ● | ● | ● | ● | ● | ◔ [a] | ● S1 S7 |
| Tiered count chains | ◔ | ● | ● | ● | ● | ● | ● | ◔ | ◔ [b] | ● S9 |
| Per-creature or family counters | ○ | ◔ | ● | ● | ◔ | ● | ◔ | ◔ | ○ | ● S8 |
| Character and account scope, both kept | ○ | ◔ | ◔ | ○ | ◔ [c] | ○ | ○ | ○ | ○ | ● S14 |
| In-game journal | ○ | ● | ● | ● | ● | ● | ● | ◔ | ○ | ● S6 |
| Unlock toast and chat line | ○ | ● | ● | ● | ● | ● | ● | ● | ○ | ● S2 |
| Unlock timestamps and history | ○ | ● | ◔ | ● | ● | ◔ | ◔ | ● | ○ [d] | ● S21 |
| Party-shared kill credit | ○ | ● | ● | ● | ● | ◔ | ● | ○ | ○ [e] | ● S16 |
| Public announcement channel | ○ | ◔ [f] | ○ | ◔ | ○ | ● [g] | ◔ | ◔ | ○ | ● S17 S18 |
| World-benefit celebration effects | ○ | ◔ [h] | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ● S19 |
| Title rewards from deeds | ● | ● | ● | ● | ● | ◔ | ● | ○ | ◔ [i] | ● S12 |
| Physical trophy vendor | ● | ○ | ◔ | ● | ○ | ● | ● | ○ | ◔ [j] | ● S11 |
| Achievement points and milestones | ○ | ● | ● | ● | ● | ● | ○ | ○ | ○ | ● S23 |
| Platform sync and rarity display | ○ | ◔ | ◔ | ◔ | ◔ | ○ | ◔ | ● | ◔ [k] | ● S5 S15 |
| Offline catch-up delivery | ○ | ◔ | ○ | ○ | ◔ | ○ | ○ | ● | ○ | ● S22 |
● shipped and first-class · ◔ partial, adjacent, or limited · ○ absent. [a] The full pipeline runs today, but only 28 stats exist, six of them test stubs, all account-scoped. [b] Four kill tiers and four crafting tiers are authored and live; visible only on Steam. [c] ESO shipped account-wide by deleting the per-character record, the failure SotA's model avoids. [d] Unlock state is recomputed on demand; no unlock has ever been recorded with a date. [e] The party experience loop exists and fans out per member; achievement credit was simply never inserted into it. [f] WoW broadcasts reach nearby players and the guild, never the server. [g] OSRS clan broadcasts are the genre's best-configured matrix; RS3 adds true global scope. [h] WoW's dragon-head ceremony buffed one city by proximity; the true everyone-online precedent is Guild Wars 1's Favor of the Gods. [i] 219 titles exist; two are earned by defeating something. [j] The Wymond and Hisa pair shipped the full vendor pattern for exactly one boss. [k] The Steam reporter is live, but the catalog is 14 rules and rarity is not mirrored in-game.
Built 5 August 2026. The audit found the catalog more awake than anyone knew: all 29 achievement rules were already authored, and every quest achievement already has a working trigger. The six that looked missing live in conversation branches the old exports do not show. Editor tests now pin the catalog and the trigger coverage so neither can quietly break. The visible half ships with S2.
The game has been counting your NPC kills, crafted items, discoveries, and quest milestones for years. This card turns those silent counters into a first wave of real achievements. Because the numbers already exist, veterans unlock most of the wave the moment it ships.
Seen in: WoW patch 3.0.2's statistics-first retro-grant (2008); the dormant SotA pipeline is the same situation.
Zero new code: author AchievementRules entries (SteamApiName, ProgressStat, ProgressStatGoal) over the 22 real stats in UserStatId via the existing UserStatRulesEditorWindow, validate with the existing Catnip Games/Validate/UserStatRules menu, and re-bake AchievementRulesDb.xml + UserStatRulesDb.xml, which the server loads at startup. The unlock evaluator (DetermineWhetherAchievementIsUnlocked) and the Steam push (SteamStatsReporter) already run. Ach_NpcKills_Level1..4 and the crafting tiers are already authored; this fills in the rest: the PlayerKills chain, JoinedParty, JoinedGuild, the eleven quest one-shots, and the two friendship achievements. Retroactivity is the locked policy: already-tracked counters grant instantly at launch.
Built 5 August 2026. Crossing a goal now shows the center-screen banner, writes the chat line with the achievement name and its deed, plays a new unlock sound, and fires the level-up lights. Several at once take turns instead of replacing each other. At login the game picks up progress the server counted while the window was closed, and a veteran's backlog folds into one quiet chat line instead of a wall of banners. Names match the 2016 Steam catalog. Not on the test shard yet.
When you cross an achievement goal you get a center-screen banner, a chat line you can scroll back to, a sound, and the same lighting fanfare as a level-up. No new windows to learn; it uses the surfaces the game already celebrates with.
Seen in: WoW's toast plus chat line (2008); OSRS Combat Achievements task popup.
Detection is client-local: on each stat enqueue, compare pre and post values against the cached rules whose ProgressStat matches; on login, diff stored values against goals to catch server-written stats (crafting counters, later party credit). The banner-plus-chat combo is the battleground-victory pattern verbatim (QueuedMessageUI.ShowMessage + AddSystemMessageToChatLog); audio is a new named one-shot beside SkillLearned; lighting reuses the level-up mode. Strings live in a new AchievementStrings LocString class. Risk handled: a veteran's first login after S1 could queue a toast wall; past N unlocks the login diff collapses to one summary line.
Around sixty bosses already have a dying-words script with empty hands. This fills each one in, so the game permanently remembers you were there when the boss fell. Those memories become the tickets you hand the trophy quartermaster later.
Seen in: FFXIV's Jonathas, whose whole loop rests on deeds recorded when they happen; SotA's own Frost Giant chain is the local proof.
Pure ConvoBuilder data. The dying-words machinery is universal and idle: roughly sixty boss conversations carry an ONDEATH block with flavor responses and no actions. Add one flag action per boss (g_slain_<bossid>, ids from the S10 registry) following the live Frost Giant example, which also opens a journal entry and awards virtue. The hard caveat this card respects: ONDEATH fires by proximity on every client near the corpse, so its meaning is "was present at the kill". Killer-attributed counting is S16's job, not this card's. Batch the ConvoBuilder edits and verify the exports diff clean.
Built 13 August 2026. Twenty-four towns now have an Explorer achievement: find every landmark in town, earn the town's deed. It arrives the moment you find the last one rather than at your next login. Owl's Head and Braemar keep the achievements they already had. Thirteen smaller towns quietly count your landmarks but have no deed yet, because once you set aside the town gates and the quest markers they have one or two things worth finding, and that is a landmark problem to fix before it is an achievement to award. Not on the test shard yet.
Owl's Head and Braemar already have this: find every landmark in town, earn the town's achievement. This extends the same machinery to the famous towns of Novia, one achievement per town.
Seen in: OSRS Achievement Diaries' region mastery; WoW exploration achievements.
The machinery is fully wired: DiscoverableLocationManager carries an achievement name, finds its rules, and reports discovery counts, with editor validation that the goal equals the number of placed landmarks. Per town: one new UserStatId value (next free is 29), one stat rule, one achievement rule, and landmark trigger placement in the scene. Enum edits propagate through the shared-code mirror sync. The first batch stays modest, eight to twelve towns, because the flat enum is still the ceiling; full 445-scene breadth waits for S7's string keys. The real cost is the designer pass per town, not code.
A tidy flagship set of SotA achievements on Steam, with proper icons, hidden flags on story spoilers, and progress bars on the counters. Your Steam profile finally shows what you have done in Novia.
Seen in: the Steamworks achievement feature set; the 100-achievement default cap before the profile-features threshold.
The app sits under Steam's default 100-achievement cap until it crosses the profile-features threshold, so this pass curates the flagship subset: the S1 wave plus the best of the S9 chains. Each achievement needs an achieved icon and a grayed unachieved icon (uploaded at 256, shown at 64); template-generate the pairs per category with a tier band, or this card stops being small. Counters bind as Steam progress stats so profile pages show progress bars from the pushes the reporter already makes. Hidden flags go on the eleven quest one-shots. Names already published, like Ach_NpcKills_Level1..4, are frozen forever.
Built 13 August 2026. The achievements the game has been counting now have a room to be read in: a tab on the character sheet, and a full window of their own from the chat command. Everything is grouped by category with a bar showing how far along you are, and the tiered chains fold into one line each, naming the highest rung you have earned and running the bar to the next one. Earned dates start from now; ones you finished earlier show the mark without a date until the server keeps the record itself. Not on the test shard yet.
A new Achievements tab on the character sheet: every achievement grouped by category, a progress bar for each, the ones you have earned with their dates, and the ones still waiting. This is the room where every other card becomes visible.
Seen in: WoW's achievement pane; GW2's achievement panel.
A new tab id in the character sheet tab registry, built on the Titles window, model, and bridge triple. Data is already client-resident: the stats dictionary loaded at login, joined against the cached achievement rules; no new server operation. The model is pure logic and test-friendly: category grouping, chain rollup (show the highest earned rung plus the next goal), progress fractions, earned sort. The category rail seeds from rule metadata until S7 makes it authored data. The footer scope toggle is the S14 stance made visible: counters are per-character and switchable, the unlock badge and date are account-wide either way. The points header row arrives with S23; the Legacy rail renders only once S24 grants something. Known UI trap: long achievement names must not clip; test at maximum lengths.
Built 12 August 2026. Achievements no longer have to fit inside a fixed list of twenty-eight counters. The game now keeps a second set of counters named by text, authored as data beside the old ones, so adding an achievement is an entry in a file rather than a code change. The counters the game already had are untouched and nothing had to be converted. Not on the test shard yet.
Today every new counter needs a programmer to edit an enum on both client and server. This card moves the whole catalog to designer-authored data, so a new achievement is a data entry, not a code change. It is the single piece of infrastructure most later cards stand on.
Seen in: WoW's statistics-first architecture; GW2's achievement-native content pipeline.
The flat UserStatId enum is the ceiling; this card escapes it with string-keyed stats plus a catalog asset. Storage: a second dictionary (Stats2, string keys) beside the enum-keyed one on the account record; the keyed-map precedent already exists in the tracked-stats record's per-recipe usage counts. Rules: generalize the stat-rule and achievement-rule contracts to string keys; a new catalog ScriptableObject adds categories, display strings, points (S23), and reward references (S20), baked into the server reports like the existing rules. Validation keeps the same anti-cheat knobs, and every new counting stat defaults to server-only. One new paged request pair loads the string-keyed stats; the map-exploration feature from July is the copy-exactly template for the op group, including the dispatch-chain wiring the gates enforce and dual registration in both server project files. Enum stats stay forever (published Steam names reference them); new content authors against string keys only.
Built 12 August 2026. Kills are now counted per creature family and per named boss, and the count goes to everyone in the party rather than whoever struck last. The server does the counting from its own record of the fight. 1,422 creatures are mapped across 58 families. Not on the test shard yet.
Not just "kills" but kills of dragons, of kobolds, of skeletons. Sixty-six creature families each get their own lifetime counter, and the tiered ladders hang off every one of them.
Seen in: GW2 slayer achievements per family; FFXIV's hunting log tiers.
The family source of truth is the creature-audit bake (1,546 creatures, 66 families, refreshed with the audit's own procedure), not the unreliable filename convention. A new baked mapping from creature prefab to family id loads server-side beside the NPC reports, leaving the generated NPC contract untouched. Counting is server-authoritative only: inside the party-credit loop (S16), resolve the slain creature's prefab to its family and increment Kills.Family.<id> on the string-keyed store, marked server-only so no client can ever emit one. Named bosses get per-boss keys from the S10 registry the same way. The journal renders family rows from the catalog with the audit's display names.
Built 12 August 2026. Every creature family large enough to carry one now has a four-rung ladder at 10, 100, 1,000 and 10,000, and smaller families carry a shorter ladder so no line has a rung nobody could reach. 248 achievements in all, including one for each of the 84 bosses. Ones you earn while fighting are announced at your next login, the same way the crafting counters already work. Not on the test shard yet.
Four rungs for every counter that deserves them. The first rung falls in an evening; the last one is a years-long flag planted on your account.
Seen in: WoW's honorable-kill chain (100 to 250,000); OSRS kill-count tasks; the genre's canonical 5x-to-10x curve.
Pure data over S1 today and S8 as it lands: one achievement rule per rung per counter. The shipped Steam goals stay frozen exactly as published (10/100/1,000/5,000); a fifth rung at 10,000 completes the owner's canonical curve, and all new chains author at 10/100/1,000/10,000 from the start. The freeze-at-earn rule is structural: a rung once earned is never revoked or re-goaled, and curve changes only ever add rungs. Sample chain names, rung by rung: Wolf Hunter, Wolf Stalker, Wolf Slayer, Scourge of Wolves.
Built 12 August 2026. There is now one hand-checked list of every named boss in the game, 84 of them. Spotting a boss used to go by a naming convention in the files, which missed the Frost Giant along with all eight Cabalists. A boss that turns up in more than one place counts as one boss. Not on the test shard yet.
One authoritative, hand-checked list of every boss in the game: the 76 flagged ones, plus the famous ones the data forgot, like the Frost Giant, the eight Cabalists, Ribbit the Frog King, and Fnyr. Every boss feature in this proposal reads from this one list.
Seen in: the boss list behind OSRS Combat Achievements; WoW's encounter journal as the single boss key space.
The filename convention is provably unreliable: it misses the game's most famous boss. The registry seeds from the creature-audit bake's 76 boss-flagged creatures plus the roughly 25 named exceptions the content research cataloged, as a client asset plus a server report bake. Each row: boss id, its prefab variants, display name, family, tier, a hand-curated super-boss flag, and an announcement string for the super-boss set (Ancient dragons, the Elemental Lords, the Spawn of Pele, the player-dungeon trio, the Frost Giant, the Cabalists). Consumers: S3 flag ids, S8 per-boss counters, S11 trophy descriptors, S18 announcements, S19 celebrations. Editor validation: no duplicate prefabs across bosses, every super-boss has its announcement string, every conversation boss has its S3 flag. The real cost is curation, about a hundred rows hand-verified.
A quartermaster who deals in proof. Bring the memory of a boss kill and receive a mounted trophy for your wall, once per boss, never tradeable. Bring your achievement points and spend the certificates they earn on a growing catalog. One NPC, two reasons to visit for the rest of the game's life.
Seen in: FFXIV's Jonathas certificates (patch 4.1); UO bulk order deed turn-ins; OSRS diary taskmasters.
Loop one, deed to trophy, generalizes the shipped Wymond and Hisa chain: an S3 presence flag gates a one-time reward bundle on the conversation, once ever, server-validated through the existing exchange transaction with the standing anti-farm key. Trophy items carry the no-trade flag with no packaged-for-trade escape; the community asked for exactly this. The art largely exists: sixty trophy decorations map straight onto the boss roster, and Sobek's trophy proves the named-boss case; bosses without bespoke art reuse the family trophy with an engraved description line. Loop two, points to certificates, depends on S23: a certificate currency claimable at a fixed rate per point milestone, spent through required-item descriptors on a catalog restocked each release. Idempotency and pending-grant patterns come from the title-redeem and titles-inbox precedents. Placement: a named quartermaster in a capital, with Wymond and Hisa kept as the Jotungrund outpost. Content volume (about a hundred descriptors) is generated from the registry, not hand-built.
Of the 219 titles in the game, only two are earned by killing anything. This card puts titles at the top rungs of achievement chains, so what you wear over your head says what you have done, not just what you pledged.
Built 13 August 2026. Thirty-three new titles, granted by the server. Thirty-two come from the creature ladders at ten thousand kills, so ten thousand dragons makes you Dragon Nemesis and ten thousand wolves makes you Wolf Nemesis; the thirty-third is Legendary Crafter, at five thousand crafting actions created and enhanced combined. Titles your account already qualified for arrive at your next login rather than at your next kill, quietly, without a wall of banners. Which title a chain grants is not authored anywhere: it is read from the achievement's own name, so the title and the achievement can never drift apart. The total-kill and player-kill ladders are deliberately not in this wave, because those two counters are still sent by the client and taken on trust, and a forgeable badge worn over your head is worse than a forgeable one on a profile page. Not on the test shard yet.
Seen in: UO's fame and karma title matrix (1997), the ur-pattern; OSRS diary and combat rewards.
Both grant paths exist: a conversation-granted title item (twelve quest-title assets are the pattern, Giant Killer the worked example) or a direct server grant once S20 lands, both idempotent through the existing title store. New titles extend the title enum past 219 with the mirror-sync step batched. The first wave rides the S1 and S9 chains: top rungs of the kill, crafting, and PvP ladders, then per-family top rungs as S8 lands. The grandmaster-a-tree title set already covers skill mastery and is deliberately not duplicated. Sample titles: Scourge of Wolves, Slayer of the Ancient Red Dragon, Master Provisioner.
Built 13 August 2026. The journal now covers the evenings, not just the fighting. Six new categories: Agriculture, Gathering, Taming, Fishing, Crafting and Games, plus how much of the world you have seen and how many emotes you have learned. Two of them are collections you can finish. Thirty kinds of fish, twenty four from water and six from lava, each with a deed for your first one and a chain that ends at the whole roster. One hundred and seventy seven tameable creatures across fourteen families, counted the same way. Every craft has its own chain too, from cooking to blacksmithing to obsidian forging, and winning a game of chess, checkers or backgammon against another player counts. Beating the computer does not, and neither does a game the other player resigned or walked away from. Places and emotes update while you play; the rest are counted by the server and announced at your next login. Not on the test shard yet.
Fishing, taming, farming, mining, cooking, exploring, emote collecting: everything you spend your evenings on starts leaving a record. This is the card that makes the journal feel like it covers the whole game instead of just combat.
Seen in: EQ2's collections and house-trophy rewards; GW2's collections-as-achievements; WoW's statistics tab.
An emit-point inventory across the game's systems: fish caught (with species keys for the 25 trophy species and 6 lava species), creatures tamed (177 tameable), crops planted and harvested, nodes gathered, recipes learned (per-recipe craft counts already exist server-side in the tracked-stats record; surface them, do not re-count), scenes visited, emotes learned (321 exist), tavern games played. Server-side activities emit at their server transactions, as crafting already does; client-side-only activities emit through the rules-capped client queue, accepting client authority for non-competitive counters. Three or four headliners can ship early on free enum slots; the full per-species breadth is S7 string keys. Collection completions (all trophy fish species) evaluate as composite rules, which the pipeline already supports. Land it one profession at a time so each change stays small and reviewable.
Your account earns the achievement once, and it stays earned. Each character still keeps its own numbers, so your fisherman's ledger and your dragon hunter's ledger stay distinct and both are browsable. Nothing is deleted to make the account view work.
Seen in: ESO Update 33 (2022), whose backlash was about deleting per-character records; WoW 5.0.4 (2012), the smoother path. The scope decision is locked: both records kept.
A new per-character record mirrors the account record's shape, following the standing record-class recipe (descriptor, character ownership so it wipes with character deletion, bot cleanup TTL, registration in both server project files). The server write path dual-writes: the character row is the ledger, the account row feeds the unlock evaluator, with per-rule merge semantics implemented once (delta stats increment both; highest-value stats take the max). Unlock records live on the account only; the journal offers an account view and a this-character view. Sequenced after S21 so the dual writes are atomic increments rather than two racy dictionary replaces.
The full catalog lands on Steam, and every grant comes from the server, so an achievement on a SotA profile means it actually happened.
Seen in: Steamworks server-side game-server stats, the client-tamper-proof grant path; deliberate rare-achievement authoring for the rarest-achievement showcase.
Flip published stat configurations to server-set on the partner site so no client can write them; verify Steam preserves already-earned achievements before flipping, which is this card's one real risk. The existing background reporter extends to the string-keyed rules and larger batches. Expansion past the 100-achievement default waits on the profile-features threshold; icon volume rides the S5 template pipeline. Author two or three deliberately rare but fair achievements (top rungs, super-boss firsts) so SotA appears in veterans' rarest-achievement showcases, which is free acquisition marketing.
Every achievement carries a point value sized to its difficulty, and your lifetime total unlocks milestones on its own: certificates to spend at the quartermaster, and a number that says how much of Novia you have seen and done. Milestones, once reached, stay reached, no matter how the catalog grows.
Seen in: OSRS's 2023 points rework (any task mix reaches a threshold), with its threshold-revocation flaw deliberately avoided; GW2's milestone chests; FFXIV's certificates at one per fifty points.
Promoted from the rejected list for one structural reason: the quartermaster's certificate loop has nothing to convert without a total. Points live in the S7 catalog, one to six per achievement by difficulty, held to that band by the catalog validator so inflation cannot creep. The lifetime total derives from S21 unlock records using the points recorded at earn time, cached on the account record and recomputable at any moment. Milestone thresholds live in the catalog; crossing one is itself an unlock, with a toast and a record, and mints certificate claims. Thresholds reached are never revoked when the catalog grows, which is the exact failure OSRS shipped and still carries. Legacy entries are worth zero points by definition and cannot distort the economy.
Twelve years of telethons, seasonal events, pledge history, and one-time deeds already live on accounts as titles and flags. This card gives them a home: a journal category worth zero points, invisible until you have one, where the game's history is worn by the people who were there.
Seen in: WoW's Feats of Strength, the zero-point hidden category granted retroactively from records.
The data exists: the 219-entry title enum is mostly pledge tiers, subscription rewards, contest wins, and the login-reward chain, and knowledge flags hold event participation. Legacy achievements are catalog entries flagged legacy, zero points, hidden until earned; the journal renders the category only when at least one is owned, and the Steam mirror uses hidden flags. The retro grant is one server-side batch pass, never login-lazy (the ESO trap): map owned titles and selected flags to unlock records, dated at the pass date because original dates are unrecoverable, and the page says so honestly. The pass runs through the standing database-tool recipe and is idempotent because unlock writes are transition-guarded. No gameplay rewards attach to legacy entries; recognition only. Sample entry: "Was present for the Fall 2019 telethon."
When your party brings down a troll, everyone in the fight gets the kill on their record, not just whoever swung last. It is the same rule the game already uses for experience, applied to achievements.
Seen in: WoW's party and raid boss credit, the genre norm since 2008; GW2's participation-threshold credit.
Exactly one insertion point, by design: the per-party-member experience award loop, where the server already holds the slain creature's identity, every credited player, and the scene. One stat write beside the existing per-member experience write credits family counters, per-boss counters, and a new server-authoritative shared-kill counter, all marked server-only so no client can ever emit them. Everything upstream already gates it: the proximity range on party credit, the party-size cap and duplicate-actor checks, the anti-exploit joinability test, and damage-share target selection with its five-minute decay. The legacy client-sent kill counter stays untouched so the shipped Steam chains keep their exact meaning; the key spaces stay disjoint so double credit is impossible. Solo players flow through the same loop, so this is also the server-authoritative solo path. Trust note, stated plainly: the party list is client-sent actor ids resolved server-side, the same trust that already pays out experience; achievements inherit that threat model and make it no worse.
Built 13 August 2026. The World Events channel is in: a global channel that is always on while you play, carrying the announcements the world makes. Unticking its box in chat settings hides the lines rather than leaving the channel. Not on the test shard yet.
A new chat channel that carries the news of the realm: boss falls, celebrations, and in time sieges and seasonal events. It is a channel like any other, with its own color and its own tab checkbox, except only the world itself gets to speak on it.
Seen in: RS3's server-wide announcements with player-toggleable scopes; OSRS clan broadcast settings, the genre's best-configured matrix.
Decided up front: this is a general world-event bus, not an achievements feed. Achievements and boss falls are the first tenant; the siege line in the mockup is the second, the roadmap's live-events idea publishing into the same channel with no new plumbing. Zero new network operations: the client subscribes to a new global transport channel through a small always-subscribed manager (the noble-chat pattern, so unticking the display box never stops delivery), and the server publishes synthesized channel messages exactly the way the moderation system already synthesizes them, cross-shard on the same carrier as universe chat. The display side is one new chat type on the only clean free bit, with the full checklist the chat system demands: a prefix label, a color entry (a missing color case spams errors), the unblockable list, a filter-grid row so the checkbox works and the bit survives saving, and strings through the localization pattern. The server rejects client sends to the channel by name, making it receive-only like the server and admin lines. One budget note: each always-on channel spends one of a peer's 32 channel slots, and the fan-out encodes each line once per payload, not once per recipient.
Built 13 August 2026. The fall of any of twenty-one landmark bosses, the Frost Giant, the eight Cabalists, the eight Ancient dragons and the four Elemental Lords, is announced to everyone online the moment it happens. Not on the test shard yet.
When an Ancient dragon or an Elemental Lord falls, a line goes out to every player online, on every shard: who, what, and where. On a shard our size that line is readable news, not spam.
Seen in: RS3 server-wide announcements; WoW realm-first feats; the small-population readability argument runs the other way for SotA, in its favor.
Detection is server-side and free: the experience award path already resolves the slain creature's identity, so a registry lookup on the super-boss flag is the entire trigger; there is no client "boss died" message to trust or invent. The announcement publishes structured arguments (boss, killer, party size, scene) on the World Events channel and the client formats the line, so it localizes later. Attribution names the crediting character plus companion count; naming every member would walk into the message-size ceiling that once broke the friends roster, so it does not. Spam control is layered: only the hand-curated super-boss tier announces, and a per-boss cooldown (hours, tuned conservative first) keeps farmed bosses from repeating; the tab checkbox is each player's own volume knob. The killing party also gets the scene-local banner through the battleground-victory pattern. Sample line: "The Ancient Red Dragon has fallen to Aldous and four companions in The Rise."
Built 13 August 2026. When one of those bosses falls, everyone online gains ten percent more adventurer experience for an hour. A second fall while the hour runs refreshes the clock rather than stacking it. The buff bar chip is not in yet. Not on the test shard yet.
When a landmark boss falls, the whole realm celebrates: every player online, in every scene, gets a timed bonus, and anyone logging in during the window joins it. One hunter's triumph becomes everyone's good hour, which makes the boss hunter a public benefactor.
Seen in: Guild Wars 1's Favor of the Gods, game-wide benefit earned by individual deeds, the strongest precedent in the genre; WoW Classic's dragon-head ceremony for the gathering instinct.
The delivery rail is the scene-bonus room-property pattern, which already pushes server-driven, database-backed, time-limited state to every client in every scene, survives scene transitions, and reaches late joiners free of charge; never the legacy buff-everyone RPC, whose cost is quadratic in players. A small celebrations collection holds the active window (source boss, slayer, stat, magnitude, expiry); the super-boss trigger writes it and invokes the property push immediately so the celebration starts in seconds rather than at the next ten-minute poll. Each client applies the buff locally through the standard buff call, which is the correct authority model because combat effects are target-authoritative by design; it reapplies on scene load while unexpired and drops at expiry. The buff itself stays modest and non-combat (experience or gathering rate) to keep PvP undistorted, authored per boss in the registry. Policy under contention: two super-bosses in one window refresh the timer rather than stack. The channel announces the start and, quietly, the end. Sample line: "The realm celebrates the fall of the Ancient Red Dragon. Adventurer experience is raised for the next hour."
Some achievements should hand you something the moment you earn them: the title at the top of a chain, a trophy, a bundle. This card gives the catalog a rewards column, so designers attach rewards as data and the server delivers them exactly once.
Built 27 August 2026. The game can now hand you something for an achievement, and only ever once. That turned out to be a harder promise than it sounds. A title is safe to grant twice because owning one is permanent, so the game can simply ask whether you have it. A trophy is not: you can place it on a wall, put it in the bank, or destroy it, so the fact that you are not carrying one proves nothing, and a rule that handed out a replacement whenever it could not find yours would refill the bank of everyone who ever redecorated. So the record of the handover lives with the delivery itself. A token is written into the storage the items land in, which means a server that stops halfway through can tell the difference between a lost receipt and a lost trophy, and finish the job without doing it twice. Nothing is authored yet, so no achievement pays out anything today. Not on the test shard yet.
Seen in: GW2's milestone chests; OSRS reward tiers; FFXIV achievement items.
The catalog gains optional reward references per achievement: a title, a loot bundle, or certificate points. Unlock evaluation, which today runs only inside the Steam reporter, moves to the write path: after each server-side stat store, evaluate just the rules watching the changed stats, indexed at cache build so this is a lookup rather than a scan. Exactly-once delivery hangs on the S21 unlock record: the grant fires only on the recorded transition, inside the same store operation, which is why this card must not ship before S21. Title grants use the existing idempotent title store; item grants deposit to the reward bank through the pledge-redemption precedent, no-trade flags applied, every grant written to the item transaction log. Offline earners get their reward server-side regardless; S22 delivers the notification.
Your journal shows the day you earned each achievement and the goal as it stood that day. Underneath, the counters move to arithmetic that never loses a kill when you play on two characters in one evening.
Built 27 August 2026. Achievements start keeping a record. Until now the game worked out what you had earned every time you asked, which is why the journal could not show a date, and why retuning a ladder quietly moved what you had already done. Each record now freezes the goal as it stood the day you earned it. The same pass fixed something nobody had reported: the counters were saved by rewriting the whole set from the snapshot loaded at login, so two of your characters playing at the same time each saved a total that had never seen the other one, and whichever saved last won. Counters now add up. Not on the test shard yet.
Seen in: WoW's earned dates; the OSRS threshold-revocation backlash, the reason goals are frozen at earn time.
Two changes to the account record. First, unlock records: each unlock stores its name, timestamp, the goal as it stood, and the points as they stood, which turns freeze-at-earn from a promise into a data structure and gives S20 and S23 their idempotency backbone; the write is transition-guarded so exactly one writer ever records it. Second, atomic counters: the whole-dictionary replace, where the last writer wins across two characters on one account, becomes per-stat increments for delta stats and per-stat maximums for highest-value stats, composed into one update per flush. The Steam reporter's wake-up versioning stays intact, pinned by a server test. This card deliberately precedes the dual-write scope card and the party fan-out card: both multiply concurrent writers and must land on safe arithmetic.
If your account earns an achievement while you are offline, or on another character, the toast is waiting for you at next login instead of silently missing.
Seen in: WoW's login-time grants after the 2008 retro pass; Steam's own offline achievement queue.
The rail is the durable per-user announcement record the game already polls every 75 seconds: the unlock path writes a row with a new announcement kind, and the client listener resolves it against the catalog and fires the same toast path as a live unlock, de-duplicating against anything already shown this session. Both sides of the new kind land together, because the client logs errors on unknown kinds. This supersedes the login-diff heuristic from S2 as the authoritative catch-up; the diff stays as a belt-and-suspenders check.
Two candidates were promoted out of this list on the strength of the genre research: achievement points became S23 once it was clear the quartermaster's certificate loop has nothing to convert without a total, and the legacy category became S24. The rest stay rejected.
The danger with twenty-four proposals is twenty-four widgets. The composition rule: one journal (a character sheet tab, S6), one toast surface (the queued-message banner the game already owns, S2), one channel (World Events, S17), and one buff chip on the bar the player already reads (S19). Here is the whole system on screen at once, the moment a party's kobold hunt crosses a rung while the realm celebrates a boss fall:
| Zone | Surface | Cards |
|---|---|---|
| A | Unlock and announcement toast banner: queued-message surface, fanfare, lighting cue | S2, S18 Built |
| B | Achievements journal body: category rail, chain rows, progress bars | S6, S9, S13 |
| C | Character sheet tab strip with the new Achievements tab, points header | S6, S23 |
| D | World Events chat tab: boss lines, milestones, second-tenant events | S17, S18 Built |
| E | Buff bar carrying the celebration buff with its shard-wide timer | S19 Built |
| F | Journal footer scope toggle: per-character counters, account-wide unlocks | S14 |
| G | Recent-unlocks strip, fed by recorded history and next-login catch-up | S21, S22 |
Five phases. Each ships player-visible value on its own and unblocks the next. The infrastructure ordering inside phase three is deliberate: definitions first, then atomic writes, then the dual-write scope model, so the write path is reworked once, on its final shape, before anything multiplies concurrent writers.
| Phase | Ships | Theme | Why this order |
|---|---|---|---|
| 1 | S1, S2, S5, S3, S4, S9 first wave | Wake the machine: author over the 28 stats, toast, Steam curation, deed flags, town discovery | All data and client-only work on existing rails; proves the pipeline end to end under real load before deeper investment, and ships a visible launch in weeks. |
| 2 | S6, S10, S12 first titles, S24 rendering prep | Build the shelf: the journal, the boss registry, first milestone titles | Everything later needs a surface to appear on and a key space to hang from; S7's catalog design should be finalized against a real UI consuming it. |
| 3 | S7, S21, S14, S23, S20, S11, S13, S12 completion, S24 pass | Depth and rewards: string-keyed definitions, atomic history, scope model, points, reward delivery, the quartermaster, breadth, the legacy pass | Party fan-out multiplies concurrent writers per kill and must land on atomic arithmetic; per-family counters need string keys; rewards need unlock records for exactly-once. |
| 4 | S16, S8, S17, S22 | Server truth and the stage: party credit at the one sanctioned point, family counters riding it, the channel, durable catch-up | Announcements and celebrations trigger from the server-side kill context and speak on the channel; neither exists before this phase. |
| 5 | S18, S19, S15 | The world layer: super-boss announcements, shard-wide celebrations, full server-granted Steam | Highest blast radius, lowest reversibility, deliberately last; everything beneath it is already independently valuable if this phase slips a release. |
flowchart TD S7["S7 data-driven definitions"] --> S8["S8 family counters"] S7 --> S13["S13 breadth stats"] S7 --> S23["S23 points"] S21["S21 atomic history"] --> S14["S14 scope model"] S21 --> S20["S20 reward hooks"] S21 --> S16["S16 party credit"] S21 --> S22["S22 offline catch-up"] S16 --> S8 S16 --> S18["S18 announcements"] S10["S10 boss registry"] --> S18 S10 --> S11["S11 quartermaster"] S17["S17 World Events channel"] --> S18 S18 --> S19["S19 celebrations"] S20 --> S11 S20 --> S12["S12 milestone titles"] S23 --> S11 S3["S3 deed flags"] --> S11
The complete proposed first wave. Chains count as one row; the Tiers column carries the ladder, so the 115 rows unfold into 231 unlockables. Names and deeds are final-copy candidates and follow the plain-voice rules. The Trigger column shows the proposed stat key; rows marked exists ride a counter the game already tracks and grant retroactively at launch (13 rows). Steam marks the curated Steam subset (110, counting each chain's top tier). WE marks the deeds that post a World Events line when earned (35: every boss deed, every chain's 10,000 rung, and three marquee rarities).
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Kobold Slayer I-IV | Defeat 10,000 kobolds. | Kills_Kobold | 10/100/1,000/10,000 | title | ● | ● |
| Skeleton Slayer I-IV | Defeat 10,000 skeletons. | Kills_Skeleton | 10/100/1,000/10,000 | title | ● | ● |
| Zombie Slayer I-IV | Defeat 10,000 zombies. | Kills_Zombie | 10/100/1,000/10,000 | title | ● | ● |
| Elf Slayer I-IV | Defeat 10,000 elves. | Kills_Elf | 10/100/1,000/10,000 | title | ● | ● |
| Satyr Slayer I-IV | Defeat 10,000 satyrs. | Kills_Satyr | 10/100/1,000/10,000 | title | ● | ● |
| Spider Slayer I-IV | Defeat 10,000 spiders. | Kills_Spider | 10/100/1,000/10,000 | title | ● | ● |
| Bear Hunter I-IV | Defeat 10,000 bears. | Kills_Bear | 10/100/1,000/10,000 | title | ● | ● |
| Wolf Hunter I-IV | Defeat 10,000 wolves. | Kills_Wolf | 10/100/1,000/10,000 | title | ● | ● |
| Bandit Hunter I-IV | Defeat 10,000 bandits, thugs, and outlaws. | Kills_Bandit | 10/100/1,000/10,000 | title | ● | ● |
| Dragon Slayer I-IV | Defeat 10,000 dragons. | Kills_Dragon | 10/100/1,000/10,000 | title | ● | ● |
| Troll Slayer I-IV | Defeat 10,000 trolls. | Kills_Troll | 10/100/1,000/10,000 | title | ● | ● |
| Lich Slayer I-IV | Defeat 10,000 liches. | Kills_Lich | 10/100/1,000/10,000 | title | ● | ● |
| Elemental Slayer I-IV | Defeat 10,000 elementals. | Kills_Elemental | 10/100/1,000/10,000 | title | ● | ● |
| Corpion Slayer I-IV | Defeat 10,000 corpions. | Kills_Corpion | 10/100/1,000/10,000 | title | ● | ● |
| Wyvern Slayer I-IV | Defeat 10,000 wyverns. | Kills_Wyvern | 10/100/1,000/10,000 | title | ● | ● |
| Ghost Slayer I-IV | Defeat 10,000 ghosts. | Kills_Ghost | 10/100/1,000/10,000 | title | ● | ● |
| Slime Slayer I-IV | Defeat 10,000 slimes. | Kills_Slime | 10/100/1,000/10,000 | title | ● | ● |
| Big Cat Hunter I-IV | Defeat 10,000 big cats. | Kills_BigCat | 10/100/1,000/10,000 | title | ● | ● |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Giant Killer | Defeat the Frost Giant of Jotungrund. | Slain_FrostGiant | - | title | ● | ● |
| Pele's Bane | Defeat the Spawn of Pele. | Slain_SpawnOfPele | - | token | ● | ● |
| Queenslayer | Defeat the Spider Queen. | Slain_SpiderQueen | - | token | ● | ● |
| Slayer of Ancients | Defeat an Ancient dragon of any of the eight colors. | Slain_AncientDragon | - | trophy | ● | ● |
| Aetherslayer | Defeat the Aether Dragon. | Slain_AetherDragon | - | trophy | ● | ● |
| Machine Breaker | Defeat a Gold, Bronze, or Blackened Clockwork Dragon. | Slain_ClockworkDragon | - | trophy | ● | ● |
| Master of the Elements | Defeat Gael, Pyre, Wrauk, and Brign, the four Elemental Lords. | Slain_ElementalLords` (composite) | - | title | ● | ● |
| Cabal Breaker | Defeat all eight Cabalists: Avara, Corpus, Dolus, Fastus, Indigno, Nefario, Nefas, and Temna. | Slain_Cabalists` (composite) | - | title | ● | ● |
| Deep Champion | Defeat Smalt Hraunkvika in a player dungeon. | Slain_SmaltHraunkvika | - | title | ● | ● |
| Trollsbane | Defeat Mek the Unkillable. | Slain_MekTheUnkillable | - | trophy | ● | ● |
| Nightmare's End | Defeat Your Worst Nightmare. | Slain_WorstNightmare | - | trophy | ● | ● |
| Phoenix Slayer | Defeat Riei Firefeather the Phoenix. | Slain_RieiFirefeather | - | trophy | ● | ● |
| Sabertooth Slayer | Defeat Smilodon Fatalis. | Slain_SmilodonFatalis | - | trophy | ● | ● |
| Sobek Slayer | Defeat the Spawn of Sobek. | Slain_SpawnOfSobek | - | trophy | ● | ● |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Monster Hunter I-IV | Defeat 100,000 creatures. | NpcKills exists | 100/1,000/10,000/100,000 | title | ● | ○ |
| Avatar Slayer I-IV | Defeat 10,000 other Avatars in PvP. | PlayerKills exists | 10/100/1,000/10,000 | title | ● | ○ |
| King Killer | Defeat Lord British. | Slain_LordBritish | - | title | ● | ● |
| Pugilist | Defeat the Courage Club challenger in a random encounter. | Won_CourageClub | - | title | ● | ○ |
| War Trophy | Win a guild war. | Won_GuildWar | - | trophy | ● | ○ |
| King of the Mountain | Win a King of the Mountain event. | Won_KingOfTheMountain | - | title | ● | ○ |
| Master of the Maze | Win a Master of the Maze event. | Won_MasterOfTheMaze | - | title | ● | ○ |
| Master of Mayhem | Win a Master of Mayhem event. | Won_MasterOfMayhem | - | title | ● | ○ |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Maker I-IV | Craft 10,000 items at crafting stations. | CraftingCreatedItemCount exists | 10/100/1,000/10,000 | title | ● | ○ |
| Enhancer I-IV | Masterwork or enchant 10,000 items. | CraftingModifiedItemCount exists | 10/100/1,000/10,000 | title | ● | ○ |
| Artisan I-IV | Reach 25,000 total crafting actions, created and modified combined. | CraftingTotal exists | 25/250/2,500/25,000 | title | ● | ○ |
| Master Blacksmith | Reach Grandmaster in the Blacksmithing school. | GM_Blacksmithing | - | title | ● | ○ |
| Master Carpenter | Reach Grandmaster in the Carpentry school. | GM_Carpentry | - | title | ● | ○ |
| Master Tailor | Reach Grandmaster in the Tailoring school. | GM_Tailoring | - | title | ● | ○ |
| Master Alchemist | Reach Grandmaster in the Alchemy school. | GM_Alchemy | - | title | ● | ○ |
| Master Chef | Reach Grandmaster in the Cooking school. | GM_Cooking | - | title | ● | ○ |
| Master Smelter | Reach Grandmaster in the Smelting school. | GM_Smelting | - | title | ● | ○ |
| Master Tanner | Reach Grandmaster in the Tanning school. | GM_Tanning | - | title | ● | ○ |
| Master Miller | Reach Grandmaster in the Milling school. | GM_Milling | - | title | ● | ○ |
| Master Gatherer | Reach Grandmaster in Mining, Forestry, Foraging, and Field Dressing. | GM_Gathering` (composite) | - | title | ● | ○ |
| Grandmaster Artificer | Reach Grandmaster in every crafting school. | GM_AllProducer` (composite) | - | title | ● | ○ |
| Recipe Collector I-III | Learn 1,000 crafting recipes. | RecipesLearned | 10/100/1,000 | token | ● | ○ |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Owl's Head Explorer | Discover every landmark in Owl's Head. | ExploreOwlsHead exists | - | - | ● | ○ |
| Braemar Explorer | Discover every landmark in Braemar. | ExploreBraemar exists | - | - | ● | ○ |
| Ardoris Explorer | Discover every landmark in Ardoris. | ExploreArdoris | - | token | ● | ○ |
| Brittany Explorer | Discover every landmark across Brittany and its districts. | ExploreBrittany | - | token | ● | ○ |
| Novia Wayfarer I-IV | Enter 300 different scenes. | ScenesVisited | 10/50/150/300 | title | ● | ○ |
| Dungeon Delver I-III | Enter all 59 dungeons of Novia. | DungeonsEntered | 5/25/59 | title | ● | ○ |
| Cartographer I-III | Fully clear the fog of war on 100 scene maps. | MapsRevealed | 10/50/100 | token | ● | ○ |
| Town Tourist I-III | Visit 100 player-owned towns. | TownsVisited | 10/50/100 | token | ● | ○ |
| Pilgrim | Visit the shrine of every virtue across Novia. | Visited_AllShrines` (composite) | - | token | ● | ○ |
| Island Hopper | Visit Etceter, Xenos, Graff Island, and Elad's Lighthouse. | Visited_Islands` (composite) | - | token | ○ | ○ |
| Northern Landfall | Set foot in Mistrendur, Jotungrund, and Ulfheim. | Visited_North` (composite) | - | token | ● | ○ |
| Rise Delver | Reach the lowest level of The Rise. | Visited_TheRiseDepths | - | token | ● | ○ |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Angler I-IV | Catch 10,000 fish. | FishCaught | 10/100/1,000/10,000 | title | ● | ○ |
| Master Angler | Reach Grandmaster in the Fishing school. | GM_Fishing | - | title | ● | ○ |
| Freshwater Collector | Catch every freshwater trophy fish species. | Species_Freshwater` (composite) | - | trophy | ● | ○ |
| Saltwater Collector | Catch every saltwater trophy fish species. | Species_Saltwater` (composite) | - | trophy | ● | ○ |
| Fetid Angler | Catch every fetid-water trophy fish species. | Species_Fetid` (composite) | - | trophy | ● | ○ |
| Lava Fisher | Catch all six lava fish species: Ammonite, Coelacanth, Dunkleosteus, Ichthyosaurus, Mosasaurus, and Plesiosaurus. | Species_Lava` (composite) | - | trophy | ● | ○ |
| Grand Angler | Catch all 25 trophy fish species. | Species_AllFish` (composite) | - | title+trophy | ● | ● |
| Trophy Catch | Land a trophy-sized fish. | Caught_TrophySize | - | - | ○ | ○ |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Tamer I-IV | Tame 1,000 creatures. | TamesTotal | 10/50/250/1,000 | title | ● | ○ |
| Master Tamer | Reach Grandmaster in the Taming school. | GM_Taming | - | title | ● | ○ |
| Menagerie I-III | Tame 100 different creature varieties. | SpeciesTamed | 10/50/100 | token | ● | ○ |
| Mount Up | Ride a mount. | Rode_Mount | - | - | ● | ○ |
| Pack Leader I-IV | Your pets land 10,000 killing blows. | PetKills | 10/100/1,000/10,000 | token | ● | ○ |
| Dragon Tamer | Tame a juvenile dragon. | Tamed_Dragon | - | title | ● | ● |
| Unicorn Tamer | Tame a Light Unicorn, Dark Unicorn, or Nightmare. | Tamed_Unicorn | - | token | ● | ○ |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Soltown Savior | Complete the Soltown storyline. | Quest_Soltown_* exists | - | - | ● | ○ |
| Peace in Ardoris | Complete the Ardoris and Necropolis storyline. | Quest_Ardo_Necro_* exists | - | - | ● | ○ |
| Path of Courage | Complete the Path of Courage. | Quest_PathCourage | - | title | ● | ○ |
| Path of Love | Complete the Path of Love. | Quest_PathLove | - | title | ● | ○ |
| Path of Truth | Complete the Path of Truth. | Quest_PathTruth | - | title | ● | ○ |
| Oracle's Confidant I-IV | Confer with the Oracle on 365 different days. | OracleVisits | 1/10/100/365 | title | ● | ○ |
| Caregiver | Help Kinsey tend the refugees of Solace Bridge Outskirts. | Earned_Caregiver | - | title | ● | ○ |
| Sage | Complete the scholars' work in Blood River Outskirts. | Earned_Sage | - | title | ● | ○ |
| Virtue's Champion | Raise Courage, Love, and Truth to their highest ranks. | Virtue_AllMax` (composite) | - | title | ● | ○ |
| Refugee's Friend | Complete the storylines of Solace Bridge Outskirts and Blood River Outskirts. | Quest_Outskirts` (composite) | - | token | ● | ○ |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Friend of the King | Add Lord British to your friends list. | FriendedLordBritish exists | - | - | ● | ○ |
| Friend of the Shadow | Add Darkstarr to your friends list. | FriendedDarkstarr exists | - | - | ● | ○ |
| Well Met | Join a party with another Avatar. | JoinedParty exists | - | - | ● | ○ |
| Guildmate | Join a guild. | JoinedGuild exists | - | - | ● | ○ |
| Emote Collector I-III | Learn 150 emotes. | EmotesLearned | 10/50/150 | token | ● | ○ |
| Dance Partner | Complete a paired dance with another Avatar. | Danced_Paired | - | token | ○ | ○ |
| Performer I-III | Perform 1,000 songs on an instrument. | SongsPerformed | 10/100/1,000 | title | ● | ○ |
| Author | Write and publish a book on a printing press. | Published_Book | - | token | ● | ○ |
| Game Night | Play a tavern game with another Avatar. | Played_TavernGame | - | token | ○ | ○ |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Homeowner | Claim a lot with a deed and place a home on it. | Claimed_Lot | - | token | ● | ○ |
| Decorator I-IV | Place 10,000 decorations. | DecoPlaced | 10/100/1,000/10,000 | title | ● | ○ |
| Trophy Room | Display 10 creature trophies in one home. | TrophiesDisplayed | - | title | ● | ○ |
| Dungeon Builder | Build a player dungeon and open it to visitors. | Built_Dungeon | - | token | ● | ○ |
| Aquarist | Stock a home fish tank with a fish you caught. | Stocked_FishTank | - | token | ○ | ○ |
| Green Thumb I-IV | Harvest 10,000 crops from your planting beds. | CropsHarvested | 10/100/1,000/10,000 | title | ● | ○ |
| Town Founder | Found a player-owned town. | Founded_Town | - | title | ● | ○ |
| Prize Home | Place in an official decoration contest. | Won_DecoContest | - | trophy | ● | ○ |
| Name | Deed | Trigger | Tiers | Reward | Steam | WE |
|---|---|---|---|---|---|---|
| Fortune I-IV | Hold 1,000,000 gold at one time. | GoldHeld | 1,000/10,000/100,000/1,000,000 | title | ● | ○ |
| Merchant I-IV | Sell 10,000 items through your player vendors. | VendorSales | 10/100/1,000/10,000 | title | ● | ○ |
| Treasure Hunter I-IV | Dig up 500 treasure caches. | TreasuresDug | 1/10/100/500 | token | ● | ○ |
| Salvager I-IV | Salvage 10,000 items. | ItemsSalvaged | 10/100/1,000/10,000 | token | ● | ○ |
| Bone Collector | Turn in 100 bone chip collections in Jotungrund. | BoneChips_TurnedIn | - | title | ● | ○ |
| Stablemaster | Collect all five mounts. | MountsOwned | - | token | ● | ○ |
| Wyvern Wall | Display all eight colors of wyvern trophy in your home. | TrophySet_Wyvern` (composite) | - | token | ● | ○ |
Grounding notes. All 18 slayer families exist in the creature-audit bake; sibling folders are counted together (the corpion and scorpion folders hold one creature line, so they are one chain), and the bandit chain counts only outlaw-type humans. Trophy rewards map to decoration assets that already exist: the dragon trophies in nine colors plus the clockwork set, the mounted troll, the eight wyverns, Phoenix, Nightmare, the sabertooth head, and Sobek; the Spider Queen and the Spawn of Pele have no trophy asset today, which is why those two deeds pay tokens and are first in line if the art budget opens. Composite deeds (Master of the Elements, Cabal Breaker, the fishing collectors, Pilgrim) use the composite-stat support the rules system already has. Dropped for a second wave: the twelve named Ancient Undead as a defeat-all composite, Ribbit the Frog King, the seasonal Krampus, and the conversation-scene Titans, which have no clean kill signal yet.
| This proposal needs | Already in the game |
|---|---|
| Stat tracking with server validation | The full UserStat pipeline: client queue, batched op, per-stat clamps and server-only flag, Mongo store, live since the Steam launch |
| Achievement definitions and unlock evaluation | AchievementRules (stat plus goal), the unlock evaluator, the editor authoring window, build-time validation |
| Tiered kill achievements | Authored at 10 / 100 / 1,000 / 5,000 and live on Steam today |
| Steam integration | A background reporter pushing stats and unlocks per account; per-stat Steam names throughout the rules schema |
| Boss-kill deed recording | The conversation dying-words machinery, live on the Frost Giant, idle on roughly sixty other bosses |
| A trophy-vendor NPC loop | Wymond and Hisa in Jotungrund: flag-gated one-time bundle, repeatable token turn-in, server-side anti-farm |
| Trophy items | Sixty creature trophy decorations, eight mounted heads, 204 fish trophies, contest trophies |
| Titles | A 219-entry title enum, title items, idempotent grant and equip flows |
| Party kill context on the server | The per-party-member experience loop, with creature identity, credited peers, and scene in scope |
| A global broadcast rail | The chat-channel pub-sub with cross-shard dispatch; server-synthesized messages already exist for moderation |
| A shard-wide timed effect rail | The scene-bonus room-property system: database-backed, timed, pushed to every scene, replayed to late joiners |
| Durable offline notification | The per-user announcement records, polled at login and on a 75-second cycle |
| Creature families and boss data | The creature-audit bake: 1,546 creatures, 66 families, 76 boss-flagged, refreshed by an existing procedure |
The pure-logic pieces are all EditMode-testable without scene objects: the rules sweeps (unique names, ascending goals, canonical curves), the toast crossing detector, the journal model (grouping, rollup, progress math), the boss registry validation, the family-mapping completeness check, the points totals and threshold math, and the line formatters. Server-side, the existing rules-helper unit suite extends to string keys and merge semantics, the bot client already drives the experience-award op end to end for fan-out tests, and the write-path rework gets a concurrent-writer conservation test. The catalog validators run at export so bad data cannot reach a bake.
Genre: Ultima Online (fame and karma, bulk order deeds, community collections, Clean Up Britannia), WoW patch 3.0.2 and 5.0.4 documentation, GW2 achievement point rewards and the Wizard's Vault, FFXIV's Jonathas and achievement certificates, the ESO Update 33 account-wide migration and its feedback thread, OSRS Combat Achievements and Achievement Diaries and clan broadcast settings, RS3 server-wide announcements, EverQuest II achievements and collections, Guild Wars 1 Favor of the Gods, and the Steamworks stats and achievements documentation. Community: the wishlist threads on achievement titles and no-trade event trophies. Internal: the creature-audit bake, the dormant UserStat pipeline, the Frost Giant conversation chain, and the trophy decoration catalog; file-level anchors for every claim live in the companion planning document in the repository.
Prepared 2026-08-05 against the unity-6.5 migration branch. Companion markdown: docs/plans/2026-08-05-achievements-improvements-proposal.md. Twenty-four proposals: five quick wins, twelve core, seven server-backed, plus a first catalog of 115 achievements. Comments and votes below are read by the team.
No account needed. Every proposal above also has its own Discussion box for talking about that one alone; this thread is for the plan as a whole. Comments are plain text, held to basic decency, and may be trimmed.