2D platformer 만들어보기.

Features

  • warped 에셋에서
  • 그래픽 디테일 먼저 만들면 시간 너무 오래걸림… 최대한 날림으로 만들고 나중에 정리하는 게 낫겠음.

Todo

  • 체력, 데미지 입음
  • 근접 공격
    • 적 hurt state
    • 공격 스프라이트, FX
    • combatManager
  • State machine 으로 관리하기
  • 투사체
  • 공중 제어
    • N단 점프
    • 클리프 행어
    • 코요테 타임
    • 점프 버퍼
    • 공중에서 투사체 반동
  • 통과 가능한 플랫폼
  • 기본 레벨 디자인
    • 메트로바니아라서 power up 하고 연결이 되어야 함.
    • 첫 레벨 디자인이 되려면 기본 스킬셋 명세가 정의되어야 한다..
  • 플레이어 상태
    • HP
  • 기본 UI
    • 사운드
    • 해상도
    • Dialogic 기본 레이어 사용하되… 너무 불편하다 싶으면 커스텀 씬 만들어서 처리하자. (특히 텍스트 인풋이 좀 나사가 빠져있음.)
  • 이펙트 (FX)
    • SFX AudioStreamPlayer
      • 사운드 딜레이 있는데, 무선 이어폰 문제인지 체크 필요
      • 공격 피격 (칩튠 쓰세용)
    • VFX
      • 피격시 플래쉬
    • 순찰 패턴
    • 추적 패턴
    • 전략 추상화
    • 박스 sprite
      • 공격
      • 피해
  • 애드온 경량화 (안쓰는 ㅌㅔ마 삭제 등)
  • 초기 스킬셋 명세
    • 1단 점프
    • 짧은 근접 공격 (사거리 때문에 열받는 상황 필요)
    • 하방 공격 (할로우나이트)
  • 파워업 명세
    • 근접 공격 사거리 증가
    • 원거리 공격
    • 슬라이딩
    • 대쉬
    • 공중대쉬
    • 여우폼
    • 바꿔치기술
    • 2단 점프
    • 제물낚시
    • [ ]
  • 타이틀 스크린
  • [ ]

Tarantum

  • 기본 스크립트 툴의 자동완성이나 편의기능이 좀 불편하다. Declaration, Usage 찾기가 불편하고, 자동완성은 너무 많은 것을 보여준다.
  • Input 같은 중요한 객체들을 알기가 힘들다.
  • 코드가 길어지면 VScode 사용하는 쪽이 더 편해보임.
  • 가끔 애드온 설치할 때 오토로드 실패하는 경우 있음.
    • 해결법 : .godot 폴더 삭제후 다시 열기 (re indexing)

Tips

  • global_position 프로퍼티랑 그냥 position 이 조금 다른 듯. (root node transform 시 뭔가 문제가 생기는 듯. 나중에 체크해볼래용)
  • 디버그용 마커를 하위로 두면 편하다.
    • 예시) 길찾기 알고리즘의 다음 목표위치를 마커로 표시.
    • 안쓸땐 disabled 로 두면 깔끔.