Skip to main content
  1. Projects/

Star Wars: The Old Republic

Overview
#

Star Wars: The Old Republic was one of the most ambitious MMO projects ever undertaken—a fully voiced, story-driven online game set in the Star Wars universe. At launch, it served millions of concurrent players across distributed server infrastructure.

Platform: PC
Role: Software Engineer III
Studio: Electronic Arts — BioWare
Peak Subscribers: 1.7 million


My Contributions
#

Client Physics & Collision Systems
#

Bug Fixes & Optimization:

  • Fixed client collision bugs with heightmap terrain
  • Built collision visualization tools for debugging
  • Resolved movement bugs causing characters to clip into collision geometry
  • Fixed camera bugs causing it to fall through terrain
  • Fixed NPC death animation bug where corpses would fall through collision

Client Rendering & Graphics
#

Shader & Rendering Work:

  • Developed color-ramped fog shader system
  • Built UI tools for fog configuration
  • Optimized VRAM manager to avoid unnecessary asset iteration overhead
  • Water node depth map generation

Visual Effects:

  • Fixed FX bugs and performance issues
  • Conducted FX system performance analysis
  • Developed time-per-FX metrics system for profiling individual effects
  • Built automaton-based EPP/ability appearance/FX profiler generating CSV reports

Client Performance & Optimization
#

Major Performance Work:

  • Ported underperforming script systems to C++ for both client and server
  • Implemented dynamic character LOD system
  • Built client animation throttling system
  • Investigated and fixed hitches (e.g., Kynapse navigation middleware hitches)
  • Created distributed client performance/settings capture system on live servers
  • Built metrics budgets display system

Server Architecture & Performance
#

Distributed Systems:

  • Legacy system groundwork: stored procedures, database cache, world-to-area-server communication, persistence layer
  • Galaxy Map server backend (TDD involved)
  • Galaxy Map multiple area load refactor
  • Region refactor: converted from linear/polling to event-based architecture, convex polygon regions (TDD involved)
  • Ported /who command from script to C++ for performance
  • Server performance optimization for high player density scenarios
  • Ability delay metrics and fixes

AI Systems
#

NPC Behavior & Optimization:

  • Fixed critical AI bug: NPCs not hibernating due to reference counting issue
  • Implemented AI metrics tracking NPCs active per behavior type
  • General AI debugging and optimization

Metrics & Profiling Infrastructure
#

Instrumentation & Analysis:

  • Comprehensive metrics instrumentation across client and server
  • Time-per-FX metrics system
  • Ability delay metrics
  • Metrics logging framework
  • Built Automated Profile Capture (APC) system for systematic performance analysis
  • Distributed client performance/settings capture on live production servers

Load Testing & Bot Infrastructure
#

Bot Farm & Test Systems:

  • Built headless client bot farm for large-scale load testing
  • Developed load test bot features and improvements
  • Fixed critical bot service issues
  • Created realistic player behavior simulation

Memory Management & Debugging
#

Memory Systems:

  • VRAM manager optimization—eliminated unnecessary iteration through asset instances
  • Memory leak tracing and investigation
  • Memory monitor report diffing tools for leak detection

Technical Stack
#

ComponentTechnology
Client EngineC++, RAD Granny3D
Server LogicHeroScript (custom language)
ToolsC#
Server PlatformLinux

Scale & Impact
#

SWTOR represented a massive engineering challenge:

  • Millions of players across global server infrastructure
  • Fully voiced story content requiring extensive tooling
  • Real-time combat with networked state synchronization
  • Persistent world with complex economic and social systems

Working on this scale taught me how to think about systems that must be reliable, performant, and maintainable under extreme load.


Skills Demonstrated
#

C++ CSharp Distributed Systems Client-Server Architecture Linux Load Testing Performance Profiling

Related