Live data from Hacker News

Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

github.com

31–40 of 168 posts

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#31
post #18

UO was the only game that I've ever played where you had "commoner" players. A lot of players failed to scale up, or to obtain top notch equipment. But the game was fun even for underpowered players, so they kept playing. The really powerful players were famous, like celebrities. It's very different from modern games, where each player looks like the fantasy version of a Marvel super hero.

Yup. Tibia you had this too. People begging in the depot for gold and "itens plx"

I've never heard of Tibia, I'll check it out!

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#32
post #24

Earlier quoted context omitted.

Ha, you're absolutely right from a CS perspective! it's a protocol reimplementation, not emulation in the traditional sense. I've thought about this too. "Server emulator" stuck in the UO/MMO (other example Mangos is "Wow emualtor") community because RunUO and similar projects used the term 20 years ago and it just became the standard label. At this point fighting it feels like your Wikipedia edit war, technically co…

> other example Mangos is "Wow emualtor" Do they call themselves an emulator? I'm seeing "a server" or "a reference implementation".

Just update repo and README from server emulator -> server !

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#33
Wow! This is no small feat... am I reading the contribution graph[0] correctly, you've done all this yourself?

This endeavour sounds a whole lot like a server emulator for Infantry Online that was started by an incredibly talented developed 16 years ago ("aaerox"). I found the original svn commit on Sourceforge [1]. It's since moved to GitHub but has been active for 16 years and it has much of the same functionality you've already built, but done by more than a dozen developers over a decade-and-a-half.

Kudos to you. You've gotta explain how you've managed to do so much all by yourself.

[0] https://github.com/moongate-community/moongatev2/graphs/cont... [1] https://sourceforge.net/p/infserver/code/1/

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#34
post #18

UO was the only game that I've ever played where you had "commoner" players. A lot of players failed to scale up, or to obtain top notch equipment. But the game was fun even for underpowered players, so they kept playing. The really powerful players were famous, like celebrities. It's very different from modern games, where each player looks like the fantasy version of a Marvel super hero.

This is such a good observation. UO had a real economy and social hierarchy because power wasn't handed to you. You could spend months as a fisherman or tailor and still have a meaningful experience. The gap between a grandmaster swordsman in full plate and a guy selling fish at the Britain bank was enormous, and both of them were having fun. Modern MMOs are theme parks where everyone gets the same ride (with pay per…

If starting from scratch, what would an MMO need to replicate that?

I've experienced it first hand, but I can't grasp why it worked well like it did.

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#35
post #18

UO was the only game that I've ever played where you had "commoner" players. A lot of players failed to scale up, or to obtain top notch equipment. But the game was fun even for underpowered players, so they kept playing. The really powerful players were famous, like celebrities. It's very different from modern games, where each player looks like the fantasy version of a Marvel super hero.

Haven and Hearth has "sprucecaps" and "hermits". The elite in these games arise when they are willing to work in groups, willing to use violence against isolated players, and willing to use automation.

Haven't put any time in MMORPGs for 15 years, but aren't there still "exclusive" guilds that do things regular players can only aspire to?

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#36

Earlier quoted context omitted.

Yup. Tibia you had this too. People begging in the depot for gold and "itens plx"

I've never heard of Tibia, I'll check it out!

I haven't played in 10 years or so, but it's still going.

That game was my life. It's how I learned how to code among many other skills.

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#37
post #34

Earlier quoted context omitted.

This is such a good observation. UO had a real economy and social hierarchy because power wasn't handed to you. You could spend months as a fisherman or tailor and still have a meaningful experience. The gap between a grandmaster swordsman in full plate and a guy selling fish at the Britain bank was enormous, and both of them were having fun. Modern MMOs are theme parks where everyone gets the same ride (with pay per…

If starting from scratch, what would an MMO need to replicate that? I've experienced it first hand, but I can't grasp why it worked well like it did.

Well, it was kind of the only game in town. Sure, you had Dark Sun Online and Meridian 59, but in 96/97 you were playing UO if you liked the idea of online worlds.

I think the barrier to entry is the equivalent of several complete, fun, balanced single player games operating together in balanced harmony. Not impossible, but highly improbable.

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#38
post #33

Wow! This is no small feat... am I reading the contribution graph[0] correctly, you've done all this yourself? This endeavour sounds a whole lot like a server emulator for Infantry Online that was started by an incredibly talented developed 16 years ago ("aaerox"). I found the original svn commit on Sourceforge [1]. It's since moved to GitHub but has been active for 16 years and it has much of the same functionality…

So: I took most of the infrastructure from the my first attempt at moongate (https://github.com/moongate-community/moongate, which failed miserably along with https://github.com/tgiachi/Prima). From there, I had a good starting point to quickly build the foundations. I had already done the Lua scripting part in another project (https://github.com/tgiachi/Lilly.Engine). Codex helped me with all the testing, implementing functionality and creating tests, so at least I have a good sparring pattern. For the data import part (which I called FileLoaders), I took the logic from ModernUO. For the items part, I created a script (scripts/dfn_*.sh) to import items from POL! Thanks for the compliments! The way I am, if I fixate on something, it becomes an obsession!

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#39
post #33

Wow! This is no small feat... am I reading the contribution graph[0] correctly, you've done all this yourself? This endeavour sounds a whole lot like a server emulator for Infantry Online that was started by an incredibly talented developed 16 years ago ("aaerox"). I found the original svn commit on Sourceforge [1]. It's since moved to GitHub but has been active for 16 years and it has much of the same functionality…

I forgot to mention, the entire web part in React was done by Codex. I hate developing frontends!

Re: Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

#40

I'm a fan of UO and I love seeing more projects like this. Nice work! Obligatory nitpicky aside, a time-honored tradition of HN: I've long been irritated by the use of the term "server emulator" in gaming contexts. Technically these projects are just reimplementations of a proprietary networking protocol. Nobody calls Samba a "server emulator" because it reimplements the Windows file sharing protocol, because Samba i…

> I've long been irritated by the use of the term "server emulator" in gaming contexts. Technically these projects are just reimplementations of a proprietary networking protocol. Nobody calls Samba a "server emulator" because it reimplements the Windows file sharing protocol, because Samba isn't "emulating" anything from the perspective of the traditional definition of "emulator" in computer science.

I think the distinction is a lot greyer than the black/white you propose.

The very first popular online games used servers mostly to redistribute (and maybe time sync) packets from clients. There is no standard way to to do that. Player-created servers did their best to emulate the official servers logic but it was indeed impossible to replicate it perfectly.

e.g. when breaking up large maps into sectors, the official server might broadcast your location and projectiles X units away and emulators would broadcast it X + 500 units away, which could have an impact on gameplay.

Emulator feels fitting when there is no official server spec to reimplement.

edit: emulator also feels appropriate where servers are responsible for NPC activity or quest-like mechanics. This goes beyond implementing a network protocol. The gameplay is massively impacted.

Post reply on HN