SWG EMU Project Plan – July 2006

DOCUMENT PURPOSE
This purpose of this project plan is to outline the tasks and deliverables required to reach various developmental milestones . With this plan we will be able to better gauge what progress has been made as well as what tasks and deliverables need to be completed.

DOCUMENT HISTORY
***IF YOU EDIT THIS DOCUMENT IN ANY WAY WHATSOEVER PLEASE ADD AN ENTRY HERE ***

*** Twisted Evil IF YOU EDIT THIS POST PLEASE DON’T SCREW UP THE SPACING OR FORMATTING. THANKS IN ADVANCE Twisted Evil ***

July 30, 2006 (Anzel): This is the initial project plan for SWG EMU. It is meant to be a framework for the other members of the EMU team as well as the EMU community to build upon. PLEASE NOTE: This first draft is subject to revisions by other members of the team based solely on their subjectivity and digretion.

July 31, 2006 (Anzel): Added information regarding EMU TRE.

July 31, 2006 (Antman): Zone and Login Servers ARE separated as much as need be.

I. PROJECT ARCHITECTURE:

    a. TIERS: The EMU is currently a 3 tier application (see below).
    i. TIER 1: Zone Server
    ii. TIER 2: Login Server
    iii. TIER 3: Database Server

b. LAYERS: Perhaps the most important aspect of this plan is to better define the logical layers that the EMU implements.

    i. Database Layer (DB Layer): This is currently a MySQL database. The purpose of this layer will be to store and manage galaxy data for the EMU. The MySQL database will contain all of the tables and stored procedures necessary to support the remaining layers.
    ii. Data Access Layer (DAL): The DAL will be the only interface between the DB layer and the rest of the application. For the MySQL implementation of the EMU the DAL should make use of SQL Stored Procedures rather than the use of inline SQL. All layers above the DAL should NOT have any data access code whatsoever.
    iii. Packet Delivery Layer (PDL): All of the network packets required to be sent between the EMU client and server are to be defined in the PDL. Any other module or object that has a need to deliver or receive network packets should reference the PDL.
    iv. Galaxy Definition Layer (GDL): All of the objects required for the login server and galaxy server tier should be contained in the GDL. GDL objects should reference the PDL and DAL in order to maintain complete functionality.

c. SUPPORTING APPLICATIONS: In addition to the server distribution we will also need two key support applications in order to achieve our development goals.

    i. EMU Launcher: This application will allow a user to manage a list of Galaxies to connect to. Currently our official EMU Launcher is Jump To Freedom by Ravatar.
    ii. EMU Administrator: This application will allow a server administrator to control the galaxy database through the use of a forms application rather than directly editing the MySQL database.
    iii. EMU TRE: We will need a small application to pack resources into a SWG .tre file which the client will recognize and read. This will allow servers to repackage assests from other publishes such as faction armor and expansion rewards as well as custom paintings, clothing, etc.

II. PROJECT SCOPE:
Since the goal of this project is to emulate publish 13 of SWG the items which are considered to be in scope will be defined by the TASKS AND DELIVERABLES section below. SWG publish 13 was a product that had undergone over 4 years of development and it would be impossible to recreate all of its systems and features in a reasonable amount of time. Therefore we are going to need to be judicious when choosing which systems to include in the first version of the EMU.

    a. EXCLUSIONS: The following systems and features will be explicitly excluded in the first version of SWG EMU.
    i. Crafting
    ii. Creature Handler / Pets
    iii. Vehicles
    iv. Shuttles
    v. Resource Mining
    vi. Entertainer Buffs
    vii. Image Design (as a profession)
    viii. Politician
    ix. Player Cities
    x. Jump To Light Speed
    xi. Dungeons
    xii. JEDI

III. TASKS AND DELIVERABLES

    a. Login Server
    i. DB Layer Tasks
    ii. DAL Tasks
    iii. PDL Tasks
    iv. GDL Tasks

b. Character Creation

    i. DB Layer Tasks
    ii. DAL Tasks
    iii. PDL Tasks
    iv. GDL Tasks

c. Zone Server

    i. Zone Insertion and Removal
    ii. Zone Range
    iii. Zone Update
    iv. Zone Stability and Load
    v. Movement
    vi. Chat System
    vii. Tells
    viii. Emotes
    ix. System Messages
    x. System Broadcast
    xi. Player Attributes (HAM)
    xii. Player Skills and Skill Modifications
    xiii. Player Titles
    1. Set title using /setcurrentSkilltitle
    2. Set title using UI
    3. Restrict titles based on player skills

xiv. Player Items (Inventory)

    1. Clothing
    a. Clothing Customization

i. Set Color
2. Consumables
3. Buffs
4. Weapons
5. Tangible Items
6. Containers (Backpacks)
xv. Waypoints

    1. Create Waypoints
    2. Auto-warp/Shuttle?

xvi. Trade System
xvii. Bazaar System
xviii. Mail System
xix. Combat System

    1. Base Combat
    a. Trainers
    b. Special Attacks
    c. States

2. PvP
3. PvE
xx. Mission System

    1. Non-Faction Missions
    2. Faction Missions
    3. Quests

xxi. NPC System

    1. NPC Wild Spawns
    2. NPC AI
    3. NPC Loot System

xxii. GCW

    1. Faction Recruiters
    2. Faction Ranks
    3. Faction Rewards

xxiii. Player Housing

    1. Place Structure
    2. Name Structure
    3. Admin/Entry List
    4. Structure Maintenance
    5. Decorate Structure
    6. Destroy Structure
    7. Reclaim Structure
    8. Move Structure???

xxiv. Player Guilds

    1. Place Guild Hall
    2. Create Guild
    3. Name Guild
    4. Guild Permissions
    5. Member Management
    6. Disband Guild

Leave a Reply