How hard is it to write a server for a full fledged MMORPG on a scale from 1 to 10?

How hard is it to write a server for a full fledged MMORPG on a scale from 1 to 10?

Let's say 1 is writing a hello world and 10 is writing a full featured compiler all by yourself

Attached: Lineage 2 HD Desktop.jpg (1920x1018, 854K)

Other urls found in this thread:

ibm.com/developerworks/library/ar-powerup1/
ibm.com/developerworks/library/ar-powerup2/
ibm.com/developerworks/library/ar-powerup3/ar-powerup3.html/
twitter.com/SFWRedditVideos

11 or 12

6.5
-source, me

So compiler devs got nothing on MMO devs?

Retard

Realistic and lifepilled

>thinks a MMO server is the same as a 10-player MUD server

Retard

Dumb question: why compilers are so difficult to develop?

no but there are a hell of a lot more successful 1 man compiler projects than 1 man mmorpg projects

They need to be written in a non-target language and they they need to be written again in the target language to bootstrap. In addition you need to actually understand all the optimizations and high level logic going on behind the scenes, not to mention knowledge of target architecture, cross platform problems and just bugs in general. It's a hell of a project basically

Anyone know if you can use someone elses server software for your own game?

Or does a server have to be created with the target game in mind to work?

this, maybe a 10 if you use Erlang

The latter in 99% of cases

Server isn't so bad if you ignore anticheat.

The client though,graphics programming is hard.

It's expensive to rent the servers, really doesn't sound like a one man job

the light's hope server is on gitlab

Thanks

The protocol is what's hard. You've got to think what data you want to send, who to send it to, whether the data will take too long to serialize, whether the data needs encrypting, whether the data can be spoofed by the client, etc etc.

I bet it's way worse than Blizzard's official

to be a compiler dev you have to know a lot, that's for sure. but to 1-man an MMO the breadth of skill (and not knowledge) that's require is incredible. networking, programming, efficiency for both of those, design of the game, design of maps, actual design of the game (modeling), sound design, advertising, payment processing, customer service, etc.

i think it can be made without le gaming engine or tools made for it.
So maybe around 7.
Keep in mind that with every player you add the gameplay ass to sacrifice features, so eventually you will have characters that perform predictable moves and a very reduced set of skills making it a bit boring.

Most of those aren't needed if you're *just* writing the server. This assumes obviously the game is already worked on by others

Although a compiler is very complicated to develop the number of manhours to develop a "full fledged" MMORPG far exceeds it so

A server? Around 6, nothing too complicated. A client would be at 15. Compilers are dumb.

>full fledged MMORPG
Instanced or Sharded?
The former requires much less optimization to be viable, and allows for even stricter case runs, which means easier optimization in turn
The latter is a clusterfuck no matter how elegant your solution is.
So that's a 8 vs a 10, by sheer amount of modular pieces required. MMO backends are easy to fuck up and shitting them out with a team of 6 programmers and 2 system designers takes about 6 to 16 months but it's why they make fucking bank, once you've got that back end you can just ride it off forever because boy, you're NEVER touching it after you've deployed if, and nobody else will have the balls to dive in.

Instanced MMO is not a MMO, nothing "massive" about it

Do you not consider DFO/Soulworker type games to be MMOs?
Then they are not, but still retain that tag and there's nothing you, me or anyone else can do to scratch it off for good.
They're the instanced MMOs I'm talking about.

Thing is, any fool can write an instanced server. You just brute force everything and you have a pretty solid chance it will work since modern networks are fast enough to handle it. To write a "true" MMO is on a completely another level. You're dealing with stuff you never thought had to be dealt with before. Write a single bad line and your server can crap it's pants at the first edge case. Writing scalable code that doesn't crap itself when you have a zone with 100000 players all at once is hard as balls

Attached: images.jpg (183x275, 8K)

>You just brute force everything and you have a pretty solid chance it will work
You've never even smelled backend work in your life, have you?

Building an MMO is a hell of alot more complicated than building a compiler
It's a multi-program network application for one thing
People have built one-man MMOs though

Do you understand the difference between handling 100 players at once (any asshole can write it and it WILL work) and 100000 players at once? Because I'm not sure you do

almost all MMOs run on the same engine if you look closely - it's almost the same game for all of them.

what the hell is an "instanced MMO"?

Wat

>Writing scalable code that doesn't crap itself when you have a zone with 100000 players all at once is hard as balls
All MMO games shit themselves when they have 1000 players in one area let alone that many

A game where you allow a certain max number of players per zone and then you simply make new zones for new players, or do some balance loading in the form of sharding. Think Path of Exile (instanced) vs WoW (true MMO)

Bullshit

Attached: ss_2B_2016-04-10_2Bat_2B09.42.32_.0.0.jpg (1200x800, 245K)

