frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: MMORPG prototype inspired by World of Warcraft

https://github.com/nickyvanurk/everwilds
28•nickyvanurk•6mo ago

Comments

ricardobayes•6mo ago
Still to this day I have not seen an MMORPG that has as smooth movement and camera system as WoW.
okdood64•6mo ago
Camera movement in FFXIV is fine. Character movement was a bit clunky but still very usable.
kristoff200512•6mo ago
Yes, I think so too! I'm not sure why, but even though technology has advanced so much compared to before, there still isn't an online game that can surpass it.
nickyvanurk•6mo ago
To replicate that feel is pretty much the point of this project.
MacNCheese23•6mo ago
Do i see this correctly, TCP-based Websocket with JSON messages that are parsed?

That is very much removed from any MMORPG type of communication.

One of the hardest parts of a client/server MMO architecture is the network layer, which uses a lossless/retry/fault-prove UDP-based protocol. Everything else sits on top. Luckily, there are tons of sample libraries by now, I suggest peeking at the leaked SW Online sony code which includes the source for their implementation.

jaoane•6mo ago
World of Warcraft uses TCP, which is the correct choice because the current state is the sum of all previous updates. So why not let the kernel handle the hairy parts?
setr•6mo ago
>because the current state is the sum of all previous states

I don't think that's true, except for the server? From the client's perspective, the current state is whatever the hell the server thinks is the sum of all previous state. So you generally don't need lossless message passing; you just need to be able to resync periodically, and trying to resend on lost messages is probably a waste of time if you can sync straight to current state

If the client/server were deterministically simulated -- thus every event must be fully represented on both sides to be in sync -- then sure, but I'm fairly positive no MMO does that

jaoane•6mo ago
That’s not how it works in World of Warcraft though. The server only sends the client the absolute state of the world on login. Then it’s all relative updates. Like: unit X lost 13 hit points. The client derives the current state from that. So UDP is inappropriate because you need things to be ordered.
MJGrzymek•6mo ago
I get net::ERR_CERT_COMMON_NAME_INVALID on everwilds.io (chrome android)