• 100 likes • 177 Views
VastMessaging. Out of world messaging system. Rationale. Currently chat messages generally only flow between the player and the server We want Out of world messaging Message history / conversations Messages to show up in VastSocial
E N D
VastMessaging Out of world messaging system
Rationale • Currently chat messages generally only flow between the player and the server • We want • Out of world messaging • Message history / conversations • Messages to show up in VastSocial • Messages that can come from outside of the system (i.eiphone app) and still be displayed in VastSocial, Player etc
Rationale • Currently chat messages generally only flow between the player and the server • We want • Out of world messaging • Message history / conversations • Messages to show up in VastSocial • Messages that can come from outside of the system (i.eiphone app) and still be displayed in VastSocial, Player etc
Architecture DataAccess Framework VastService Framework Messaging Repository VastMessaging Service
Schema has one or more Message can belong to a MessageThread has MessageOrigin MessageType
Schema InWorldChat, OutOfWorldChat, PrivateMessage Message MessageType Id (int), Type (int), Author (Guid), GroupName, ThreadId, Text (ntext), Created (Date), Modified (Date) Id (int), Type MessageThread Id(int), Author (guid), ThreadName(nvarchar), Created (Date) Modified (Date) MessageOrigin Server, Player, VastSocial, Unknown Id, Type
Create Functionality • \\ Creates a message for the specified user • Create(string sessionId, int origin, string messageText)
Retrieve Functionality • \\ Last x number of messages created by user • CreatedByUser(string sessionId, string username, intnoMessages) • \\ Messages created by user between time period • CreatedByUser(string sessionId, DateTime from, DateTime to) • \\ Last x messages that user has contributed to • ContributedByUser(string sessionId, string username, intnoMessages) • \\ Messages user has contributed to between time period • ContributedByUser(string sessionId, string username, DateTime from, DateTime to) • \\ All messages for a particular group • MessagesInGroup(string sessionId, string groupName) • \\ All messages for a particular group between time period • MessagesInGroup(string sessionId, stirnggroupName, DateTime from, DateTime to) • \\ All messages between time period • BetweenPeriod(string sessionId, DateTime from, DateTime to) • \\ Last x messages • -RecentActivity(string sessionId, intnoMessages)
Conversation threads • Containing users • Created by user • Message replies • Architecture • Most likely player will consume messaging service • Publish messages to messaging service • Poll once a second?
Continuum • Will have a cont. service at some point • Compile sections of a world to... • Pull out a time period of a world e.g. • Conversations that occurred during this time • Voice • Imml changes that occur during time period • All services may use metaforik items to represent the service which is actually delivering the service