MMO Framework Specification Brainstorming

Started by
12 comments, last by hplus0603 15 years, 2 months ago
Quote:So, it would be a very scalable framework.


Vertical scalability (where each function/service runs on a different endpoint) is inherently not as scalable as horizontal scalability (where each server can run a small "slice" of all services, and you add servers for more capacity).

Quote:I think that it is pretty hard to provide a generic client


Multiverse.net disagrees with you. Myself, I'm still undecided -- you'll need a lot of variation points in a generic client to make it truly useful for a variety of users, but it's possible that such a client could actually be created.
enum Bool { True, False, FileNotFound };
Advertisement
Quote:Original post by hplus0603

Multiverse.net disagrees with you. Myself, I'm still undecided -- you'll need a lot of variation points in a generic client to make it truly useful for a variety of users, but it's possible that such a client could actually be created.


It's possible, I suppose, but I'm a bit skeptical. Different styles of games have different needs in terms of networking, etc. The way you'd write a game for a full, player modifiable persistent world is a bit different than what you'd do for something more resembling an MMOFPS, is a bit different from something you'd do for a WoW like game.

You could do a rather generic engine I suppose, that'd work for a lot of stuff, but it'd probably run into real problems at the edges. Still, it'd probably be enough for a lot of stuff that wasn't really pushing the limits.
I think that a very important point for a framework like this to be accepted is to make the components mostly independent (minus a small lib of common utilities).

Most of the frameworks I have tried have a bit of an everything-or-nothing approach. I want to be able to use my own network code if I want, or to make use of the music engine and skip the sound FX because I've already got a great wrapper around OpenAL. In the same way, I might like the network code on the server side, but reimplement from bare sockets on the client side, which means having the packet format well defined.

This is probably what I enjoyed the most with the Boost library: a set of utilities, that I can learn and use at my rate, and that don't give me the feeling that I'm getting myself onto the thin edge of the wedge.
There's already plib, and SDL, and a host of other similarly componentized libraries. Why wouldn't you start using those, and then adding whatever is explicitly needed that they don't yet support? Seems simpler than starting from scratch.
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement