soma0sd

코딩 & 과학 & 교육

mount & blade warband 모드 개발: 모듈 시스템의 파일 시스템

반응형

모듈 시스템

모듈 시스템은 리소스를 제외한 모든 게임 규칙을 담은 Python 2.X 기반의 파일 모음입니다. 모듈 시스템을 통해 개발한 게임 규칙은 컴파일을 통해 게임이 읽을 수 있는 형태의 파일로 변환됩니다.

모듈 시스템 얻기

파일시스템을 공개하고 있는 모드도 있어서 참고할 수도 있겠습니다만 우선은 가장 기본적인 네이티브(Native)의 모듈 시스템을 얻어서 살펴보도록 하겠습니다.

글을 작성하는 시점에는 1.171버전의 네이티브 모듈 시스템을 배포하고 있습니다. 압축을 해제하면 두 폴더가 보입니다.

  • Module_data 1.171: 스카이박스(하늘)의 모양과 식물의 종류를 변경할 수 있는 파일
  • Module_system 1.171: 게임 규칙이 들어있는 모듈 시스템 파일

파일의 접두어와 컴파일 절차

우선 접두어를 기준으로 파일의 종류를 나눠서 살펴보도록 하겠습니다.

  • build_module.bat: 파일 시스템을 컴파일하는 배치파일
  • header_: 모듈의 내용을 워밴드의 게임 시스템이 알아볼 수 있도록 번역할 때 사용하는 상수와 변환 함수
  • process_: 변환 절차가 담긴 파일
  • ID_: 모듈 내부에서 사용하는 요소에게 부여되는 번호들
  • module_: 모더가 작업한 게임 규칙

특별한 기능을 요구하는게 아니라면 process_, header_는 게임 시스템 안의 내용을 반영하기에 변경하지 않는 것이 좋습니다. ID_는 번환 과정에서 자동으로 생성됩니다.

생성한 모듈

모듈 시스템의 module_info.py를 수정합니다.

# Point export_dir to the folder you will be keeping your module
# Make sure you use forward slashes (/) and NOT backward slashes (\)

export_dir = "../Native/"
#export_dir = "C:/Program Files (x86)/Mount&Blade Warband/Modules/Native/"

윈도우 시스템에서 경로를 표현하는 백슬래시(\)를 슬래시(/)로 바꿔야 합니다. 동작이 목표가 아니고 살펴보는 것이 목표이기에 경로를 모듈 시스템의 이웃 자리에 놓도록 하겠습니다. 작업이 끝나면 Python 2.7.13을 설치합니다. 이 모듈 시스템은 파이썬 3.X에서는 구동하지 않습니다.

다음으로 build_module.bat를 실행하면 지정한 위치에 변환한 파일이 배치됩니다.

변환 전(좌)과 변환 후(우)의 스크립트 내용

반응형
태그:

댓글

End of content

No more pages to load