Remember when they did the first patch event? With the gates opening up in the desert and the whole server had to join in? And it constantly crashed and they never did anything like that again?

It's a static picture so we can't tell how much it has really shit itself

There's videos of this event. Plus it's not even the official server, I imagine the official one is far better optimized

literally just add IRC to a meme.io javascript game

I was thinking about this, and how good a new MMO could be when powered by modern tools such as Elixir/Go.

Just for concurrency/stability/uptime alone Erlang/Elixir would surely be amazing for an MMO

Official servers started lagging out with less people than that screenshot

>how good a new MMO could be when powered by modern tools such as Elixir/Go.
what difference does a programming language make to how good an MMO is? fucking web devs

Based and nodepilled

You do not understand that the problem of "there's too many players for the system to handle!" Is one that does not exist in programming and is more of an issue with how many instances or connections to a shard you can manage without the server skipping a beat. That is hard capped and RARELY dynamic. even good old EVE-O has had an enormous amount of problems when it comes to scalability of their engine, to the point that their solution was literally to slow down the simulation time of the shard at a certain threshold.

there were about 1200 players with nostalrius shutdown. That's probably 100% of the whole shard. Do you think the engine is constantly sending updates to you about every single player in that image? No, because it doesn't have to. Hell, you're probably not even rendering or even AWARE, client side, of all the people in the vicinity nor their current position.
You're still receiving enormous updates to your simulation, but it's not some impossible feat.

A game that calls itself an MMO but really splits players off into individual small server with groups of maybe 16 or less for gameplay, rather than one big server that has to serve 100s of users at once who can all interact with each other

It might still have a non-instanced hub server where players can see many others at once but can't really interact other than chatting and forming parties to enter into the

why do games like that even exist
It just defeats the point of "mmo" in the first place
but then again nobody has cared about making anything but addictive shit since the ultima online days

The hardest part of an MMO is going bankrupt after you spend 5 years paying out the ass for hundreds of developers to work on it
So anything that makes it easier and faster for devs to do their jobs is an upgrade.

>"there's too many players for the system to handle!" Is one that does not exist in programming
If every player needs to know about ever other player the amount of data you're transmitting scales as O(n^2). Dealing with that is literally a programming problem

is lineage 2 still shit ?
do they fixed drop system ?

Neither of those programming languages make things easier
if anything it would probably be the opposite
MMOs are hard because they're a game and a massive paid web-service all at the same time
the individual technical components aren't that hard

>If every player needs to know about ever other player the amount of data you're transmitting scales as O(n^2)
If

its not much of a game if you can't see the people you're playing with

It depends how you look at it. I've written a game engine and made attempts at writing an LLVM backend and the game engine looks a lot easier from a programming perspective (the game engine looks easier than the whole compiler, harder than just the backend). But the programming is the entire compiler, if you manage to program it it's done. When you've finished programming your MMO you still have everything else to do.

not much of a game if you can't play it

Yeah if your MMO isn't an MMO it's much easier to write

also, I have developed a cutting-edge new sort algorithm that runs in O(1) time simply by not guaranteeing that the result is sorted!

Funny, I remember some chink mobile mmorpg where the players you see on the level were real players online at the time, but they were controlled by bots, not the real movement sent to server. So you had the illusion of being in a huge mmorpg only to be crushed when you wanted to meet with someone.

Does unreal engine have a built in server thing for an MMO?
or is it only like 16 players at a time kind of deal

Tera is made on Unreal so I guess its possible

Thats actually, not a bad idea. Specially for mobile phones.

Simulate real players with bots to other players, and only start syncing the players info/data when the two start interacting.

>how could 2 languages built for concurrency and stability possibly be useful for a situation where concurrency is important?

IDK dude, how could having more stability in a massively multiplayer game be good for a game? Maybe they could actually keep the "massively" part in the title instead of phasing/crashing whenever 50 or more people are in 1 zone?

That would be crazy! But seeing as most game devs prefer to put 30 tickrate shit tier servers in their games making millions of dollars, whatever.

On this scale way over 10. Writing compiler isn't hard.

fucking eglobal bots

UO was the real deal. Seriously, they developed it in 96 and there was not enough power to handle such huuuge mmo. They somehow did it. dev stories behind it are awesome.

You just reminded me of server line hopping.
server lines were weird, but it was only ever a problem in bucaneerss den pvp

It was hard to find server lines elsewhere. Usually only found them in the ocean randomly

>And it constantly crashed and they never did anything like that again?
You're misremembering. Ahn' Qiraj was a lesson for Blizz, not a barrier. They rewrote and improved their increasingly massive server code many times over since. Major events bringing servers together DID happen after AQ, including the dark portal event just one year later for the protector tabard. Blizz was smarter about how they were implemented, but they didn't just give up on the mmo side of mmorpg.

