Two years for developing an MMO

Two years for developing an MMO #

I am a huge fan of MMORPGs. I particularly enjoy the raiding experience. I like to play in coordination with other people to defeat a boss. In recent years, I developed an aversion to the current direction of popular MMOs. I do not want to grind for hours to have one hour of raiding time.

That feeling sparked the idea to develop an MMORPG that focuses on raiding. Since October 2021, I worked on Raiding.Zone in my free time.

Prototyping with the Korge game framework #

I already had some experience with building web services and real-time calculations. The idea evolved for a couple of weeks. After that, I wanted to try it out and see if it worked.

For the game server, I chose Kotlin, SpringBoot, and WebSockets. To maximize code reuse, I tried the Kotlin game framework Korge.

The framework is potent for prototyping. I could build something that worked in a couple of weeks.

first prototype

I used it for a couple of weeks before I was getting more and more frustrated. The framework misses some advanced features. There is no “camera” feature, and particles are hard to simulate. It builds on the JVM, so the performance will take a hit if you have more complex scenarios.

Top-down Prototype in Unity #

Eventually, I threw the Korge prototype away and rebuilt it in Unity. I built some code-generating tools for C#. That enabled me to reuse my data structures and serializers from Kotlin. Right now, I have about 10k lines of generated C# code. I have used Unity before while I was studying. But things changed, and I had to relearn most of it.

One of my major problems was that I never needed to design something good-looking. In my career, I always focused on backend and infrastructure problems. So, I had to learn to paint and compose pixel graphics. I had to get my head around particle systems and Materials. The result was ugly or with more goodwill spartan. first trailer

I reworked player avatars, redesigned all enemies, and added more details to the levels. There were even basic animations for casting and movement.

second trailer But I hit a roadblock here. I couldn’t make it more appealing without an enormous effort in creating more pixel graphics. Imagine a top-down style that is slightly tilted forward.

Redesigned Target zones #

I received the feedback, that it is sometimes hard to see which effects are hostile. Enemy effects are now clearly visible. cover