PGR21.com


Date 2010/02/28 12:26:26
Name 김연우
Subject 스타2의 길찾기 AI

스타2의 유닛 이동에 있어 스타1, 워3과 구별되는 주요한 특징은 길찾기 AI가 매우 다르다는 점인거 같습니다.

개발자가 어떻게 개발하느냐에 따라 다르지만, RTS의 게임내 길찾기 AI는 맵 Level과 유닛 Level로 구분됩니다. 사람으로 치자면 '신촌가야 하니까 사당가면 되겠네~'하는 식의 전체적인 길을 잡는 것이 맵Level이라면, 지하철 내에서 이동하던 중에 앞에 사람이 있으면 비켜간다던가 하는 것이 유닛 Level이지요.

맵 Level의 길찾기에 대해서는 딱히 변화한거 같지 않습니다만, 유닛 Level에서는 전혀 다른 형태로 변화한 것 같습니다.


스타1나 워크3, 그 외 대부분의 RTS게임에서 유닛 Level의 길찾기는

1. 장애물 파악 (건물 및 유닛)
2. 목적지로 이동하기 위한 길을 그림
3. 2번에서 그린 길을 따라 이동

이상 세가지 공식을 따릅니다 .


이러한 길찾기는 매우 정확한 길찾기가 가능합니다만, 한가지 문제가 있습니다. 2번, 즉 목적지로 이동하기 위한 길을 찾는 연산이 너무 느리다는 것이지요. 사람은 대충 보고 알지만, 컴퓨터는 앞으로 갔을 경우, 뒤로 갔을 경우, 다시 앞으로 갔는데 옆으로 갔을 경우 등등을 모두 따져보고 그중에 제일 빨리목적지에 도달하는 것을 찾는식이라 그렇습니다.

그래서 여러가지 꽁수가 들어가지요. 꽁수 중에 하나가 유닛 수 제한입니다. 그러면 동시에 길을 찾아야 하는 유닛이 12기로 제한되니까요.

하지만 스타2는 다릅니다. 동시에 몇기의 유닛이든 한꺼번에 움직일 수 있지요. 확인하진 않았지만 거의 무한대였습니다. 이것이 가능해진 이유는 길찾기 연산의 비용을 거의 없애버렸기 때문입니다. 즉 스타2는 사실상 유닛 Level의 길찾기를 하지 않습니다.


유닛 level의 길찾기를 하지 않는다?
스타2의 유닛 Level길찾기는 다음과 같다고 추측됩니다.

1. 그냥 목적지를 향해 이동
2. 주변 유닛과 충돌
3. 충돌한 유닛은 옆으로 비켜준다.

즉 내가 피해간다기 보다, 상대방을 밀치는 쪽이 더 가깝습니다. 물론 홀드를 눌러주면 3번, 즉 밀쳐져도 이동하지 않지만, 대부분은 이런 방식으로 수행합니다. 마치 공중유닛과 비슷하지요.
그래서 각각의 유닛들은 '내 옆에 누가 있나'만 생각해서 옆으로 비켜주면 됩니다. 길찾기 연산이 없습니다. 그래서 수백기의 유닛이 동시에 이동해도 문제가 없습니다.



