What Is Avalore?
Avalore is my long-term Unreal Engine remake of the original Metin2 MMORPG. It’s not a small prototype or a one-off nostalgia project. It’s a serious attempt to rebuild the backbone of a classic online RPG in modern Unreal C++, system by system, with clean architecture, proper multiplayer thinking, and enough flexibility to keep growing instead of collapsing under its own weight.
Metin2 was the first game I ever played. It was my childhood. It’s the game that made me want to make games. I have an enormous amount of respect for the people who built it back then with the technology they had.
I work on Avalore in my free time outside of work, almost daily. It started because I genuinely love the source material and stayed alive because it turned out to be the best classroom I’ve ever had for systems programming and game design.
Why This Project Matters
What makes Avalore special to me is that it sits right at the intersection of technical reconstruction and design study. I use the original game as a behavioral reference to understand why its systems worked, where the friction came from, how older client/server designs were structured, and what made that era of MMORPGs feel so distinct.
Then I rebuild those ideas with my own architecture, my own code, and more modern engineering practices. The goal is not to blindly copy the past. The goal is to preserve the soul of it while improving the weak spots, modernizing the implementation, and making the whole thing cleaner, safer, and easier to extend.
What I’ve Built
What you see here is just a taste. There’s a lot more already in the game that isn’t shown, and I’m still adding to it every day.
Entity & Core Framework
A custom entity framework for players, NPCs, monsters, and Metinstones, with shared systems for attributes, resources, stats, combat, abilities, status effects, death handling, respawn flow, and UI-driven interaction. Everything is designed to be extended without rewriting what’s already there.
Combat
Combat is server-authoritative and designed around MMO constraints rather than single-player shortcuts. The full loop covers click-to-move, click-to-attack, hold-input combat, melee and ranged attack handling, combo flow, critical strikes, mitigation, hit reactions, knockback, floating combat text, and reward distribution. It feels responsive while staying honest about who decides what actually happened.
Ability System
On top of combat sits a data-driven ability system that supports direct skills, projectile skills, area and directional abilities, cooldowns, charges, cast timing, interruption rules, crowd control, and shared damage resolution. Each ability is defined through data rather than hardcoded logic, which means adding new ones is design work, not engineering surgery.
Status Effects
A full status-effect system for buffs, debuffs, over-time effects, and public crowd-control indicators. Effects stack, expire, interact with each other, and propagate visually so the player always knows what’s happening to them and to others.
Progression
The RPG progression layer includes leveling, spendable attribute points, ability points, reputation, and custom presentation for character growth. Stats propagate properly between character level, equipped gear, and temporary effects, so the numbers always make sense.
Items & Equipment
There is a full item pipeline covering world drops, loot, pickup rights, inventory, equipment, consumables, NPC shops, currency handling, enhancement, tooltip building, and visual equipment updates. Items carry both static definition data and per-instance runtime data, which makes room for enhancement progression, randomized rolled properties, and meaningful loot generation.
Enhancement System
Enhancement is its own real gameplay system with validation, material requirements, success and failure handling, preview UI, and visual feedback. Equipment presentation is driven intentionally: runtime weapon visuals, modular character appearance updates, and enhancement VFX and material treatment on visible gear. You can see the investment a player has made just by looking at them.
Monster AI & World Encounters
I built custom monster AI with aggro logic, chase and leash behavior, roam behavior, group coordination, and world spawners. Metinstones are not just props either. They are encounter actors with threshold-based wave spawning and cleanup rules. The world has things happening in it, not just standing around waiting.
UI & HUD
Avalore has its own gameplay HUD layer with custom widgets for action bars, inventory, equipment, character windows, ability windows, target frames, chat, NPC interaction, shops, enhancement flow, respawn, nameplates, minimap, and full world map. The map system itself is authored from zone data rather than a cheap camera capture, which makes it cleaner, more readable, and more appropriate for an MMORPG-style game.
Tools & Pipeline
I developed custom tools that convert assets from the original old engine and codebase, making them compatible with Unreal Engine. This includes mesh conversion, texture pipelines, and data migration tools that bridge two very different tech stacks. Without these, the project simply wouldn’t exist at the scale it does.
What’s Next
This project is far from over. I’ve been working on it for close to three years now, and there’s still a mountain of things I want to do.
Near-term, I’m looking into the scalability side of multiplayer, specifically Unreal Engine’s Iris replication system, which is still being experimented on but looks promising for the kind of networked architecture an MMO needs. I also want to connect things with a proper backend service, most likely PlayFab for now, to handle persistence, accounts, and the kind of infrastructure a real online game requires.
Beyond that, the list is endless. There are entire systems still waiting to be built, existing ones that could be deeper, and technical challenges I haven’t even touched yet. But I’m genuinely happy with where it is right now and how far it’s come.
Why I Do This
Avalore is a fully passion project. I don’t plan to monetize it, and I’m not trying to run it as a serious commercial game. Who knows, maybe someday someone sees it and we do something with it, maybe even a proper remake of the original. But right now that’s just wishful thinking. Mostly, I do it because I love it and I want to see how far I can take it.
People usually discourage others from taking on something this big. That didn’t stop me, and I’m glad it didn’t.
If you’re wondering how I find the time for all of this on top of a full-time job: I’ll be honest, I spend most of my day behind a computer. Easily 14 hours. It’s probably not the healthiest lifestyle, but I genuinely enjoy what I do so much that I wouldn’t have it any other way.
What I’ve Learned
It’s genuinely hard to put into words how much this project has taught me. More than any course, any tutorial, any single job experience. Rebuilding these kinds of mechanics from scratch taught me how game systems actually lean on each other: combat affects progression, progression affects items, items affect UI, UI affects interaction clarity, and all of it lives inside networking constraints that punish sloppy architecture.
But it goes way beyond systems design. Through Avalore I’ve gotten deep into materials, textures, scripting, test cases, coding practices, documentation, UI implementation, LODs, landscapes, heightmaps, animations, locomotion, playtesting workflows, and asking the right questions about why something works or why it doesn’t. It gave me a real understanding of the full scope of game development, not just the slice I happen to be working on at any given time.
That’s what makes me flexible as a game designer. I know what’s influencing what, because I’ve built it all myself. When I’m designing a system at work, I’m not guessing about the technical implications. I’ve lived through them.