http://www.mmo-champion.com/content/6108-BlizzCon-2016-Engineering-Panel-WoW-Account-Actions-Quick-Join-Toasts-Q-A-Time 


군단은 draw instance를 두 배, 혹은 일부 머신에 대해서는 세 배까지 증가시켰습니다.


Strand of ancients는 배가 부두에 도착하자마자 시작되어야 했지만, 타이밍 문제가 있었습니다. 리치 왕의 분노에서 처음 출시했을 때는 부두에 배와 함께 각 진영의 보이지 않는 NPC들이 있었습니다. 배가 도착하면 양 진영의 NPC들의 사거리에 서로가 들어오고, 서로 싸워서 둘 중 하나가 죽으면 전장이 시작되었습니다.


주둔지 건물 시네마틱을 비롯한 유사 시네마틱들은 단순히 텍스트의 3D 모델을 사용했습니다. 그래서 시네마틱 자체는 전혀 현지화되지 않고, 현지화를 돕기 위한 자막만 추가했습니다. 군단에서는 세계를 떠다니는 3D 텍스트를 보여주는 시스템이 추가되었고, 이 텍스트는 현지화할 수 있었습니다.

확장팩이 끝난 후에 엔지니어링 팀은 기술 부채를 처리하는 시간을 가집니다.


WOW가 처음 출시되었을 때, 대부분이 유저들은 싱글코어 CPU를 사용했고 대량의 픽셀 셰이더를 감당할 수 없는 그래픽 카드를 사용했습니다.

팀이 새로운 캐릭터 모델을 원했을 때, 그들은 종족별 뼈대 수가 세 배에서 네 배까지 늘어날 거라는 걸 깨달았습니다. 애니메이션 시스템은 대부분의 유저가 싱글코어 CPU를 사용하던 시절에 만들어져서 팀이 필요한 일을 할 수가 없었습니다. 이제는 최소 사양도 멀티쓰레딩을 감당할 수 있으므로, 팀은 각각의 모델을 하나씩 쓰레드에 보내서 애니메이트할 수 있는 시스템을 만들었습니다. 이 시스템을 만들고 난 후, 팀은 더 많은 모델도 애니메이트할 수 있다는 것을 깨달았습니다. 요컨대 기술 부채를 상환한 것이 엔진의 역량을 발전시킨 겁니다. 일부 드군 시네마틱에서 여러분은 수백명의 오크가 배경에서 뛰어다니는 것을 볼 수 있을 텐데, 이 시스템 변화 덕분에 만들 수 있는 장면이었습니다.


"보이지 않는 추적자"들은 무언가 기능을 하지만 보이지 않는 유닛들입니다. 엔지니어링 팀은 최근까지 비교적 소규모였기 때문에, 많은 컨텐츠들은 디자이너들이 보이지 않는 추적자를 활용해서 만들었습니다. 보이지 않는 추적자는 서버 퍼포먼스 문제를 유발하고, 버그 발생 상황 재현에 변수를 늘립니다. 엔지니어링 팀은 보이지 않는 추적자가 사용된 곳들을 다시 살펴보고, 디자이너들의 컨텐츠 제작을 돕기 위해서 사용할 만한 툴들을 알아낼 수 있습니다.


알아키르 전투는 주위에 수천 마리의 보이지 않는 추적자가 떠다녔습니다. 플레이어가 소용돌이 주변에서 움직일 수 있도록 하기 위해서 사용되었고, 여러분이 점프해서 들어가면 가장 가까운 보이지 않는 추적자에 붙도록 했습니다.


엔지니어링 팀은 신규 던전과 레이드 전투들을 리뷰하고, 얼마나 많은 수의 보이지 않는 추적자가 사용되었는지도 신경 써서 살펴봅니다. 지나치게 많이 사용되는 것은 위험하지만, 보이지 않는 추적자를 사용할 합당한 이유가 있는 상황들이 많습니다.


게임 속에 많은 사람들이 있는 것은 어렵습니다. 여러분의 클라이언트가 그 많은 사람들이 저마다 어디 있고 뭘 하는지 파악해야 하기 때문입니다. 그래서 팀은 게임 속에 있는 사람의 수를 제한합니다. 서버 퍼포먼스, 클라이언트 퍼포먼스, 대역폭에 도움이 됩니다. 


