1일차) 벨트스크롤 포폴 - (WinAPI, 2D, 메이플스토리 소스 사용)

선생님의 일주일간 포폴을 제작하라는 오더
횡스크롤 게임 제작에 대해 진도를 나가는 중이었기에 데모버전으로 구현

- 캐릭터 스프라이트 모션 이미지 재생
- 점프, 내려가기, 메달리기 구현



캐릭터 상태에 따라 이미지 재생을 하려고 하였는데, 생각보다 상태 처리하는게 쉽지 않다.


데모 버전을 만들어 보았고, 이를 기반으로 깔끔하게 정돈된 벨트스크롤 포폴 제작 예정
마침 포폴 제작에 적절한 메이플 스토리 리소스를 발견할 수 있어서 해당 리소스 사용







0910_일주일포폴(2D,WINAPI)
2019 9 10일 화요일
오전 9:11
[ 벨트 스크롤 포폴 (메이플스토리 리소스 사용) ]

< 목적 >
  • 벨트 스크롤 포폴을 만들어 캐릭터 상태에 따른 처리를 연습
  • 카메라에 따른 이동 구현
  • 스프라이트 애니메이션 재생 연습
  • 게임 제작이 얼마나 어렵고 세세한 작업인지 체험


< 마일 스톤 >

9.10.
9.11.
9.12.
9.13.
9.14.
9.15.
9.16.
9.17.
9.18.
9.19.
기획서 제작










리소스 정리










이동 구현










카메라 구현










일반 공격, 피격 구현










에너미 제작, 상호작용










메인화면 제작










마우스 구현










제작(리소스,박스)










애니메이션 처리










스킬 구현(1, 2)










몬스터  AI 구현










Npc 구현










물약 구현










버그 잡기










장비 구현










세부 처리









D-day





< 제작 기획서 >
  1. 화면 구성
    1. 메인화면
    2. 인게임 화면
      1. 마을 - 머쉬룸 신사
      2. 사냥터 - 울루 시티
    3. 종료: 옵션창 > 게임종료 > 윈도우 메시지


  1.  구현 내용
    1. 메인화면
      1. 게임 시작
      2. 마우스 포인터(클릭, 드래그엔 드롭)
    2. 인게임 화면
      1. 마을 구성
        1. 물약 상점: 벡터 연습
        2. 장비 상점: 벡터 연습
      2. 캐릭터 기능 - 함수로 만들어 모든 캐릭터가 사용할 있도록 처리 해야 한다.
        1. 이동
          1. 카메라 스크롤( + 이동)
            1. 캐릭터 제외 모두 움직여야 한다. 그러면 움직임을 이끄는 주체가 무엇인지 정하고, 해당 주체의 이동에 맞춰 이동 시켜야 한다. 주체를 랜드맵으로 해야 하나? 랜드맵으로 한다면… 위의 모든 객체들은 랜드맵의 좌표에 종속되어야 한다. 그리고, 움직이는 몬스터 역시 랜드맵에 종속 되어야 하네… 흐음…
            2. 랜드맵에 종속하였을 카메라 이동에 따른 문제는 없는가? 카메라가 랜드맵의 끝에 도달 하였을 맵이동과 카메라 이동을 멈추고 캐릭터만 이동하도록 처리 해야 한다.
            3. 카메라의 이동은 캐릭터의 이동에 종속 되어야 한다.
          2. 점프
          3. 메달리기(덩굴)
        2. 공격: 캐릭터의 상태와 상관없이 공격 기능이 나가도록 처리
          1. 일반 공격 1
          2. 스킬 공격 2
        3. 캐릭터 상태
          1. 선행상태: 공격 / 피격 / 스킬 처리할 상태
          2. 아이들 < 온과 함께 처리 해야 한다.
          3. 워크
          4. 점프
          5. 매달림
          6. 떨어지기
          7. 공격 / 피격 상태로 만들어 처리 해야 하는지 고민해볼
            • 캐릭터의 다른 상태와 상관 없이 무조건 먼저 선행 되어야 하는 애니메이션 모션이다. 선행 모션이라는 상태를 하나 만들어 발생하면 처리 하도록
            • 또한 선행 모션 상태가 끝나면 이전상태로 돌아간다? 혹은 상태를 다시 체크한다…. 상태를 다시 체크하는게 적절해 보인다.
          8. 다이(죽음)
      3. 사냥터 기능
        1. 에너미 구현
          1. 이동(캐릭터에서 만든 함수 사용)
          2. 공격(캐릭터에서 만든 함수 사용)
            1. 일반 공격 1
            2. 스킬 공격 1
          3. AI: 기본 AI(안떨어지도록. 등장 렉터 위에 위치 종속)
          4. 에너미 상태
            1. 캐릭터와 동일
    3. 종료 화면
      1. 게임 오버 + 메인 화면으로 이동 처리


참고: 리소스 로딩을 줄이기 위해 맵은 하나의 이미지로 처리 하고, 이미지에 맞는 상자를 만들어 위치 처리




댓글