Back to the dev log
Deep dive Aug 4, 2026 · 13 min read

So, I'm Making an MMO. Here's Everything So Far!

Introductions

Well, this is the first post out of what are many to come in the future. Since we're going to be getting familiar with each other, I suppose it's a good time to give a proper introduction to who I am, and what this project is.

My name is Diviel, and I am currently the only person working on what we're going to call Aethermoor for now. I've always wanted to create an MMORPG since I was young, and I will be diligently working on making that dream of publishing one a reality until I can't anymore.

That being said, Aethermoor is currently a hobby project where I am experimenting with how Artificial Intelligence can bring that dream to reality. I am a software engineer by trade, and I know a little bit about 3D modeling, but I was never very good at it personally. My hope is that with this project, I will find ways to create a high quality world that I've always imagined: rich with engaging combat, even more deep and engaging side mechanics (than are typically present in MMORPGs,) and just in general add my own flare to the genre that desperately needs it.

I believe, as a core tenet, that making incredible worlds that suck you in and create long lasting memories shouldn't be just a privilege of massive game companies with budgets to match. My main priority is to increase fun and decrease time and cost to develop. I implore you to keep a watch on the project as it evolves over time, and feel free to provide me with plenty of feedback on the way!


Starting from the Beginning

I'm going to start way back in 2018, when I first started making games. From then until I graduated in 2022, I spent a ton of time learning how to make games while messing around with multiplayer network architectures. I even built a prototype MMORPG for my senior capstone. After I graduated with a degree in informatics and game development, I discovered FishNet for Unity in 2022, and I made my first tutorial for it, getting 10,000 views on YouTube, and finding myself falling in love with it and even donating regularly towards its development.

When ChatGPT 3.5 first came out--I can't really recall when--I started exploring how to make multiplayer networked games in Unity with it. I distinctly remember being discouraged that it didn't really work well, and finding myself checking every 6 months or so to see how AI has evolved, and if it can handle making a multiplayer game. I was incredibly anxious for every new release, hoping that finally it would be my time to start putting together my dream game! I even switched to Claude pretty early on when it was producing better C# than ChatGPT, but to no avail on making good Unity code.

When I started learning agentic coding around February of 2026, it still wasn't quite good enough yet to handle the task, but I was becoming more comfortable and confident with the workflow. I was coming up with my own strategies and techniques for getting increasingly higher quality outputs, and eventually June comes around.

June 19, 2026. I decide to start working on the game for the first time, setting up a project. I was experimenting with ChatGPT as an alternative to Claude at this point, but I had ChatGPT research and create material for best practices to use with the current Unity, any modern libraries that are relied on, and how to use FishNet properly. I also created a prototype of walking around with multiple clients, had ChatGPT drive and log those clients, and use that data to fix problems with how it implemented server authoritative, client-side predicted movement. This created the basis for every other feature, because ChatGPT--and later when I switched back to Claude--would be able to refer to those practices and iterate faster.


Building the Level

This is when I start taking a lot of videos and screenshots, so I should have quite a bit to provide here!

The first major steps I took was having Claude build a map for me. I had ChatGPT generate some images for an initial concept.

Concept art of a MMORPG starter village

Concept art of a MMORPG starter village

To be honest, the art was a lot smaller than I would like it in terms of a layout, but for something playable, it made sense for me, so I sent Claude out to try to build it for me, which as you expected didn't really turn out so well.

First pass at building a map

First pass at building a map

It was certainly interesting as a first attempt, but I wanted something more playable, so I tried a different strategy.

I worked on a plan with Claude to research procedurally generating a map, wanting to create a relatively flat level with a couple of mountains and a lake near the mountain. I settled on a procedural generation algorithm that looked nice, and a hydrology erosion simulation algorithm to create the big lake and the river that spans the rest of the map in one direction. I also added trees, foliage, and a plane for water that spans the outline of the river/lake design.

Second map pass

Second map pass

I was honestly quite ecstatic about this design, even if it was difficult to really add a ton to it, I could at least now have a nice playground to work on the game, and work on the game I did!


Working on the Gameplay

After making the map, I decided to add a couple of small features immediately that I felt like would make the game feel more alive, such as a day and night cycle.

