Roadmap

Milestone 1

  • Infrastructure & DevOps
    • Client launcher tool that testers can use to download the current client and patch their existing client.
      • Windows
      • MacOS
    • CICD jobs to control release of each game server, client, as well as the client launcher.
    • Test server that is updated after every change
  • General
    • Kick out character after async request closes
    • Save location on server so that logging in returns you to last spot you were
    • Save direction of character so that it is facing the same way when logging back in
    • Have clients see other characters that are on the server
  • UI: Health, mana, endurance, name, stats
  • UI: Inventory / equipment management
    • Starting items based on class/race/deity
    • Items loaded from server/database
    • Character loads weapon models based on weapon types
    • Character uses appropriate animations based on weapon types
    • Character sees other characters using appropriate models/animations based on weapon types
    • Slots restrict items based on allowed slot type, race, class, deity combinations
    • Can store items in containers
    • Stackable items
    • Item deletion
  • Cross Platform Support (OSx)
  • Content Management Tool
    • Can modify database entities using a GUI
    • Entities can be downloaded and used for local development
    • Entities can be downloaded and used in released builds
  • NPC Management: Simple movements, visibility on clients
  • NPC Management: Threat/Aggro
  • NPC Management: AI - NavMesh pathing
  • NPC Management: Waypoint system
  • Looting
  • Simple Combat
  • Character Death
  • Leaving/entering zones
    • Proximity to zone lines
    • Clickable
    • Death
    • Teleport Spells
    • From Scripted Events
  • Guilds
    • Guild Creation
    • Guild Invitations
    • Guild Removals
    • Guild Roles / Promotions / Demotions
  • Grouping
  • Merchants
    • Merchant database definitions
    • Can see items for sale on client
    • Purchase
    • Sell
  • Banking
    • Store/Save items
    • Store/Save coins
  • Trading
    • Player to player trading of items/coins
    • Player to NPC trading of items/coins
  • Spells
    • Spell Effects building blocks
    • Spell Book Window on client
    • Load spells into spellbar
    • Players can cast spells
    • Spellcasting animations
    • Beneficial and detrimental aggro
    • Curse counters and curing
    • Spell fizzles
    • Spell resists
    • Recaster timers
    • Require line of sight for detrimental spells
    • Spell Effects
      • DD Nukes
      • AOE Nukes
      • DoTs
      • Stat Buffs (incl. movement/combat speed)
      • Stat Debuffs (incl. movement/combat speed)
      • Root
      • Mesmerize
      • Feign Death
      • Invisibility
      • Stun
      • Teleport/Gate/Evacuate
      • Resurrection
      • Lifetap/Siphon
      • Twitch (health, mana, endurance)
      • Memory Wipe
      • Aggro Modifier Buffs/Debuffs
  • Automated deployments to test server
  • Client patcher to download latest client
  • Skills
    • Taunt
    • Kick
    • Slam/Bash
    • Tracking
    • Sneak
    • Hide
    • Sense Heading
    • Feign Death
    • Mend
    • Harm Touch
    • Lay Hands
    • Foraging
    • Monk Kicks
    • Ranged / Archery / Throw
    • Parry, Dodge, Riposte, Block
    • Backstab
    • Dual Wield
  • Skillups
    • Combat
    • Spells
    • Class Skills
    • All Abilities
  • NPC Management: Ability to script each NPC with unique quests / events
    • Robust NPC API on Authoritative client that will control NPCs, how they respond back to players, trigger a particular spell, etc.
    • Ability to drop “scripted” quest / events into a folder on the Authoritative client and have them all load / execute in that zone. This would use the above NPC API.
    • Triggers
      • On say
      • On given items
      • On given coins
      • On aggro
    • Responses
      • Give items to player
      • Give coins to player
      • Give faction to player
      • Give experience to player
    • Prevent certain interactions/behaviors from being repeatable. (i.e. "quest flags")
    • Create an example quest in which the npc interacts with the player
    • Create an example quest in which the completion updates a “completed” flag on the server
    • Create an example raid event using the scriptable NPC API. Completion of the raid should also update a “completed” flag for all players involved.
  • Camping and logging off

Milestone 2

  • Spell Improvements
    • NPC Spellcasting (Inherent, not scripted)
    • Authoritative checks for detrimental spells
    • Bard Songs
    • Reagents
    • More Spell Effects
      • Illusions
      • Reverse Damage Shield (detrimental on target)
      • Levitate
      • Summoned Items
      • Knockback
  • Pets
    • Pet ownership & AI logic
    • Pet commands
      • Sit
      • Stand
      • Guard
      • Follow
      • Attack
      • Back off
    • Charm spells
  • Crafting
    • Recipe entries
    • Crafting containers
    • Skillups
  • Combat Disciplines
  • Experience Loss on Death
  • Experience Gain on Resurrect
  • UI Standardization: Same layout used throughout game
  • Keyboard configuration options
  • In game admin commands (spawn npc, kick player, ban player)
  • Content creation website:
    • Item creation
    • Npc creation (+ waypoints, merchants, bankers)
    • Spell creation
    • Crafting recipe creation
    • Player bug submissions
  • Consumable item types
    • Eating and drinking
      • Stunted health, mana, endurance regeneration when hungry or thirsty
    • Clicky spells
  • Ability to report other players in game
  • Fall damage
  • Emote chat commands which tie to animations
  • Character progression milestones (i.e. after completing 10 specific quests we update a flag somewhere to say that you've completed a milestone, which will be used to access content)
  • Dueling
  • In-game languages
  • Client configuration
    • Chat font color and size
    • Video settings
    • Audio settings
  • Persistent user interface (that their windows are in the same location when they log back in)
  • Support regular expressions for chat commands
  • Worn focus effects
  • Combat / Stat Tweaking

Optimizations

  • Player Client Graphics
    • Shaders
    • Lighting
    • Navmesh
  • Resource Usage
    • Player Client
    • Authoritative Client
    • World Server
    • Zone Server
  • Networking
    • Batching
    • Concurrency