Page 1 of 1

Best way of creating a 'Party' system in an MMORPG

Posted: 25 Oct 2011, 10:11
by andrew2110
Hi All, I hesitate to post this question here as I fear that it maybe is a question regarding more general multiplayer software architecture rather than something smartfox specific. However given the expertise to our chosen server software on this forum I figure it's worth a shot!

Anyways - We're constructing quite a large MMORPG with smartfox 2, The world consists of N number of maps which can be inhabited by between 1 and 100 people at a time. These are created dynamically as rooms and are destroyed when empty. The world also includes 'Dungeons' where you shall only be able to play with / interact with members of your own party. I'm starting to try and design the party system for the game and want to try and achieve the most graceful solution possible.

The party system needs to:

- allow 2 to 4 players to be able to chat to one another wherever they are in the world
- Transmit movement data to one another when players are in a dungeon room.
- Add minimal additional load to the server side.


My current best approach would be to:

- The 'lead' party member would create a new room for the party and invite players to room
- Each user in the party would always exist in two rooms on smartfox (the party room and the world map room they exist in)
- Each user in the party room would have a 'Dungeon' user variable set for what Dungeon they are currently in - Null if not on a dungeon.
- If User A's Dungeon Variable == User B's Dungeon Variable and Dungeon Variables != null - Transmit positional data to user.


Can anybody provide any critique for this approach? Ideas to make it faster with Smartfox? To my mind this should be relatively lightweight on the server side as the only real extra processing the server has to do is in creating / destorying an occasional extra room / user variable. The logic of figuring out what clients need what updates is done client side.

Posted: 25 Oct 2011, 16:54
by Robbilie
i use an array of a selfmade class
This class contains a list of the members (also an array of type user where index = 0 is the leader)

Hope this helps a bit...

Greetings
/Robert ;)

Posted: 27 Oct 2011, 01:04
by andrew2110
Thanks Robbilie! Thats an interesting way of doing it that I hadn't thought of doing yet! I'll have a play around with a few things and see what I can come up with :)