하지만 이런 식으로 이동하는 만큼 게임성이 좀 다르지요. 스타1나 워3와는 다르게 스타2의 유닛들은 굉장히 둥글둥글하게 잘 뭉칩니다. 이것도 이러한 길찾기AI의 특성 때문입니다. 또한 교전중에 뒤에서 우왕좌왕하는 유닛도 스타1보다는 다소 많은것 같습니다.
(물론 예전식의 길찾기, 즉 유닛 Level의 길찾기를 아예 안하는 것은 아닙니다만, 그 비중이 매우 작은것 같습니다.


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
허느님맙소사
10/02/28 13:20
수정 아이콘
아무래도 마인같은 리콜대비에 적합한 요소가 없으니

뭉치기 쉬운만큼 모선의 리콜이 엄청나게 크게 작용하겠네요
Summerlight
10/02/28 13:29
수정 아이콘
실제 구현은 생각하신 내용과 꽤 다르지 않을까 싶습니다. 아군 유닛 소수만 있는 경우라면 저런 길 찾기 전략이 성립할 수 있습니다만, 그렇지 않은 예외 상황이 무척 많습니다. 스타2의 깔끔한 집단 단위 이동은 저렇게 간단하게는 구현이 어렵죠. 이를테면 저글링 여럿이 m신공 쓰는 것 마냥 광전사를 빠르고 촘촘하게 둘러싸는 것은 저런 간단한 전략만으론 안 됩니다. 제 생각엔 실제로 적용된 많은 길찾기 전략 중 하나가 비켜주기 액션이라고 봐야 하지 않나 싶군요. (헌데 비켜주기로 인해 연산량이 적어지는가는 좀 의문이 듭니다.)

디테일한 레벨의 길 찾기 횟수 및 부하를 최대한 줄이면서도 그럴 듯 하게 보이는 것이 전략 게임에서 길찾기의 목표입니다만, 이를 아예 하지 않기는 어렵습니다. (이걸 안 하면 스타2의 모든 유닛들이 드래군화될겁니다 아마) 스타2는 12년 만에 나온 신작이고, 그 사이에 연산 능력이 수백배 가량 상승한 상황이기 때문에 굳이 스타1보다 길찾기 부담을 줄일 필요도 없고요.
김연우
10/02/28 13:57
수정 아이콘
비켜주기 연산이 있느냐 없느냐의 차이는 장애물 유닛이 막느냐 적으냐의 차이가 됩니다.

스타1의 장애물 유닛은 '움직이는 아군 유닛 제외한 전부'로 보입니다. 서있는 아군 유닛, 적군 유닛은 장애물로 판단하여 이동하고 이동하는 아군 유닛은 '가로막지 않을 것이다, 또는 가로막더라도 금방 비켜줄 것이다'라는 기대를 갖고 긍정적으로 길을 찾지요. 그러다가 부딪히면 움직이는 아군 유닛도 장애물로 인식하구요.

스타2의 장애물은 '홀드한 아군 유닛'과 '적군 유닛'입니다. 즉 가만히 서 있는 아군 유닛은 장애물로 인식되지 않지요. 그런데 사실 길찾기를 할때 제일 많이 영향을 끼치는 것이 '가만히 서있는 아군유닛'입니다. 교전시간을 제외한 대부분의 유닛이 그러니까요.
따라서 장애물로 인식되는 유닛은 거의 교전중인 적 유닛 밖에 없게되지요.



장애물이 적어지면 단 한번만에 정답을 찾아낼 가능성이 매우 높습니다. 그냥 알고리즘에 따라 휴리스틱하게 A*로 그으면 바로 정답이 나올테니까요. 주변에 장애물 유닛이 없다면 아예 길을 긋는 연산을 무시할 수도 있습니다.

물론 조금 더 자세히 말하면 유닛 충돌 크기에 대한 차이, 유닛 충돌을 확인하기 위한 블록의 크기, 밀어치기 자체에 대한 적용 방법 등에서 차이가 많이 나오겠지만,

게임하는 입장에서 '마치 공중유닛처럼 미끌어지는 지상 유닛'이 전투나 유닛 배치에 많은 영향을 주 때문에 거기에 집중해서 이야기 한 것입니다. 제가 설명을 잘 못했네요.
10/02/28 14:12
수정 아이콘
한번에 선택할 수 있는 유닛수 제한이 길찾기 연산과 관련이 있었군요...흥미로운 사실이네요.
부엉이
10/02/28 16:33
수정 아이콘
유닛비비기가 더힘들어진다라는 의미일까요?
10/02/28 17:59
수정 아이콘
컴퓨터공학부 다닐때에 다른 친구들 몇명이 스타만든다고 방학내내 프로그래밍 하는 모습을 보았는데, 친구들 말로는 스타에서 중요한 부분중 하나가 길찾기라고 하더군요. 위에 나온 알고리즘 A*등등은 인공지능 시간에 들었던 내용인데 여기서 들으니 감회가 새롭군요^^. 스타1과 2에서 어떠한 알고리즘을 썼는지는 모르지만, 많은 노력이 들어가 있지 않을까 하는 생각이 드는데요, 윗분들은 로봇공학 하시는 분들인가요? 너무 어려운 이야기들을 하시네요.웁쓰.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
공지 스타2 게시판 규정 : 10줄 준수 부탁 드립니다. [2] Toby 10/08/08 22717
2753 테니스) 조코비치 US 오픈 우승! [7] 사상의 지평선19891 18/09/10 19891
2752 스타2는 요즘 잠잠하는 느낌이네요04-2-2018 19:17:10.499 Zynga19957 18/02/04 19957
2751 [배그] KSV_NTT 벤츠의 APL 본선 리뷰 [3] Archer21378 17/12/13 21378
2740 철권 7 PS4판 구형 컨트롤러(PS3 스틱) 지원 + 다이렉트 게임즈 철권7 예판 개시 [22] 레이오네29076 17/05/11 29076
2739 오늘 이승원 해설이 스타2 방송에 출연합니다. [1] 엄마,아빠 사랑해요36445 11/07/02 36445
2738 오는 7월 5일 시즌2 승급마감 -> 19일 시즌3 시작 [1] 엄마,아빠 사랑해요26347 11/07/02 26347
2735 스타2 게시판이 없어진건가요? [2] 플루토아톰29363 11/06/22 29363
2734 [PvT]노관문더블 [2] nameless..27380 11/06/15 27380
2733 테란의 비정상적인 강세의 이유 [22] Optus31943 11/06/15 31943
2732 TvZ] 해탱 정석으로 쓸만한 빌드입니다. [4] 스카이바람34497 11/06/15 34497
2729 [유즈맵소개]스매쉬 크래프트 [5] 엄마,아빠 사랑해요34462 11/06/14 34462
2728 맵핵 사용자가 많나요? [16] 형님35620 11/06/13 35620
2727 슈퍼tm 4테란의 위엄, 원인이 무엇인가요??? [28] 사람two34879 11/06/13 34879
2726 [Mixing Texture Set] [16] winpark34807 11/06/12 34807
2725 군단의 심장 미리보기 [19] 김연우37468 11/06/07 37468
2724 가면 갈 수록 거신이 불필요하게 느껴집니다. [16] nameless..38573 11/06/07 38573
2723 오늘 새벽 마무리 된 MLG 콜럼버스 대회 한국선수 리플레이입니다. [4] GODFlash35556 11/06/06 35556
2722 TvZ] 밤까더블 리플레이 [6] azurespace33770 11/06/06 33770
2721 팀플레이는 랜덤만 추구합니다. (도움요청글) [13] RookieKid33577 11/06/04 33577
2720 간단한 팀플레이 팁들 (2) [8] kkong35786 11/06/03 35786
2719 스타2의 재미를 맛 보지 못하고 입대합니다. [31] Rukawa35950 11/06/01 35950
2718 군단의 심장 스크린샷 공개 [20] 빌리헤링턴38686 11/05/31 38686
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로