클라이언트는 주문 시전을 서버에 보내고, 성공할 거라고 가정합니다. 그래서 종종 여러분이 주문을 시전하고 재사용 대기시간이 시작되지만, 사실 침묵되었다고 알리고 멈추어버립니다. 캐스팅 애니메이션도 즉시 시작됩니다. 서버 지연이 심할 때 손이 빛나는 캐스팅 애니메이션이 그대로 고정되어버리는 이유가 바로 이것입니다. 이러한 설계는 여러분의 행동의 피드백이 즉시 느껴지도록 합니다.


시전 시간이 긴 기술들은 유저가 기술을 시전할 때 바로 애니메이션과 UI 변화를 시작할 수 있습니다. 즉시시전 기술은 서버 업데이트 주기가 한 번 지나갈 때까지 기다려야 했습니다. 근접 직업을 플레이하셨다면 기술 시전과 애니메이션이 즉시 연결되지 않는다는 걸 눈치채셨을 수도 있습니다. 군단에서는 근접 애니메이션이 즉시 시작되고 서버의 응답은 임팩트 이벤트 이전에 돌아옵니다. 그래서 임팩트 이벤트가 애니메이션과 싱크를 맞출 수 있고, 더 나은 느낌을 제공합니다.


여러분의 모든 장비 슬롯, 가방 슬롯, 은행 슬롯은 오리지널 시절에 하드코딩되었습니다. 관련 코드에는 하드코딩된 부분들이 있어서, 기본 가방을 확장하면 전부 다 꼬일 수 있습니다. 그리고 모든 저장된 캐릭터들의 데이터를 추출하는 프로세스도 필요할 겁니다. 엄청난 비용이 발생합니다. 다른 가방들의 크기를 확장시키는 편이 쉽습니다.

영상들은 공개되기 이전까지 클라이언트에 암호화됩니다. 팀은 이 암호화를 파일 레벨에서 파일 내부의 특별한 레코드 레벨까지 발전시키고자 합니다. 팀이 추구하고자 하는 기술이며 전원이 동의하는 사안입니다. 


타우렌이 문에 끼이는 걸 해결하기는 어렵습니다. 타우렌은 다른 것에 부딪치는지 측정하기 위한 충돌 박스가 있어야 합니다. 이 충돌 박스는 그가 땅 위에 서 있는지, 헤엄치고 있는지, 문을 통과할 수 있는지를 측정합니다. 투기장에서는 공평성을 위해서 모든 종족의 충돌 박스가 동일해집니다. 노움과 드워프도 비슷한 문제가 있는데, 다른 종족들은 그냥 서 있을 만한 얕은 물에서도 헤엄치게 됩니다.


많은 아이템이 20개까지 스택되는 건 디자인적인 선택이고, 기술적 제한은 없습니다.


개인룻 모드의 상자들은 모든 사람이 한꺼번에 루팅할 수 있습니다. 여러 사람이 하나의 상자를 루팅할 수 있게 만드는 건 사실 꽤 어려운 일입니다. 이것도 기술 부채의 한 가지 사례입니다.

상자처럼 보이지 않지만 사실 상자로 적용된 아이템들이 드군 출시 당시에 있었습니다. 이것들이 병목 현상을 유발했습니다. 이제 이러한 유형의 아이템들에 일종의 다중 루팅 기술이 사용되고 있고, 팀은 계속해서 기술을 발전시키기 위해서 작업 중입니다. 


소비자를 늘릴 만한 기능이 있다면 엔지니어링 팀에게 바로 추진되며, 팀은 조사를 시작합니다.

이동 강제 코드는 여러분이 불가능한 방법으로 이동하지 못 하도록 하기 위해서 서버에 적용됩니다. 현재의 코드는 99.9%의 시간 동안 잘 작동합니다. 나머지 시간에는 몇몇 문제들 때문에 서버가 여러분이 불가능한 방법으로 이동했다고 판단하고, 여러분의 연결이 해제됩니다. 드루이드는 연맹 전당의 물에 특정 탈것을 타고 올라가면 연결이 해제되는 버그가 있어서 패치되었습니다. 때때로 이런 것들은 찾아내기 정말 어렵습니다.

서버 공통 지역이 처음 적용되었을 때, 엘윈 숲과 스톰윈드 사이를 오가는 특정 플레이어가 연결 해제되는 문제가 발생했습니다. 팀은 많은 상황을 실험해서 이 문제를 재현하고자 했지만 실패했습니다. 마지막에는 이 문제를 겪은 캐릭터를 복사하고 상황을 재현해봤고, 신발 마법부여의 이동속도 증가 효과가 서버 공통 지역 변환 과정에서 바르게 적용되지 않은 것이 원인임을 밝혀냈습니다.

