FuncAnimation, scatter, kdeplot

chaechae·2024년 2월 7일
0
post-thumbnail

지난번에 이어서...

해당 소환사의 라인전(15분)동안의 갱을 받아 데스한 횟수를 시각화 해보았을때, 상대적으로 10분대에 많은것을 볼 수 있었습니다.

뭐가 궁금할까?

그렇다면 해당 시간대에 JUNGLE은 어디에 있는걸까요? 정글의 이동경로를 간단하게 시각화 하고 시간대에 따라 정글의 위치를 어떻게 예측하면 좋을지 데이터로 피드백을 드려보면 재밌을것 같다는 생각이 들었습니다. 롤을 자주 하시는분이라면 아마 당연한 결과 일수도 있는데요😂 (하지만 우왁굳님의 티어는 "아이언"이라구요!!)

⚙️ 전처리한 데이터

matchId (30경기)별로 teamPositionjungle 에 해당하는 // 그리고 1분 간격으로 position(좌표)가 남겨져 있는 데이터 입니다. 대략 아래와 같습니다.

뭘할거냐!?

예전에 포스팅 했던 image plot 을 애니메이션화 시켜서 소환사의 이동경로를 표시한것처럼, 이번에는 scatter 와 kdeplot 을 이용해서 JUNGLE 의 동선을 시각적으로 표현해보려고 합니다😁!! 결과부터 보면 아래와같습니다.

FuncAnimation

code

먼저, Animaition 부분은 제외하고 scatter 와 kdeplot 에 해당하는부분입니다.

def position(df):
    x_data = df['position'].apply(lambda pos: pos['x'])
    y_data = df['position'].apply(lambda pos: pos['y'])

    # 그래프 그리기
    fig, ax = plt.subplots(figsize=(6, 6))
    ax.set_xlim(0, 15000)
    ax.set_ylim(0, 15000)
    plt.axis('off')

    # 지도 이미지 추가
    map_path = "/content/map.jpg"
    img = Image.open(map_path)
    ax.imshow(img, extent=[0, 15000, 0, 15000])

    # Seaborn의 kdeplot으로 음영 추가
    sns.kdeplot(x=x_data, y=y_data, shade=True, cmap='Purples', ax=ax, alpha=0.2)

    # 산점도로 표시 
    # red, blue, team 진영이 다르기 때문에 plot 색을 구분해주었습니다.
    colors = np.where(df['teamId'] == 100, '#459ae5', '#ed4141')
    sc = ax.scatter(x_data, y_data, c=colors, alpha=0.7, s=30, edgecolors='none')

    plt.show()


position(df)

게임 초기

먼저, timestamp 가 2~3분대일때, red,blue 팀별 정글의 위치를 보겠습니다!

해당 시간대에 본격적으로 메인 정글이 스폰되기 때문에 역시, BLUE팀의 경우 레드골렘지역, RED팀의 경우 블루골렘 지역에 뭉쳐있는것을 볼 수 있었습니다.

모든 경기가 그렇진 않지만, BLUE 팀이 초기 인베이드에 가는 경우가 많은것 같아요ㅋㅋ 비록 30경기 이지만 RED 팀 진영에 보라색 음영이 상대적으로 진한것을 볼 수 있었습니다.

3분대, 첫 정글을 먹고 바로 다음 으로 넘어가는것을 볼 수 있습니다. 챔피언 특성마다 다르겠지만 이때 부터 카정을 하거나, 상대정글과의 접점이 생기기 시작합니다.

4분대,
아무래도 정글러 대부분이 바텀에서 탑 방향으로 정글을 운영하다보니, 본인 정글을 돌고 나면 탑진영~공통 정글지역에 서식하는 바위게 싸움 혹은 TOP 진영 으로부터 전투가 주로 시작됩니다. 실제로 위쪽에 많이 분포되고 있는것을 볼 수 있네요 ㅋㅋ

그렇다면, 슬슬 4분대 구간부터 상대적으로 가까이 있는 '미드,탑' 라인의 경우 갱에 대비 하도록 와드를박고 언제라도 전투에 합류할 수 있도록 준비하면 좋습니다.

10분 이후로 가보겠습니다

정글의 경우 시간이 지날 수록 유동적으로 움직이는 포지션이기 때문에 아쉽게도 좌표를 한번에 집계하다보면 이렇게 중구난방이 됩니다.😓 또 데이터가 1분간격으로 남기때문에 한계점이 있습니다.ㅠㅠ

하지만 역시 위의 gif 파일을 참고해서.. 6~12분까지의 좌표를 순서대로 보면 전령 ~ 드래곤 정글 사이를 대부분 이동하기 때문에 그 사이에 있는 '미드' 라이너(우왁굳님의 포지션)의 경우 상대적으로 더 맵리딩을 잘해야할 필요가 있는것 같습니다🥲.

당연히, 해당 시간대에 무조건 해당 정글러가 이 위치에 있다고 볼 수는 없습니다ㅎㅎ 또한, 정글러들의 포지션 좌표만 참고 했다보니 이거로는 피드백을 드리기위한 단서들이 부족한데요. 더 다양한 로그를 봐야할 것 같습니다ㅎ

🔎급 결론 !?

결론은!

  • 전령, 드래곤 진영 사이에 있는 미드의 경우 특히 맵리딩을 항상 잘해야한다!!
  • 공용정글 지역과 가장 많이 연결되어있는 라인이기 때문에 어느정도 합류할 각을 보고 있어야합니다.
  • 와드를 잘박자!!! 몬스터 킬로그가 뜨면 항상 경계합시다!

추가과제?

제어와드차이

  • 우왁굳님의 제어와드 설치 개수는 평균 1개가 안된다.
  • 하지만 그래프를 보면 와드가 사라지거나 박지 않아서 생긴것으로 의심되는 데스가 조금 있는데..
  • 정말 해당 시간대에 적이 제어와드를 구매하여 wardkill 을 했는지 여부를 확인해보자

좀더 디테일한 정글로그를 볼 수 없을까?

  • 1분 간격으로 남겨있는 로그에는 xp, cs, junglecs, position, gold 등에 대한 로그가 있다.
  • 아쉽게도 어떤 정글을 먹었는지 디테일한 몬스터 정보는 나오지 않는다.(바론,드래곤,전령같은 에픽 몬스터만 나온다.)
profile
다양한 컨텐츠가 있는 곳을 좋아합니다. 시리즈를 참고하시면 편하게 글을 보실 수 있습니다🫠

0개의 댓글