인프런 커뮤니티 질문&답변

seongu7813님의 프로필 이미지
seongu7813

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

레벨업

경험치를 빼앗아 레벨 다운을 시켰을 경우

작성

·

125

·

수정됨

0

포트폴리오를 만드는 과정 중 UI 작업에서 자료를 찾다가 해당 강의를 수강하게 되었습니다, 이런 자기만의 프레임 워크를 만드는 강의 정말 좋다고 생각하고 설명도 이해가 잘 되게 알려주셔서 잘 듣고 있습니다!!

해당 강의 중 27:30에 level 변수에 1을 넣어 경험치를 빼앗았을 경우 레벨 다운도 가능하다고 말씀 해 주셨는데 해당 작업을 수행하려면 추가로 로직을 더 작성해야 하는 거죠??

추가로 level이 3일 때 레벨업을 하게 되면 if문에 걸러져서 break가 나는 로직인데 int level = 1이 계속 들어오면 레벨 3에서도 레벨업이 되지 않나요..??

위와 반대로 level = _level일 때 레벨 다운을 하고 싶을 경우 만렙 기준에서는 레벨 다운이 안되는 현상이 있을 거라고 생각합니다..!

이러한 조건에 의해 레벨 다운에 있어 추가 작업이 필요하고 level = 1이 됐을 때 만렙을 넘겨 레벨업을 할 수 있다고 생각하는데 맞나요??

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

seongu7813님, 강의 수강 중에 궁금증이 생겨 문의주셨군요!

말씀하신 내용을 바탕으로, 경험치를 감소시켜 레벨 다운을 구현하거나, 특정 조건에서 레벨업 또는 레벨 다운의 로직을 추가로 작성하는 것에 대해 설명해 드리겠습니다.

  1. 경험치 감소에 따른 레벨 다운:

    • 경험치를 감소시켜 실제 게임 내 캐릭터의 레벨을 다운시키기 위해서는 레벨 감소 조건을 확인할 수 있는 로직을 추가로 구현해야 합니다. 이는 단순히 경험치만 줄이는 것 외에, 해당 경험치에 따른 레벨 조정이 필요함을 의미합니다.
  2. 레벨업 시 조건 분기:

    • int level = 1이 설정되었을 때 무한 레벨업을 방지하기 위해서는, 레벨업 조건을 검사하는 로직에 현재 레벨 대비 경험치가 일정 이상일 때만 레벨업을 할 수 있게 로직을 구성해야 합니다. 즉, 레벨업 조건을 만족하지 않으면 레벨업이 발생하지 않도록 제어해야 합니다.
  3. 레벨 다운 시의 로직:

    • 레벨 다운 로직을 구현할 때, 최대 레벨(만렙)에서 레벨 다운을 시도할 경우에 대한 처리도 고려해야 합니다. 예를 들어, 레벨이 최대치에 도달한 상태에서는 특정 조건이 만족되어야만 레벨 다운이 일어나게 구현할 수 있습니다. 이러한 처리는 게임의 설계 의도에 따라 달라질 수 있습니다.

결론적으로, 레벨 다운이나 조건에 따른 레벨업을 구현하기 위해서는 추가적인 로직을 고민하고 적용해야 하며, 이를 통해 게임의 다양한 상황에 대응할 수 있는 유연한 시스템을 만드는 것이 중요합니다.

이러한 로직을 구현하는 과정에서 더 궁금한 사항이 있으시면 언제든 문의해주세요. 게임 프로그래밍 학습을 통해 멋진 포트폴리오를 완성하시길 바랍니다!

seongu7813님의 프로필 이미지
seongu7813

작성한 질문수

질문하기