A short story of redefining a game’s behavior

Imagine. You’re working on a server emulator for game. And it’s not a bad game, but it’s so heavily client-sided, that developing a server for it is somewhat uninteresting. Even simple features, like NPC shops, might be client-sided, meaning you can’t ever have custom shops without client modificiations. Even simple interactions, like dropping an item, might have certain undesirable client-side checks, that make it so you can’t get rid of a subset of the game’s items. Client modification is always an option, of course. But as a server developer, it’s fun to push the limits of what you can do from the server, without┬átouching the client. Not to mention, it’s always easier to not have to modify the client.

Last week I was asked a simple question on the Discord server for my Tree of Savior server emulator, Melia, in regards to reviving a feature that had been removed from the game, which lead me down a path that would remedy all of those problems for this particular project.

Continue reading “A short story of redefining a game’s behavior”