2025-01-28 TIL

알고리즘 문제

문제 자체는 어렵지 않았고, 알고리즘 풀고 복잡도를 구하는게 조금씩 적응되는 느낌입니다.
프로그래머스 모의고사

스파르타 내배캠

스파르타 내배캠의 과제를 수행했습니다.

프로젝트 시연 연상은 다음과 같습니다.

깃허브 레포지토리 링크

  • 이동 액터
    • Tick함수를 통해 이동하는 액터를 구현했습니다.
    • 왕복 이동을 기준으로 구현했습니다.
    • 이동 속도, 이동 범위를 난수로 생성했습니다.
  • 회전 액터
    • Tick함수를 통해 회전하는 액터를 구현했습니다.
    • 회전 속도를 난수로 생성했습니다.
  • 깜빡거리는 액터
    • 타이머를 활용해 특정 시간마다 렌더링 됐다 안됐다 하도록 구현했습니다.
  • 오버랩 시 추락하는 액터
    • 오버랩 시 타이머를 활용해 일정 시간이 흐르면 머티리얼을 변경하고, 일정 시간이 흐르면 액터가 추락하도록 구현했습니다.
  • 스폰 액터
    • 특정 액터를 임의 좌표로 사용해 게임 시작시 동적으로 랜덤한 액터가 스폰되도록 했습니다.

해당 과제의 평가 기준은 다음과 같습니다.

  • 완성도 (40점)
    • 회전용 액터와 이동용 액터가 각기 다른 클래스로 구현되었는가?
    • 각 Actor 클래스가 메쉬를 포함해, 맵에 배치 가능한 형태인가?
    • Blueprint가 아닌 C++ 클래스로서 최소 2개 이상 구현되었는가?
    • Tick 내에서 회전, 이동이 구현되었는가?
    • DeltaTime을 곱하여 프레임 독립적인 움직임을 구현했는가?
    • 왕복 이동 로직이 정상적으로 동작하여, 액터가 일정 범위에서 되돌아오는지?
    • UPROPERTY 등을 통해 회전 속도, 이동 속도, 이동 범위 등이 에디터에 노출되어 있는가?
    • 에디터 Details 패널에서 값 수정 시 게임 내 동작이 즉각 반영되는지?
    • 카테고리 설정 (Category=”“)이 적절히 적용되어 있는가?
    • 스테이지 레벨에 구현한 액터들이 각각 여러 개 배치되었는가?
    • 플레이 모드에서 이동/회전 동작이 의도대로 작동하며, 충돌이나 버그가 없는지?
    • 서로 다른 속도, 각도, 범위를 적용해 테스트해보았는가?
  • 이해도 (30점)
    • Tick 함수가 매 프레임마다 호출된다는 점과, DeltaTime이 프레임 간 경과 시간을 나타낸다는 점을 정확히 인지하고 구현했는가?
    • 시간 보정 로직을 올바르게 적용했는가?
    • Unreal 엔진에서의 리플렉션(UPROPERTY, UFUNCTION 등)을 어떤 목적으로 사용하는지 명확히 이해했는가?
    • 클래스/변수/함수를 에디터나 Blueprint에서 접근 가능하게 만들기 위해 어떤 매크로와 접근 권한이 필요한지 이해하고 있는가?
  • 우수성 (30점)
    • 시간 제한 (N초 후 오브젝트 제거, 교체 등)을 구현하고GetTimerManager().SetTimer(…)를 활용했는가?
    • 랜덤 스폰을 통해 매번 다른 위치/각도로 퍼즐을 생성하는 로직을 구현했는가?
    • 회전 발판, 이동 플랫폼 외에 추가적인 액터 (예: 톱니바퀴, 엘리베이터, 트랩 등)을 직접 발상해서 구현했는가?
    • 과제 범주를 넘어서는 기능 등을 시도했는가?

위와 같은 평가 기준에 전체적으로는 맞게 기능을 구현했다고 생각합니다.
하지만 우수성에 과제 범주를 넘어서는 기능에 살짝 부족함을 느낍니다.
오버랩과 머티리얼을 변경하는 등 과제의 범주를 조금 넘는 기능이지만 좀 더 많은 기능이 있을 수 있다는 생각이 들어 살짝 아쉽다는 느낌이 듭니다.

Date:     Updated:

카테고리:

태그:

TIL 카테고리 내 다른 글 보러가기

댓글남기기