MMO Roguelike idea1

Computer games accompanied me almost my entire adult life, starting in 1995, when I had my first Pentium. In just a few months I got to the level of “install the operating system in the evening”, and in games I became interested almost exclusively in role-playing games and quests. The most memorable names of those years: Diablo, Baldur’s Gate, Nox, Allods, Neverhood and so on.

The love of games led me into programming, but I decided to choose a very unusual sub-profession for those years. I was fascinated by the very idea of the Internet, as a factor uniting all of humanity. And, sitting in the district library, I went online to the network and read almost everything, absorbing knowledge like a sponge. Several times I stumbled upon very interesting and beautifully crafted websites, I was eager to be able to do no worse.

So my next 22 years passed. Now I have a lot of information focused on how to not just write a website, but make it useful and make it work for a person. And, most importantly, I managed to learn many things from network interaction and high-load systems.

And, like in those old times, for several years in a row, I immersed myself in the evenings into the worlds of modern role-playing games and, most importantly, roguelikes, interspersing their experience with massive online games. From the last role-playing games I remember, I can name the series of Mass Effect, Dragon Age, Pillars of Eternity, Icewind Dale, Divinity, Tower of Time. Among the roguelikes and nearby genres are, of course, Dwarf Fortress, ADOM, Tales of Maj’Eyal, Cogmind, Caves, Path of Exile, DCSS. Of the online mentions worthy are Rift, World of Warcraft, Eve Online, Warhammer Online.

Now just realize.

If I like something, I want to learn how to create something like this (or better). I like the three genres in games. For me, they have long been transformed from simple entertainment into an art form, like cinema or music. And web technologies are pretty good for me. That is how the idea of Null Mirror was born.

I need to create a game that combines three things:

  • multidimensionality and sociality of massive online games
  • deep role model, with a unique plot and goals
  • munchkinism and stiff challenge of roguelikes

How and when

But there are a few limitations.

First, time. My free time consists of passages for 2-3 hours in the evenings, sometimes in larger parts on weekends, since I visit a labor institution (I got a normal human job).

Secondly, I imagine how the games are arranged from the inside, and I know the amount of new information that I have to study (no, in fact, I did not know that then – 2019). To add to this the new technology stack (client-server, as in all major MMO games, programming languages, etc.) is not very realistic.

Of course, while I will be creating this Dream Game, I need something to eat. Therefore, its not possible to leave my fulltime job.

Alright. We will write the game on web technologies, in the evenings, at the same time we will solve the problem with multiplatforms – the browser is on any computer (even sometimes in refrigerators).

And now forgive me for small technical details. Any developer, having read the previous paragraphs, should ask me a question: in what language exactly are you going to write a game? The answer will be quite unexpected. PHP.

Interpreted language, such as PHP, will undoubtedly at one point become a threshold, which will be long and painful to overcome. Another fact is that its perfomance is limited. And if we are talking about a mass online game, then someday, if it becomes successful, the number of players will reach such a level that no server park will achieve the acceptable quality of the game process.

But still, I opted for PHP. For two reasons. First: I know him well and can start developing right here and now, with all the nuances and at the proper level. Second, I need the maximum development speed to balance my perfectionism and the desire to make the Dream Game exactly (which always goes beyond all acceptable time limits).

To level the shortcomings of the language, we will build the game modularly. So that parts of the game could later be replaced one by one with other technologies, more appropriate for the time, task and course of development.

The setting

What is the setting? This is a property of some invented universe, whether book or play, which explains to us what we have to face in this universe.

For example, if we are talking about classic fantasy (Tolkien), then it will surely be arrogant, harsh gnomes, lofty elves and a lot of cold steel, clashing each other with that clank-sound. If we see a book about steampunk, then there will be steam engines, airships, pistols, and, of course, corsets and leather vests on female characters.

So we can delve into the settings right up to the deeps of Warhammer 40000, but one way or another we will understand one thing: we need to decide in which setting we will write our game. And there is not even a choice. Absolutely.

There is such an insane amount of games based on the works of John Ronald Reuel, that someone can get really sick when hearing the word “ax”. I really like his setting, but to do something like it means to be immediately crushed by the “again damn elves” stamp. Although some people argue that nothing new can be invented, and a new one is only strangely combined components of an existing one, I’m sure that a proper amount of experience, sprinkled with imagination, can come up with something that others have not yet had, while retaining a certain amount of familiarity.

Why do we need familiarity? Because the people who will play this game already have preferences, and these preferences are made up of what they have already seen. And players will try what they think they like. If a person prefers Star Wars exclusively, he will not even look at the games with medieval swords on the cover.

I personally belong to a huge army of fans of classic fantasy, but I have no particular restrictions, I like good works, but not works in a specific setting. I definitely have to choose the setting for my game according to the principle “what I love,” otherwise how can I create content for many months?

However, let’s do without stamps. No orcs. No magic coming from nowhere. We will invent a little, using fundamentals of the classics.

And let’s call the Null Mirror setting: fusion of steampunk, fantasy and real human history, supplemented by our own vision of how the interesting inhabitants of the game universe should look and what they should do. And my wife will help me in this, with her imagination and inventing characters better than me.

Where do we start?

With the design.

Moreover, we will spend as much time on it as needed. And now I will briefly explain why.

My experience assured me of the truth of the saying “measure seven times, one cut off”. God, there is no more useful maxim in the world! The world of programming has always been like making a car out of plasticine, but the worst thing is that people really try to drive these cars.

Such “driving” can only be avoided in one way: first you need to understand what we are doing and how, and only after get started. By “what” is meant not “we make the game”, but “here there will be a component, and there – another one” level of detail. By “how” you need to understand why we are introducing this or that, how it will work and, most importantly, what can go wrong.

How it’s done? I mean, designing games? Just as with any product. First we make a rough sketch. Then fill the details here and there. Then some more details over there. Repeat until we answer all our questions.

In the case of Null Mirror, there will be several design documents (that’s the name of the piece of paper where it’s written that we are going to create a game), and I’m not going to show them to you in raw, since this is very boring reading matter. But I will definitely tell you what fun is in them.

And after a while, I believe you will see everything with your own eyes.

1 — MMO RL — Mass Multiplayer Online Roguelike