Hacker Newsnew | past | comments | ask | show | jobs | submit | eelinki's commentslogin

You could take this even further and add triggers to see if your move is legal or not. Or delete row with a conflict when you capture a piece.

This is getting dangerously close to how some AAA MMORPGs handle[d] much of their logic and state management.

At the scales these games operate, enterprisey oracle clusters start to look like a pretty good solution if you don't already have some custom tech stack that perfectly solves the problem.


Interesting. I'm a big fan of MMORPGs so hearing that this is how they were made is really cool.

I've always wondered what kind of stack games like EverQuest were built on.


I started playing World of Warcraft at the same time I was studying database systems at university and had a similar curiosity. Twenty years later the AzerothCore project pretty much satisfies this curiosity, they've done an incredible job reverse engineering the game server and its database.

https://www.azerothcore.org/wiki/database-world


That’s fascinating. I didn’t realize the WoW server was so database heavy. do you know if the original game logic was implemented mostly in stored procedures, or was it just used for persistence and the engine handled the rules elsewhere?

It's not, no. The data you see in these files is reconstituted from the data that shipped with the game client, but they're not a perfect match for the real data.

The game servers are all C++ and don't use stored procedures for general gameplay management. They do handle inventory management so that item duping is generally not possible, and complex things like cross-server character transfer use stored procedures.


I don't know I'm sorry. I'm not involved in the project, just a curious bystander!

Do you have a source? Curious to learn more about this

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: