학습 및 구현

  1. 조작: 키보드, UI 버튼
  2. 애니: 더블점프, 피격, 착지, 부스트, 사망 등
  3. 중력, 낙하, 스폰
  4. 풀링, 장애물
  5. 체력 게이지, 사망
  6. 배경 스크롤링
  7. 스코어: 이미지 숫자 폰트
  8. 아이템: 체력회복, 부스트, 젤리
  9. 부스트 장애물 튕겨내기
  10. 해상도 대응


  1. 게임상 모든 움직임은 벡터, 행렬 연산을 기반으로 함
    • 점프, 슬라이딩 조작 가능. 키 입력 or UI 버튼 클릭으로도 가능하게 함
  2. 상태 패턴을 활용, 일반, 점프, 슬라이딩, 사망 등 상황별 상태를 구분해,
    • 점프, 더블점프, 슬라이딩, 피격, 착지, 부스트, 사망 애니메이션 구현
    • 애니메이션 별 히트박스의 크기를 조정할 수 있게 함
  3. 점프는 중력 벡터를 음수값으로 세팅하는 방식. 플랫폼 충돌 여부에 따라 중력 변화
    • 낙하 시 플레이어 리스폰 / 무적 상태일 땐 중력 미적용
  4. 장애물, 플랫폼은 오브젝트 풀링 방식으로 생성과 소멸은 게임 내 단 한 번.
    • 장애물은 플레이어와 일정 거리 이상 떨어지면 일정 범위 랜덤 스폰
  5. 플레이어와 장애물 충돌 시, 체력 게이지 소모 -> 중력 조정 -> 일시적 무적 상태 -> 피격 애니메이션
    • 피격 애니메이션 출력 시간과 무적 상태 시간 간 분리
  6. 배경은 이미지 하나로 uv 좌표 x, z 값을 계속 변경시켜 스크롤링함 (원경이라 느리게)
    • Sampler 서술자의 AddressU, V, W 멤버는 WRAP 모드
  7. 스코어(좌측상단 숫자)는 이미지 숫자 폰트 형태로 구현
    • 각 자릿수에 미리 세팅해둔 숫자 텍스쳐들을 on off 하는 방식으로 사용
  8. 아이템 젤리: 점수 획득 / 부스트: 캐릭터 속도 일시 증가 / 라이프: 체력 게이지 회복

  9. 부스트 발동 시, 스피드가 빨라지며, 무적 상태. 모든 오브젝트를 튕겨냄
    • 충돌 시 계속 일정 방향 벡터로 이동 + rotation 변화
    • 똑같이 리스폰됨
  10. 해상도 대응: 각 오브젝트 및 UI의 anchor처럼 구현


추가 필요한 사항: 젤리 패턴, 오브젝트 패턴, 사운드, 결과, 각종 UI 등

댓글남기기