https://www.eveonline.com/news/view/the-move-to-python-3-begins
Python 2 기반에서 Python 3으로 전환한다고 하네요.
가장 큰 문제는 Python 2에서는 1/2 = 0과 같이 동작했는데 Python 3에서는 1/2=0.5가 된다고 하네요.
데미지 계산이나 거리 계산 시 미묘하게 안 맞는 문제가 생길 수 있어 검토를 계속 하나 봅니다.
이 변경은 향후 20년(!)을 위한 준비라고 합니다.
-
Python 3 전환 시작: 2010년 이후 Python 2.7에 머물러 있던 EVE Online의 240만 줄 규모 코드베이스를 현대적인 Python 3로 업그레이드하는 대규모 마이그레이션을 시작합니다.
-
전환 목적: 최신 파이썬의 향상된 성능 확보, 현대적인 라이브러리 및 디버깅 툴 활용을 통한 빠른 버그 수정, 향후 20년을 위한 개발 환경 현대화가 목표입니다.
-
단계적 마이그레이션: 서비스 중단 및 플레이어 데이터 손상을 방지하기 위해, 먼저 기존 Python 2.7 환경에서 Python 3 호환 코드로 바꾸는 단계적 방식을 적용합니다.
-
현재 진행 상황 (1단계): 코드의 95.9%는 이미 두 버전에서 컴파일되며, 구형 문법을 자동 변환하는 1단계 변경 사항이 테스트 서버(Singularity)를 거쳐 본 서버(Tranquility)에 적용되었습니다.
-
향후 과제 및 플레이어 영향: 버전 간 동작이 달라지는 코드(예: 나눗셈 연산 등)를 검토하는 2단계 작업이 이어질 예정이며, 단기적으로는 플레이어 경험에 영향(변화)이 없도록 무중단·무체감 전환을 목표로 합니다.