:: 게시판
:: 이전 게시판
|
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
10/02/28 13:29
실제 구현은 생각하신 내용과 꽤 다르지 않을까 싶습니다. 아군 유닛 소수만 있는 경우라면 저런 길 찾기 전략이 성립할 수 있습니다만, 그렇지 않은 예외 상황이 무척 많습니다. 스타2의 깔끔한 집단 단위 이동은 저렇게 간단하게는 구현이 어렵죠. 이를테면 저글링 여럿이 m신공 쓰는 것 마냥 광전사를 빠르고 촘촘하게 둘러싸는 것은 저런 간단한 전략만으론 안 됩니다. 제 생각엔 실제로 적용된 많은 길찾기 전략 중 하나가 비켜주기 액션이라고 봐야 하지 않나 싶군요. (헌데 비켜주기로 인해 연산량이 적어지는가는 좀 의문이 듭니다.)
디테일한 레벨의 길 찾기 횟수 및 부하를 최대한 줄이면서도 그럴 듯 하게 보이는 것이 전략 게임에서 길찾기의 목표입니다만, 이를 아예 하지 않기는 어렵습니다. (이걸 안 하면 스타2의 모든 유닛들이 드래군화될겁니다 아마) 스타2는 12년 만에 나온 신작이고, 그 사이에 연산 능력이 수백배 가량 상승한 상황이기 때문에 굳이 스타1보다 길찾기 부담을 줄일 필요도 없고요.
10/02/28 13:57
비켜주기 연산이 있느냐 없느냐의 차이는 장애물 유닛이 막느냐 적으냐의 차이가 됩니다.
스타1의 장애물 유닛은 '움직이는 아군 유닛 제외한 전부'로 보입니다. 서있는 아군 유닛, 적군 유닛은 장애물로 판단하여 이동하고 이동하는 아군 유닛은 '가로막지 않을 것이다, 또는 가로막더라도 금방 비켜줄 것이다'라는 기대를 갖고 긍정적으로 길을 찾지요. 그러다가 부딪히면 움직이는 아군 유닛도 장애물로 인식하구요. 스타2의 장애물은 '홀드한 아군 유닛'과 '적군 유닛'입니다. 즉 가만히 서 있는 아군 유닛은 장애물로 인식되지 않지요. 그런데 사실 길찾기를 할때 제일 많이 영향을 끼치는 것이 '가만히 서있는 아군유닛'입니다. 교전시간을 제외한 대부분의 유닛이 그러니까요. 따라서 장애물로 인식되는 유닛은 거의 교전중인 적 유닛 밖에 없게되지요. 장애물이 적어지면 단 한번만에 정답을 찾아낼 가능성이 매우 높습니다. 그냥 알고리즘에 따라 휴리스틱하게 A*로 그으면 바로 정답이 나올테니까요. 주변에 장애물 유닛이 없다면 아예 길을 긋는 연산을 무시할 수도 있습니다. 물론 조금 더 자세히 말하면 유닛 충돌 크기에 대한 차이, 유닛 충돌을 확인하기 위한 블록의 크기, 밀어치기 자체에 대한 적용 방법 등에서 차이가 많이 나오겠지만, 게임하는 입장에서 '마치 공중유닛처럼 미끌어지는 지상 유닛'이 전투나 유닛 배치에 많은 영향을 주 때문에 거기에 집중해서 이야기 한 것입니다. 제가 설명을 잘 못했네요.
10/02/28 17:59
컴퓨터공학부 다닐때에 다른 친구들 몇명이 스타만든다고 방학내내 프로그래밍 하는 모습을 보았는데, 친구들 말로는 스타에서 중요한 부분중 하나가 길찾기라고 하더군요. 위에 나온 알고리즘 A*등등은 인공지능 시간에 들었던 내용인데 여기서 들으니 감회가 새롭군요^^. 스타1과 2에서 어떠한 알고리즘을 썼는지는 모르지만, 많은 노력이 들어가 있지 않을까 하는 생각이 드는데요, 윗분들은 로봇공학 하시는 분들인가요? 너무 어려운 이야기들을 하시네요.웁쓰.
|