Evening with stars and a sun set

Evening with stars and a sun set

I also added swimming to the game to add some variety to the movement!

Swimming with your friends!

Swimming with your friends!

From there I thought it was finally time to try adding some combat. I wanted a baseline to work with, so I decided on having at least for the test environment, the ability to punch enemies. I'm sure if you have a weapon unequipped it would also make sense to punch as well. But either way, I grabbed some free assets, a wolf, fox, snake, rat and spider and added them to the game, created a way to target enemies, and had Claude add a punch animation to the player from Mixamo.

Watch on YouTube

First instance of combat in the game

I wanted to quickly add some weapons at this point into the game, however the first thing I wanted to do was have a way to switch weapons easily, so I worked on an NPC with dialog. I used some of the terrain tools to dig out a space in the mountain, added a house, and some stairs. I'm not really the best at this kind of thing so it doesn't look the best, but it was certainly passable, and I was happy with it!

I then bought a discounted membership with Tripo to try out, and created a character in ChatGPT

Village chief Kael

Village chief Kael

This would be the reference that Tripo would use to create a model, it didn't come out perfect, but it was certainly usable for a prototype, and you can see for yourself!

Village chief 3D model

Village chief 3D model

After taking some time to work on the dialog UI with ChatGPT and taking a long time to put the system together, I finally had something working. I grabbed some free weapon assets for a sword, bow and staff, had Claude create a poser for me to manually pose each item on the back of the character, and then hook it up with the dialog, and then I finally had a way to swap between weapons!

Watch on YouTube

Chief Kael dialog and weapon swap

And speaking of the poser, I used the poser tool quite a bit when it came to animations. Claude really struggled with the 3D perception necessary to make good looking animations in some cases, and I would create a human in the loop tool to bridge that gap, and you can see an example of this in action below.

Watch on YouTube

Poser tool to help with manual positioning during animations

With the animations for sheathing and unsheathing taken care of, I was then able to hook it up in the actual game.

Watch on YouTube

Multiplayer sheathing and unsheathing, with dialog working

I then reworked the movement in the game to feel better with combat, and also added some basic attack animations, sword is a normal speed and melee, staff is slower speed and melee with more damage, and bow has long range basic attacks. I also added some UI to the enemies to show their health as a finishing touch and had some real working combat at this point. This was around July 5th, so I was working at an incredible pace!

Watch on YouTube

Full fledged combat with all weapon basic attacks


Working on the Website and Launcher

This should be relatively quick, but I decided to work on a website, a build and launcher pipeline that allows for someone to download the game if they have access, get into the game, and get any new updates when I update the build. Updating is a click of a button in Unity.

Publishing the game to the server

Publishing the game to the server

As soon as I press to Publish Client + Server, it pushes a new build straight to my server, and once it is done, the server itself will automatically update to the new build, and the launcher will catch the update, prompting the user to update the next time they try to press play. The original website, installing the launcher and getting into the game looked like below.

Watch on YouTube

The full original website, launcher to game workflow.


Some More Gameplay

Once the launcher was done and I could have my play testers easily test the game with me, I decided to get to work on some abilities for the warrior. I settled on wanting at least 3 abilities per class, currently only the warrior has some abilities but hopefully soon I'll get to working on more abilities. I used the pose author tool some more to get the abilities looking just right, had to use some more ChatGPT computer usage to get the dash looking right, since this one required taking control of the user and having them move forward that the enemy faster than usual. It was certainly a technical challenge but it came out great.

Watch on YouTube

Some more combat with abilities now

And then I lastly really wanted to work on the character select/character creation menu. This would allow both persistence for the play testers, but also a way for me to work on the pipeline of moving users from a connection scene, to an online single player scene to select or create a character, and then finally in the world with other players, and then lastly implement the area of interest management to allow for potentially hundreds of players to play at the same time, which I added soon after.

Watch on YouTube

Selecting and logging into characters in playtest


UI Work

This section is particularly interesting just because of how it evolved over time, and really how difficult this section of development was compared to everything else.

