RPG with Online 'Mode'

so I have like 3 dozen design docs and projects Ive built up over the years. I have at least one full length MMORPG, but I have no plans to attempt building it for several years, at least until I have over $1million in capital. I am currently working on a simple 3D RPG/Adventure demo over the next 6 weeks to get better with Unity.

I have a couple of ‘JRPGs’ Id like to make, to tell the stories of those worlds and characters. Most are simple and have no online play.

I am interested in the idea of a cinematic quality, full length RPG with a half dozen characters with a full range of abilities, in a single player RPG. The game would also have an Online Aspect, or online mode, where different options are available based on the single player progress. The single player mode has a lot of replay value, things respawn, characters can be found, new powers learned etc. You can rush through it, but you cant get ‘everything’ without going through a couple of times. As you find characters, you unlock classes in the online mode. As you find certain items, you unlock new clothing in the online mode, etc.

For single player I anticipate 10 hours or so of game time. For Online mode, I see say 100-1000 players in a server. Im not sure if everyone is all in together or if its more discrete, like a limited number 100-1000 together at a time. Im looking at dungeons that are spawned on the fly, created procedurally, you can ‘go into the mountains’ and your group will not meet others that ‘went into the mountains’

So Im not so much looking at an MMO, but some online play. Im thinking maybe a lobby area where people can talk and form groups, but smaller areas of play.

What Im looking at discussing, and again Im not approaching this for many years and many projects to come, is how feasible it would be and what design choices I could make to keep it manageable?

Should this be core-server based or player instantiated servers?

How many people can you fit on a server?

Is there a market for this?

Im heavily influenced by Phantasy Star Online, Old School RPGs and Breath of Fire 5:smile:ragon Quarter.
It is influenced by dot.HACK and Star Ocean.
It is a ‘Mana-Tech’ RPG. You have guns and spells.
It is highly effect heavy, there is lots of magic and such.

So a single player RPG with a roguelike procedural dungeon generator. You have a party of say 7-8 with 3-4 active at one time. Standard RPG fare, and as you progress you unlock an online aspect that lets you play with friends and meet people online.

Diablo did this, with like 4 people teaming up and exploring together and a solid single player experience. Im looking at expanding on this to some degree, with say 100 instead of 4.

How many people can you fit on a user’s home based computer as the server? A lot of shooters do this, with people running the game server and connecting to a lobby but running off of one persons home PC. What can this support?
Is it viable for an RPG of this type? What kind of Lobby server do you need?

So Im kinda gathering info here on networking and seeing what can be done and if I should just move this to the MMO pile, one I wont approach without a ton of funding and a lot more experience.

Unity’s built-in networking will only support up to 32 players, so if you’re looking for more players you’ll have to look at some external solutions. To be perfectly honest the Unity networking capability is fairly lacking as it is, so you’ll most likely want to look at something else anyway.

Personally I don’t think with this many player it’s feasible to host on a home connection. Even if you’re not using an authoritative server the upload speeds will have to get pretty beefy to handle it, especially with an RPG game where there’s a little more information to send through the pipe. I may well be proven wrong though, since I don’t really know what you need to send through your network at all, and I’m hardly a networking expert.

Maybe someone else with more networking experience can jump in here?

As soon as you start getting the player count into the hundreds, you’re going to start hitting the same limits as a lot of MMOs do. A lot of MMO games do not handle above 100 people fighting in one area really well, etc. simply due to N squared.

ok, so 32 users, thats for a unity client application being run as ‘server mode’ on a home Pc? I guess one could host it remotely on a dedicated server :confused:

Beyond that 32 you need an external server, smartfox, electroserver, mook, etc something i write from scratch in PHp/SQL?

32 is not bad actually for the setup Im thinking but I would still need a central server to distribute everyone. Looking like a cloud or custom server is what I need.

32 does sound like it would run a decent chat room and board game while I get started though…

Where can I read more on what unity’s 32 user limit entails? like what do I need a separate server for and what does it do on its own? Im actually interested in ‘shared worlds’ or Online RPGs with shared uses, IE, you install the client on your website and customize it yourself and then your friends login and see what youve done, not disimilar to the ‘ville’ phenomenon. though I may be behind the times on this.

I stand corrected, my understanding is that Unity is not hard limited to 32 players in its networking architecture itself, but its networking groups setup (with which I haven’t dealt with at all, but it is a feature you need not use at all).

The bigger problem is still one of bandwidth though, as having that much data being passed around is feasible on a home connection, unless you send data rarely. I suppose you can always use Lidgren and code your own architecture though.

Or you can use uLink, a middleware that lets you still use an Unity instance for a server, but provides vastly better networking capabilities, and much better documentation.

Here’s a thread on that discussion, which probably will explain better than I can.
http://forum.unity3d.com/threads/88475-Why-other-servers-and-not-Unity-s

I haven’t actually played any of the “ville” games, but I doubt any client themselves host anything; they’re probably just saved on a central server and others can access that data.

Minecraft, however, does indeed do what you’ve described, but its Java based, and likely to have quite a bit of network optimization put in place.

If this is what you intend, you might look into Interest Management for some of the third party middleware, or even implement one yourself. fholm up there mentioned that MMO games don’t handle a lot of people fighting in a small area, but for something like this that’s not an issue.

As an aside, uLink has a tutorial about migrating between servers as a physical game component. Let me see if I can dig up the link somewhere…
http://developer.unitypark3d.com/examples/snowbox.html