한동안 툴팁이 한순간만 뜨고 바로 사라져버리는 문제가 발생했습니다. 패치 7.0에서 이 문제가 사라졌습니다. 팀도 어찌 된 영문인지는 모르겠지만, 버그가 고쳐졌습니다!

버그 리포트를 하실 때는 위치, 하고 있던 일, 직업, 종족, 그 외에도 팀이 여러분의 상황을 재현해보는 데 도움이 될 만한 정보를 최대한 제공해 주시면 큰 도움이 됩니다. 크래시 리포트에는 특히 중요합니다. 

디자인 회의에서 부서진 섬의 상징적인 지역들에 대해 이야기해봤고, 이런 장소들을 모두 멀리서 볼 수 있다면 멋질 거란 걸 깨달았습니다.

게임은 생동감 있게 느껴질 때 더 좋으므로, 구역의 인구수는 재미있는 밸런스를 유지하기 위해서 조절됩니다.

애드온 개발자 커뮤니티와 언제나 많은 상호 작용을 합니다.

때때로, 팀도 원한다는 걸 깨닫지 못 했던 것들을 애드온들이 노출시킵니다. WOW가 출시되었을 때는 여러개의 파티 프레임이 있을 뿐, 레이드 프레임은 없었습니다. 레이드 프레임이 처음 나온 것은 애드온이었지만, 이제 레이드프레임 없는 게임은 상상도 안 될 겁니다.

싸움꾼 투기장과 수련의 장은 전적으로 디자이너들이 만들었습니다.

캐릭터, 오브젝트, NPC를 통한 주변 관심 지역의 업데이트 주기는 군단에서 크게 증가했습니다.

수면을 걸어다니는 소금쟁이는 캐릭터의 충돌 박스와 관련되어 있습니다. 박스의 일정 비율은 수면 아래에 있어서 여러분이 헤엄칠 때 우스꽝스럽게 보이지 않도록 하고, 점프 높이가 고정되어서 물 밖으로 빠져나가지 못 하도록 합니다.

공대의 일부를 다른 페이즈에 이동시키는 전투들은 공대의 다른 그룹이 전투 로그를 볼 수 없게 만듭니다. 팀은 그룹을 부분적으로 페이즈 이동시켜서 전투 로그를 볼 수 있도록 하려고 했지만, 대부분 막판에 문제가 발생합니다.

팀이 이동 강제 버그를 다룰 때에는, 버그 발생 당시의 서버 상태에 접근할 수가 없으므로 우선 로그를 보는 것부터 시작합니다.


특정 지역에 문제가 있다면 팀은 로그 기록을 수정해서 더 상세한 로그가 기록될 수 있도록 하고, 이를 통해서 원인을 파악합니다.

점멸을 시전할 때 서버는 거리, 목적지, 목적지의 플레이어 접근 가능 여부를 검토합니다.

구르기를 시전할 때는 이동속도가 증가하고 제어불가 상태가 되는 오라를 획득합니다.

다른 사람의 루팅 권한이 남아있는 시체를 무두질할 수 없게 되는 것은 군단 이전부터 알려진 문제입니다. 이상적인 해결책은 모든 사람이 무두질 권한을 가지는 것이지만, 기술적 한계 때문에 단기간에 이런 해결책을 적용할 수 없습니다. 팀은 추후에 이 문제를 해결하고 싶습니다. 


팀의 입장에서 애드온이 하지 않기를 바라는 일들을 때때로 애드온들이 합니다. The team moved the rendering of markers on your map to C code and providing an API for addons to interact with them without being able to get their position.


지금 팀은 게임을 핫픽스하는 여러가지 방법을 보유하고 있습니다. 클라이언트에는 없는 대량의 데이터가 서버에 있습니다. 이제 팀은 서버의 데이터를 핫픽스한 다음 이것을 클라이언트에 전파할 수 있습니다. 이로써 팀은 비주얼이나 애니메이션, 서버와 클라이언트의 바이너리 코드 등을 변경할 수 있습니다. 

이 확장팩 동안 핫픽스 시스템 자체도 핫픽스되었습니다. 핫픽스를 너무 많이 해서 시스템이 고장났고, 시스템을 고쳐야 했습니다.