Darkpaw Games

EverQuest

Associate Programmer -> Senior Software Engineer I

  • Coded for end-to-end systems including client and server development
  • Work collaboratively with engineers, designers, and artist teams to ensure systems meet all requirements
  • Coordinate with Game Tech team to ensure smooth integration of related systems
  • Anticipate and resolve development roadblocks in new product development while continuing to support older systems
  • Major game system changes
    • Gameface
      • Learned the needed skills to assist with transitioning to (web-based) GameFace for the in-game UI
      • Implemented code standards for programming languages new to the team
    • Jenkins
      • Converted our existing build system (ANT-based) to use Jenkins
      • Provided generic “template” for other game teams to use when doing their own conversion
      • Gradually improved upon existing scripts/processes to use Perl, cutting ~1 hour from all builds
      • Maintained the new build system and remained the unofficial point of contact for any emergent issues
    • CS Tools
      • Created new tools from scratch for Customer Service
      • Implemented new functionality as various new systems were added to the game
    • Alternate Personas
      • Leveraged an existing system (“spirit shrouds”) from the early 2000s to allow characters to have more than one main class
    • Collection Depot / Tradeskill Depot / Dragon’s Hoard
      • Implemented a generic system to store large amounts of items (each item can consist of 35 – 100 columns with dynamic data in a database) in a simplified manner to allow for easing the overall database load
      • Designed this system to load data only when necessary, a major difference from other systems (real estate, general inventory, etc.) which load data immediately and store it indefinitely
    • Implemented the luck stat
      • Unique stat that gives a player bonuses to 20+ existing systems
      • Also introduced the first stat that can be changed on an item which required special handling to ensure the value saved/loaded properly consistently
      • Mapped out the systems involved, data necessary, UI changes, and the actual system for the stat itself to keep the implementation clean and simple
    • Merchant window revamp
      • Unified the many types of merchant windows down to a single, easy to understand window
      • Learned how to communicate and work with another programmer effectively without stomping each other’s changes
    • Attached reward sets to items
      • Discovered that while a system may theoretically be simple, the actual implementation can be very complicated
      • Mapped out the entire system visually to ensure all potential paths through the system would be accounted for and handled properly
      • Worked with design to verify the data necessary would both work for the code and be accessible and easy to maintain for design
  • Server related accomplishments
    • Wrote, tested, and refined SQL needed for performing server merges
    • Put in hardware requests, set up necessary configurations, and was on-site for launching new servers
  • Large build/team tasks
    • Handled the actual launch (ran builds, verified those builds, and was on-call to troubleshoot any issues) of all expansions and other major events
    • Migrated the entire team (design and code) from one task tracking system to JIRA