Application Usage

Options
GravitySpec
edited May 2011 in DotNet
I'm trying to think how to make the best use of applications by breaking up some of my logic into separate apps. Such as putting the login validation system (which would handle user registration and login) into one app, then put my logic for character skill, shop purchasing, and inventory management into another app, then putting the logic for the battle system into a final app.

Are there drawbacks to this line of logic? I want to make sure I'm not about to cause a code management nightmare if it is better handled all in one application.

Comments

  • Boris
    Options
    The good thing about this kind of architecture is that you will be able to distribute these apps on different machines.
    The downside:
    - More parallel connections in case the player can use e.g. the shop system while he uses battle system - if you don't use the unlimited license this cuts your CCU in half.
    - A bit more work to validate logins in each app.
    - A bit more complex to detect when a player is offline if they don't maintain a connection to a specific server.
  • GravitySpec
    edited April 2011
    Options
    The path I'm looking at would be where the user would "hand off" from one system to the other. After logging in they would then be handed off to the character management and shop system and when you enter battle your character is locked in until you exit the battle, which would then hand you back to the character management system. So this should keep parallel connections from happening.

    Thanks for the response Boris. :)
  • Boris
    Options
    Yes, this should keep the CCUs down. If you use UDP it might happen that the server misses the disconnect package. He will then need a few seconds longer to detect the connection timeout and will count the new connection and the old connection as two separate connections (two CCU).
  • Boris wrote:
    - A bit more work to validate logins in each app.
    - A bit more complex to detect when a player is offline if they don't maintain a connection to a specific server.

    Good points. The character management and battle system would involve crosstalk if they aren't within the same app. I may have to settle for putting them all into one app for now and break out things if I need to scale up later. Thanks!
  • gnoblin
    Options
    I would be very happy to see a small example project for this ;).

    I had an idea about splitting logic into several apps, but "hand off" is something I didn't think about - thanks!