Dodge The Creep - [1] 환경 설정
Godot 공식 문서에 나와있는 2D 튜토리얼인 Dodge The Creep 게임을 Rust를 이용해서 따라 만들어 보자.
템플릿 복사 및 실행
우선 프로젝트 셋업을 해야 한다. 이 부분은 Rust를 이용한다고 해도 크게 바뀌는 부분은 없다. 하지만, GDScript를 이용한다면, Godot Editor를 이용해서 처음부터 하면 되겠지만, Rust를 이용하기 때문에 우선 cargo를 이용해 기본 프로젝트 template를 만들고 난 후, 생성된 godot 폴더에서 프로젝트 설정을 수정하도록 한다.
$ cargo generate --git https://github.com/godot-rust/godot-rust-template --name dodge-the-creep-rust $ cd dodge-the-creep-rust $ cargo make run | cs |
위 명령들을 하나씩 살펴보면,
- cargo generate 를 이용해서 기본 템플릿을 이용한 프로젝트 폴더를 생성한다.
- 만들어진 프로젝트 폴더로 이동
- cargo make run 명령을 이용해 빌드 및 실행
cargo generate 를 이용해 프로젝트를 생성했을 때, 기존 템플릿은 make를 이용했기 때문에, gdnative 문서 페이지를 보면 make run 으로 빌드 및 실행 명령어가 안내되어 있지만, 최근 cargo build를 이용하는 방식으로 변경이 되어서 이제는 cargo make run 을 이용해서 실행해야 빌드 및 실행이 적절하게 동작 한다.
기존에는 비어있는 화면 이었는데, 최근 커밋에는 기본으로 spinning cube 가 동작하도록 되어 있어서 최신 소스 기반으로 실행을 한다면 아래의 하면을 볼 수 있다.
실행 화면 (기본으로 들어 있는 Spinning Cube) |
개발 환경 설정
이제 개발환경을 설정 할 시간이다. 프로젝트 폴더의 rust 폴더로 이동한 후, code . 명령을 이용해서 VSCode 를 실행 시키자.
dependency 설정 변경
최근 gdnative 버젼이 0.10.0 으로 변경이 되면서, cargo.toml 파일에서 권장하는 설정이 변경 되었다. 다음과 같이 공식 문서에서 권장하는 설정으로 cargo.toml file을 변경한다.
[dependencies] gdnative = "0.10" [lib] crate-type = ["cdylib"] | cs |
프로젝트 파일 생성 및 수정
우선 godot-rust 확장을 이용해서 프로젝트 파일을 생성한다. godot-rust 확장을 설치하고 이를 애용해서 프로젝트 파일을 생성하는 방법은 이전 포스트를 참고하면 된다. 여기서, 문제가 되는 부분은 위에서 템플릿을 실행할 때도 발생했는데 최근 빌드 방식 변경으로 인해 make 가 아닌 cargo build를 해야 한다는 사실이다. 하지만 아직까지 godot-rust 확장에 이 부분이 적용되지 않아서 기존 make 방식으로 커멘드들이 적용되어 있어서 이부분을 수정해 줘야 한다.
task.json 수정
task.json 파일을 열면, 이 프로젝트에서 실행할 수 있는 task들이 정의되어 있다. 이 중 build 관련된 부분의 명령어를 수정해 주면 된다. Build debug, Build Release, Clean 항목에서 command: "make build-${config:godot-rust.build.targetPlatform}-......" 와 같은 명령어 실행이 정의되어 있는 부분이 보이는데, make 앞 부분에 cargo 명령을 추가 해 주면 된다.
아래는 Build Debug 항목을 수정 한 예 이다.
"command": "cargo make build-${config:godot-rust.build.targetPlatform}-debug", | cs |
이렇게 수정한 후, task를 수행 하거나 F5를 눌러 디버깅을 수행 할 수 있다.
launch.json 수정
디버깅을 수행할 때 간혹 디버깅 포인트가 실제로 디버깅할 때 잡히지 않는 경우가 있었다. 이런 경우엔 디버거 타입을 lldb 에서 cppdbg 로 변경해 보길 바란다.
{ "version": "0.2.0", "configurations": [ { "name": "Debug Game", "preLaunchTask": "godot-rust: Build Debug", "type": "cppdbg", //<- here "request": "launch", "program": "${config:godot-rust.environment.godotEditorPath}", "cwd": "${config:godot-rust.environment.godotProjectPath}", "presentation": { "group": "Debug", "order": 1 } }, | cs |
이제, Dodge The Creep을 Rust로 만들어 볼 준비를 모두 마쳤다.
댓글
댓글 쓰기