메이플키우기 개발자의 1000억 실수

메이플키우기 개발자의 1000억 실수

황제누자 0 3
메이플 수치 확률 예시
참고로 전 메이플도 메이플키우기도 안하는 개발자 취준생임
일단 공개한 코드흐름보면,1. abilityOptionDatas에 어빌리티 옵션 종류별로 수치를 다 가져오는 거 같음
2. abilityOptionData에 이제 어빌리티 옵션 종류 중 최대 hp, 크리티컬 확률 이런걸 랜덤으로 가져옴
3. abilityOptionData에서 이제 최대 hp증가가 나오면 위 사진에 보이는 수치들을 등급별로 다 가져옴(저 코드만 보면 여기까지 대충 이런 흐름임)
4. optionStepMax에다가 방금 가져온 최대 hp증가 관련 확률 인덱스값 을 가져옴(최대 인덱스 값을 가져오고 지금 최대 hp증가라면 10%가 있는 인덱스)
5. 그리고 이제 여기서 저 띨빵한 개발자가 NextIntExt에다가 optionStepMax만 그대로 갖다박음(내가 봤을 때는 사용자마다 이제 확률이 다 다른거 같고 계속 시도하면 최대수치 나올 수 있게 점점 증가시켜주는 듯??? 메이플안해서 모름)
어쨋든,NextIntExt()를 어떻게 짠지는 모르겠지만 위 사진을 예시로 보면, 확률이 20->20->20->15->15->10 배열이면 0->1->2->3->4->5 이렇게 인덱스가 차례대로 부여되는데 이제 이 개발자는 최대수치가 나오는 확률이 절대 안나오는 범위의 수를 박음(저 코드상 최대 인덱수가 5임)
보통 범위로 난수(랜덤 수) 가져오는거는 range(0, 10) 이면 0~9까지만 나옴(int는 정수만)이제 여기서 오류가 발생함 10%확률로 나오는 최대 수치 즉, 최대 hp 증가면 150, 300, 450, 600이게 어떤 등급에서도 절대 안나옴10% 인덱스 쪽으로 절대 안가니까
그래서 +1해서 최대수치들 나오게 range(0, 6)해서 0 1 2 3 4 5 다 나오게 해준 거 같음쉽게 말하자면 계단없는 20층 아파트 지어놓고 엘리베이터 19층까지만 갈 수 있게 해놓은거 20층갈 수 있게 추가한 거임
실제로 어떤 유저가 몇백번해도 최대수치인 150, 300, 450, 600이 각 등급에서 한번도 안 떴다고 함근데 잠수함패치 후 몇번만에 최대 나옴 ㄷㄷ
이런 코드문제는 업무 프로세스가 난장판일듯사실 코드짜다보면 실수는 하게되지만 실제 서비스면 테스트를 수도없이 하는데 그게 안된듯보통 +1해서 배열 다 돌게 하는데 이건 개발자 실수는 맞아보임 이렇게 코드까지 오픈하고 전액환불 처음이잖아 한잔해~

잠수함패치는 오바긴 했다 ㅇㅈ
사실 이것도 내 추측일 뿐저 함수들 내부 보기 전까진 아무도 모름반박시 님 말이 다 맞음
웃자 재도전 추천 너무 짜다ㅜㅜㅜ반대는 현질 후 계정 판 놈들로 간주(환불 기준 애매해지니까 ㅋㅋㅋ 지금 빡치긴할듯ㅋㅋㅋㅋ)
요약
1. 개발자가 잠자면서 하다가 +1깜빡함(최대값 접근 못했음ㅋㅋㅋ)
2. 테스트 제대로 안돌렸다거나 업무 프로세스 문제(이런 실수는 이미 걸렀어야하는데 이때까지 아무도 모른게 신기함)
3. 그래도 책임지고 이번엔 전액환불하자나 한잔해~
4. 전액환불하면 천억대 ㄷㄷ
0 Comments
카테고리
랭킹TOP10
접속자통계표
  • 최대 방문자 8,293 명
  • 전체 방문자 1,611,263 명
  • 전체 게시물 109,261 개
  • 전체 댓글수 750 개
  • 전체 회원수 89,963 명
Facebook Twitter GooglePlus KakaoStory NaverBand