기본적인 오브젝트와 상호작용
Godot 엔진 시작
Godot은 가볍고 안정적인 오픈소스 게임엔진이다 (MIT 라이선스). 기본적인 기능에 충실하면서도 많은 공식/커뮤니티 애드온을 지원하고 완전한 자유 소프트웨어이기에 인디 개발자들 사이에서 인기가 높다.
또 이 엔진은 GDScript라는 전용 스트립트 언어를 지원하는데, 파이썬과 구조가 비슷하고 C++, C#에 비해 익히기 쉬워서 입문 개발자들도 많이 선택하는 엔진이다.
다른 엔진들에 비해 매우 가벼워서 설치가 빠르고 간편한것도 이 엔진의 장점이다.

우리 팀은 이 Godot을 이용해 게임을 개발하기로 결정했다.
기본적인 오브젝트 구현
Godot으로 가장 먼저 한 것은 2D 공간에 게임을 구성하는 가장 기본적인 오브젝트들을 구현하고 그들 간 상호작용을 정의하는것이었다.
대포는 일러스트레이터로 바퀴, 몸통, 포신을 따로 그려 게임에서 이어붙였고 스켈레탈 애니메이션을 적용하였다. 그 외의 것들은 나중에 따로 디자인할거라 당장의 외형은 신경쓰지 않았다.

그리고 플레이어의 좌-우 이동, 대포에 고정된 채 함께 이동을 구현함으로서 하나의 상호작용과 두개의 무브먼트가 완성되었다. 대포가 이동할 때 바퀴가 회전하도록 하고, 캐릭터가 대포에 붙었을 때 몸통이 들어올려지고, 포격 위치를 조준할 때 포신이 몸통과 교차하는 부분을 축으로 회전하도록 애니메이션을 구현하였다.
대포의 몸통이 들어올려지는 동작은 키프레임 애니메이션으로 미리 만들어놓고 이벤트 시 재생되도록 하였고, 바퀴의 회전과 포신의 회전은 실시간으로 속력값, 각도값에 의해 변화하도록 구현하였다.

플레이어나 대포에게 점프와 같이 중력의 영향을 받는 무브먼트는 없을것이므로 Y값을 0에 고정시킴으로서 바닥에서 이동하는것처럼 보이게 했다.
탄환은 오브젝트만 만들어놓고 아직 어떠한 상호작용이나 무브먼트도 정의되지 않은 상태이다. 탄환은 포물선 운동을 구현과 함께 대포로부터 발사되고 지면에 탄착하는 두가지 상호작용을 구현할 예정이다.