게임 스크립팅 환경 선택 시 고려 사항
Source
Evernote/Technote scraps/리카넷가짜블로그 - 게임에 사용할 스크립팅 환경을 고를 때 고려해야 할 것들.md
Summary
게임 개발에서 스크립팅 언어를 선택할 때는 언어 자체뿐만 아니라 런타임 기능, 바인딩 편의성, 개발 도구 등 생산성에 영향을 미치는 요소들을 종합적으로 고려해야 한다. 주요 고려 사항으로는 빠른 이터레이션(핫로딩), 효율적인 바인딩, 견고한 에러 처리, OOP 지원, 한글 식별자 지원(도메인 주도 설계), 성능 및 멀티스레드 특성, 디버거/에디터 지원, 그리고 언어의 대중성(학습 곡선 및 커뮤니티 지원)이 있다. 프로젝트의 규모와 스크립팅 적용 범위에 따라 각 요소의 중요도가 달라지므로, 초기 도입 비용과 유지보수성을 예측하는 것이 중요하다.
Key Points
- 스크립팅 환경 선택은 언어뿐만 아니라 런타임, 바인딩, 개발 도구 등 생산성 요소 전체를 고려해야 함
- 빠른 이터레이션: 스크립트 수정 후 재실행 시간, 호스트 재컴파일 여부, 게임 상태 유지 여부 확인 필요
- 바인딩 편의성: 언어 간 상호 함수 호출 비용, 자료구조 공유 및 객체 참조의 용이성 평가
- 에러 처리: 빠른 개발 사이클을 무효화하지 않도록 견고한 에러 핸들링 필수
- OOP 지원: 복잡한 로직을 위해 OOP 지원 여부, 컴파일 타임/런타임 타입 안전성(오타 감지) 확인
- 한글 식별자: 도메인 주도 설계(Ubiquitous Language) 실천을 위해 디자이너 친화적인 식별자 사용 가능 여부
- 성능 및 멀티스레드: 실행 속도, 메모리 사용량, 서버 환경에서의 VM 생성 및 스레드 안전성 고려
- 개발 도구: GUI 디버거, 구문 강조 에디터 등 비프로그래머(디자이너)를 포함한 팀의 생산성 지원 도구 존재 여부
- 대중성 및 학습 곡선: 언어의 인지도, 커뮤니티 지원, 버그 수정 속도, 개발자의 학습 저항 고려
- 적용 범위별 가중치: 단순 유틸리티용과 게임 로직 전체 스크립팅용에 따라 필요한 기능의 중요도가 상이함