You can see the remnants of the old approach to UI from the player's resource bar on the bottom left, and the dialog menu from Kael, these looked fairly nice but they were time consuming to implement and it was downright atrocious to get UI that behaved properly. There was a ton of manual adjustment I had to do to get anything that worked properly, and on top of that, for use cases like lists, it's likely to not be scalable. I'm looking at the dialog for instance, and finding that it will likely not scale well and will probably have to be replaced in the future.

There was a second approach of just letting Claude Code work with the frontend design skill, and it was okay, but it was fairly unreliable and required a ton of passes to get good looking UI, especially since it has to translate its knowledge of HTML/CSS/JS to UI Toolkit USS and UXML. I eventually settled on having it research and create documentation on how to do certain things in UXML and USS that would be similar in HTML/CSS and that helped quite a bit. You can see this approach with the health bars, the health nameplates, the chat system you'll see in some videos, and the character select and creation menus, which all used this approach.

The approach I finally ended up settling on and was the biggest pain in the ass to figure out how to make work was going with Claude Design. I learned sometime in the last 2-3 weeks that Claude Design consumed significantly less tokens than when I first worked with it and so I decided to give it a try. You can put in your project files, so I put in the website and game to get the palettes from the existing UI and DESIGN.md document, and created a design system. From there I would ask Claude Code to do research on the UX and UI design patterns of whatever UI feature I wanted to work on, to get thorough relevant information back, making sure to be incredibly thorough about what I wanted, and what kind of systems I was thinking about using. I would then feed this research and my UI request into Claude Design to get back a mockup.

The mockups looked amazing, but there was just problem after problem with getting Claude Code to put together the mockups exactly as described. Here's an example.

Friends list mockup

Friends list mockup

Here's a mockup of the friend's list, it looks great! I want this into the game now, so I go ahead and work with Claude Code to do so, what it ends up looking like.

Watch on YouTube

Friend system how it works currently

It's not bad, but this took many attempts to get right, and it doesn't really look like the mockup. It's still like this today, even after solving the problems I have with implementing the mockups. I'll eventually get back to fixing it, but for now I'll talk about some of the other UI systems and how I ended up solving this challenge.

The first problem I found was that UXML and USS just outright doesn't currently support gradients and shadows.

Bummer...

So after a lot of racking my brain around this and trying to get around this problem, I eventually was able to figure out that Claude could render the mockup in playwright and save all of the shadows and gradients as textures, this worked flawlessly. I even created a skill whenever I have a mockup to have Claude do this automatically. The only problem I still have sometimes is Claude sometimes will have a weird permission problem I haven't really looked into yet and give up too soon, and try to generate the shadows and gradients on its own, and failing to make it look 1:1 in the process, so I have to ask it to make sure to use playwright in the second pass and it works harder to bypass the issue and gets the textures no problem. Probably just some weird instruction in the skill.

The second problem I found was really hard to spot, but it was really bugging me, and by chance after endless back and forth with Claude on how I felt like the pixels didn't match right to the mockup when the UI was layered on with actual screenshots to the game, I found out that Unity actually renders both the game and the UI in linear color space. However, every browser renders their UI in gamma color space. These are just two different techniques of blending colors together. So it was a pain but I was able to create a system that kept the game rendering in linear color space while the UI renders in gamma color space, fixing the issues with the colors feeling different, and finally the UI looked exactly like the mockups!

Party UI functioning

Party UI functioning

Minimap implemented

Minimap implemented

Map in game

Map in game

New skill menu

New skill menu


What's next?

Right now I'm currently just experimenting with some new techniques for generating a map since Opus 5 came out, I want to see how well it does working on a loop on its own. I also was able to go into Tripo and create some trunks, and add alpha cut cards on top to make trees. They look pretty good but both are certainly taking a good amount of time.

Working on some trees

Working on some trees

Current pass of letting Opus build a village in Blender

Current pass of letting Opus build a village in Blender

Soon though I'm probably going to get back to making more abilities for the mage and archer. I'd also at some point like to fix the Archer's basic attack animation too since it has a bit of a weird timing, and then update the launcher to make it look nicer and allow for play testers to choose where to download the launcher at.

But that's the current state of development, see y'all next time!

Get the next one by email

One message per dev log. No marketing, and unsubscribing takes one click.

0 comments

Sign in to comment. An account is free.

No comments yet. Yours would be the first.