블리자드의 스타크래프트는 20년전 게임임을 감안해야 함.
우리가 눈으로 보는 스타크래프트 유닛들은 unit layer
마린이 쏘는 총 모션, 뮤탈리스크 미사일 등을 sprite layer로 분리를 해서 관리를 하는데
기존 프로리그에서는 중립 건물들을 sprite layer로 건물을 둠으로써 맵에 남아있게 하는 꼼수 테크닉으로 활용함.
무튼 sprite 는 맵 전체적으로 한번에 250개 이상 존재하지 못하므로 그 유명한 발키리 미사일 버그가 생긴 거였고
(발키리 미사일 1개당 1개의 sprite 를 차지하는 괴랄한 방식을 사용함)
유닛은 전체적으로 1700개 이상 맵에 동시에 존재할 수 없었음(이걸 넘는 순간 그 유명한 캔낫이 뜨고 라바가 안나오기 시작함)
의아한건 이 수치를 단순히 늘리기만 하면 해결되지 않느냐 라고 할 수 있지만 이 수치 제한으로 일어나는 수정사항이 생각보다 굉장히 많음
실제 외국 핵 제작자들은 1700개 명령 버퍼 오버플로우를 이용해서 미네랄핵을 만들기도 했었음
버로우->언버로우->버로우 .. 이 동작 과정에 딜레이가 있지만 명령을 내리면 웨이포인트처럼 명령이 버퍼에 쌓이는데 이 제한도 1700임
문제는 프로그램으로 1700번을 내리면 더 이상 버퍼에 명령을 넣을 수가 없음. 그 상황에서 드론이 가스를 짓다 취소를 누르면
가스 취소는 안되고 취소명령만 계속 들어가 산출물인 37원과 드론 1마리가 계속 나와 엄청난 핵이 생성되는거임.
이런식으로 유닛 제한을 고치면 버퍼 제한도 고치고, 버퍼 제한을 늘린 만큼 퍼포먼스도 고려를 해야되고
(커세어 200개 모아서 가운데로 계속 뭉치게 트리거로 만들고, 적 유닛을 한번에 공격하게 하면 스타크래프트가 튕길때가 많음)
하지만 해결불가능한 정도는 아니니 ^^ 기다리시면 됩니다
귀찮아서 골치아파서 안하는거라는거네 앞으로도 안고칠 확률이 높겠군
감사합니다
정보추
ㅇㅇ 블자관계자도언급함 꽤시간이걸린다고 몇달뒤엔되겟죠
캔낫빨리 패치됫으먼..ㅠㅠㅋ;;
프로리그 중립건물은 어차피 맵이 유즈맵이라서 그냥 있는거 아니냐? 깨부실수도 있는데 그게 스프라이트라고?
중립건물은 밀리로 실행해도 남아있음
소설을 써라 븅신새끼야 EUD 로 해결된지가 언젠데 EUD 좀 만질줄 알면 프로그래머냐?ㅋㅋㅋㅋㅋ
EUD 로 발키리 버그 해결해서 유튜브에 올리는 애들도 있지? 그거 보면 꼼수로 해결한거니 정상적으로, 정석적으로 해결한게 아니라서... 미사일이 깜빡깜빡 거리고 그런다. 버그 안생기게 완벽하게 고치는건 힘든가봐
나도 진짜 씹틀딱 파스칼 코드 C로 옮기는 작업 한 적 있는데, 스타도 C로 옮기면서 아예 새로 짠거 아니냐?? 근데 캔낫을 못잡았나? 기존 클라랑 호환때문에 그런가??
예전에 포팅 작업할때 버퍼같은거 그냥 존나 늘렸는데..내가 한거는 심지어 시스템에 들어가는 코드였음
병신씹공땈충새끼들