데이터분석 6기/본캠프

[TIL] 2025-03-14 슈퍼마리오 스피드 런 프로젝트

seyeon1130 2025. 3. 14. 20:47

코딩 챌린지

 

1등이 아니어서 아쉽다라고 생각했는데 알고보니 선착순 2등이었다!! 정답은 세 개 다 맞고 ㅎㅎ

 

진로 탐색

난 뭐해먹고 살지....

 

현재 내 상황은..

대학시절 캡스톤 프로젝트로 수화 데이터를 전처리하고 딥러닝 학습까지 시켰었다. 

 

그래서 인공지능 쪽으로 가려고 했으나 현실의 벽에 부딪혔다. -> 이제 뭐하지?

 

나 근데 데이터 다루는 거 좀 재밌었어! SQLD 자격증이라도 따볼까? -> 취득 완료

 

근데 SQLD만 있다고 취업이 가능한가..? -> 안됨

 

안되겠다 부트캠프 하자 -> 데이터분석 캠프 진행중

 

근데 어디 분야 데이터 분석가가 되지..? -> 결정 안됨!

 


 

 

사실 SQLD를 따고나서 게임 개발자를 해볼까 하고 게임 개발을 했었다. 

게임 개발도 재밌었다. 하지만... 평생 게임 개발 하라고 하면 못할 것 같은,,,

 

그러면 게임 데이터 분석가가 되면 되지않나? 라는 생각이 들었는데 사실 나는 게임을 다양하게 안한다.

 

내가 하는 단 두가지 게임 

1. 테일즈런너

2. 쿠키런

 

...이러는데 게임 분야 갈 수 있나..?

하지만 나는 게임을 한 번 하면 엄청 오래 한다. 테일즈런너는 초딩 때부터, 쿠키런은 중딩 때부터 했으니까 오래 했지

 

게임 회사를 가려면 무조건 저 두 곳을 가야한다는 생각이 들었다.

 

그러던 중 발견한 채용 공고!  쿠키런 오븐브레이크 데이터 분석가 채용 공고이다.

https://careers.devsisters.com/o/141067

 

[쿠키런: 오븐브레이크 / 쿠키런: 모험의 탑] 데이터분석가

데브시스터즈의 공고를 확인해 보세요.

careers.devsisters.com

 

근데 아직 여길 넣기엔 내 실력이 너어어어어어어무 부족한디..

프로젝트 경험도 없고,, 근데 캠프에서 팀원들이랑 하는 프로젝트를 게임 하자고 하면 싫어할 것 같은데..

 

라고 할뻔? 혼자 하면 되지 ㅋ

 

그래서 시작된 나홀로 게임 데이터 분석 프로젝트!!

 

주제 선정

 

초보 분석가가 다루기에 적당한 데이터를 찾았다! 

게다가 내가 좋아하는 달리기 게임!!! ( 쿠키런, 테런 모두 달리기 게임;; 실제로는 달리기 못하면서..)

Super Mario 64 Speedruns 🌟🪠

 

Super Mario 64 Speedruns 🌟🪠

A catalog of the top 500 Super Mario 64 speedruns for each speedrun category

www.kaggle.com

 

 

데이터셋은 총 네가지로 star 0 ,1, 16, 70, 120으로 이루어져있다.

  • 120 스타(120 Star): 게임 내 모든 120개의 파워 스타를 수집하여 게임을 완료하는 카테고리
  • 70 스타(70 Star): 70개의 파워 스타를 수집하여 게임을 완료하는 카테고리
  • 16 스타(16 Star): 16개의 파워 스타만을 수집하여 게임을 완료하는 카테고리로, 게임 내의 글리치나 버그를 활용하여 최소한의 스타로 게임을 완료
  • 0 스타(0 Star): 파워 스타를 전혀 수집하지 않고 게임을 완료하는 카테고리로, 고도의 기술과 글리치 활용이 요구됨.

 

가설 설정

 

  • 가설: "플레이어의 출신 국가에 따라 선호하는 게임 스타일이나 전략이 다를 수 있다."
  • 설명: 국가별 문화적 배경이나 게임 접근성에 따라 플레이어들의 게임 플레이 스타일이나 선호도가 다를 수 있다. 이를 분석하여 지역별 맞춤형 게임 콘텐츠나 마케팅 전략을 개발하는 데 도움이 될 수 있다.

1. 국가별로 스피드런을 많이 하는지 분석 가능

  • player_country(국가)별로 스피드런 제출 횟수를 비교하면,
    → 어떤 나라에서 스피드런 문화가 활발한지 알 수 있음
    → 특정 지역에서 인기 있는 게임/플레이 스타일을 추측할 수 있음.

2. 국가별 인기 플랫폼 분석

  • platform(플랫폼)을 player_country(국가) 기준으로 그룹화하면?
    → 각 나라에서 어떤 플랫폼이 더 많이 사용되는지 볼 수 있음.
    → 예를 들어, 일본은 닌텐도 중심, 미국은 PC 중심일 가능성이 있음.

 

컬럼 설명

 

  • id: 스피드런의 고유 ID (Speedrun.com 기준)
  • place: 스피드런 리더보드 순위 (Speedrun.com 기준)
  • speedrun_link: 해당 스피드런의 Speedrun.com 링크
  • submitted_date: 스피드런이 제출된 날짜
  • primary_time_seconds: 스피드런 기록(주요 기록), 초 단위
  • real_time_seconds: 실제 플레이 시간(현실 세계에서 걸린 시간), 초 단위
  • player_id: 스피드런을 제출한 플레이어의 고유 ID
  • player_name: 플레이어의 게이머태그(사용자 이름)
  • player_country: 플레이어의 국가
  • platform: 스피드런이 실행된 플랫폼 (예: PC, 콘솔 등)
  • verified: 해당 스피드런이 검증되었는지 여부 (True/False)

데이터 기본 정보 보기

import pandas as pd
mario_0 = pd.read_csv('./슈퍼마리오/data_0 Star.csv')
mario_1 =pd.read_csv('./슈퍼마리오/data_1 Star.csv')
mario_16 =pd.read_csv('./슈퍼마리오/data_16 Star.csv')
mario_70 =pd.read_csv('./슈퍼마리오/data_70 Star.csv')
mario_120 =pd.read_csv('./슈퍼마리오/data_120 Star.csv')
mario_0.info()
mario_0.head()

 

 

 

null 값인 컬럼도 있고 submitted_date는 dattime 형식으로 바꿔야할 것 같다.

 

전처리 : 중복 확인

다행히 중복 행은 없었다.

 

전처리 : null 값 확인

 

흠....?! 결측치가 꽤 있는데 이해가 안가는 결측치들이다. 

id는 있는데 제출일은 없다니..?

좀 더 알아봐야할 것 같다.

 

국가별로 하는데 국가가 없는게 31개???????

국가 미상으로 써야할 것 같다.. 삭제하면 너무 손실이 클 것 같으니!