I dont remember massive crowds for the dark portal event but I dont remember that event well in the first place
but WoW is basically an instanced theme park now

Funny enough current wow servers would melt at half the pics pop

5/10

1 being hello world and 10 being full os.

You can do servers fairly simple. The problem isn't the ability to make a MMO server, but rather optimization process takes long time. As well as the game itself if its got complex graphics. You can prototype it with simple geometric shapes to represent how large of a scale you can get.

They're not lobby based shits, not really MMO. There's nothing massive about it other than the player count. Players dont interact with each other.

Modern languages manage objects/garbage better and do some things intuitively. Older written mmo would require the devs to know these stuff, and if the devs are cheap/amateur, they would skip on these optimizations.

If you compare an amateur mmo server from 20 years to amateur mmo server from today, today's code would run much smoother/faster.

It is indeed. Last time I tried it out was in WoD. Players fade in and out all the time now to balance instance loads and 'appropriately populate' areas. It kills the weight of running into another player or finding a quiet zone, removes all sense of a continuous deterministic environment, and makes everything feel far more artificial than it should. I guess it's a good solution to the problems they set out to solve, but it isn't fun.

The fuck are you on about, no serious game dev would use a GC language for an application that demands every last drop of performance

but lights hope northdale server regularly has 10k+ people online and was 14k at launch

5 maybe? Your problems in running an MMO are actually running at scale - which is an operations thing, not a development thing, as long as you plan for the appropriate magnitude of scale - and assets and client code.

The pain is design, and the really big pain isn't any of the devs, but your DBA.

Funny reading this thread. People seem to think that Cyrodiil is going to ever be able to handle the zergs and that all Zenimax needs to do is just get better servers. Like they are holding out on us because they don't want to hire better programmerz.

the biggest cash cow players are the people that play the game as a chatroom for their gaggle of friends and those people like games where you watch boxes fill up with points.

you can make a game with a continuous deterministic environment, and world of warcraft is not one of those games. its the everquest gameplay adapted so that everything you do is 'progress.' its at its core a theme park, it was just a theme park for a deterministic environment for the first 2.5 expansions

if you want a deterministic environment play eve online, but most people don't want to play a game like that

If you have to ask, you can't do it

people online is not the same as people in the same area

Is there any GoD++ Lineage 2 server alive? im tired of all those fucking h5 and interlude servers, and official server are massive p2win

>do they fixed drop system
they nerfed even more

That's a bad scale, compilers aren't the hardest thing to write. Games are harder to make (AAA game from scratch. You have to know how the cpu works on lower level and write assembly (intrinsics), understand gpu programming and bugs in different drivers and gpu's. You have to understand how different platforms are designed when it comes to cpu and gpu. You have to understand physics and several ways to cheat physics and rendering to do everything under 16ms for one frame.

Compiler programming is much easier than that and so is writing a mmorpg server. I would say writing a mmorpg server is easier than writing a compiler (if you write the compiler from scratch including the machine code).

ok but how do I run an mmo on nodejs

Half of your problems are solved by TLS.
The other with a brain.

Pretty easy, as long as you intend to keep a maximum of about 100 players active at once

ibm.com/developerworks/library/ar-powerup1/
ibm.com/developerworks/library/ar-powerup2/
ibm.com/developerworks/library/ar-powerup3/ar-powerup3.html/

Lieage 2... loved that game. Tried to setup private server with l2j but half of their tutorials do not work, not clear which branch requires which client, zero info on how to setup/crack clients....

why don't you try it and see? Jow Forums doesn't know shit

Attached: 1544479301.png (223x245, 96K)

Who cares? You won't do it.

>high-level logic
While everything else you said is true, you're confusing the meaning of high and low here.

Lexing is high level bro

Ah, thought you were referring to an earlier point. My bad.

>Let's say 1 is writing a hello world and 10 is writing a full featured compiler all by yourself
An MMO would be a 100 then.

Have you ever sat NAND2TETRIS? A compiler is easy as to build.

>full featured compiler
How about no

>gives an arbitrary scope that has zero definitions and is upset he doesn’t like the result

Have you actually played the last minutes of Nost ? There weren't even 1000 people in front of OG and it was a laggy, unplayable mess with a draw distance of about 10 meters. It scales well across the world, but not for one zone.

Depends how big each area would be, and how many players each would have. I made a real-time 2d multiplayer online soccer game with socket.io, node.js, and canvas (pic related). It took me a year but if I condensed the actual time I sat on it it would be 1 month. If you sit 10 hours a day for a year, and are not a brainlet, you could make an MMORPG without all the art and graphics. You will most likely have to hire some cheap ass artist to help you otherwise it will take more than a year.

Attached: 20181213_132309.jpg (1024x768, 182K)

A 2. MMO is the easiest thing ever.

Too much work

The actual game is the issue.