DGSW_StarcraftClub_CivilWar 14

스타크래프트 봇 동아리, 내전용 봇 개발 (#15)

아쉽게도 스타봇 동아리가 현재 위태위태하므로 내전은 힘들 것으로 보아 현재 기본 스타봇과 붙혀보은 영상을 올리는 것으로 마무리될 것 같습니다. 하지만 스타봇 동아리를 최대한 살려보고자 스타봇 베이스가 되는 코드들을 본인이 직접 뜯어고쳐보고자한다. 명절동안 스타봇 베이스를 직접 개발하는 일지를 쓰고자한다. (영상의 섬네일화면 색 반전은 일종의 오류이므로 신경쓰지않으셔도 됩니다.)

스타봇 2021.09.13

스타크래프트 봇 동아리, 내전용 봇 개발 (#14)

이번 글은 내전용 봇 개발의 마지막 글이다. 구현하고자하는 기능은 반드시 필요한 일꾼과 인구수를 계속 보충하는 기능을 구현하고자한다. // 일꾼 계속 추가 생산 public void executeWorkerTraining() { // InitialBuildOrder 진행중에는 아무것도 하지 않습니다 if (!isInitialBuildOrderFinished) { return; } if (MyBotModule.Broodwar.self().minerals() >= 50) { // workerCount = 현재 일꾼 수 + 생산중인 일꾼 수 int workerCount = MyBotModule.Broodwar.self().allUnitCount(InformationManager.Instance().getWor..

스타봇 2021.07.25

스타크래프트 봇 동아리, 내전용 봇 개발 (#13)

스타크래프트의 자원 줄을 계속 늘려주는 것은 병력을 쌓는 것 다음으로 중요하다는 것은 누구나 아는 사실이다. 그래서 내전용 봇에게 영역 확장을 하는 코드를 넣고자 한다. 먼저 종족이 저그인만큼 해처리를 늘리는 데에는 두 가지 이유가 있다. 1) 보다 많은 라바를 채우기 위해서 2) 자원 줄 3) 인구수 확보 먼저 영역 확장에 대해서부터 작성하도록하겠다. ※다른 종족에 비해 앞마당을 빨리 먹는 저그이기에 앞마당을 확장은 영역확장에 포함하지않았습니다. 유의해주세요. 물론 타 종족에서도 사용할 수 있게 코드상으로는 앞마당 확장은 영역확장에 포함하였습니다. 영역확장은 시간이 조금 지난 후, 중반쯤되어있을 때부터 확장을 하는 일반적이다. 또, 자원이 어느정도 확보가 되어있어야한다. 필자는 본진으로부터 가장 가깝지..

스타봇 2021.07.24

스타크래프트 봇 동아리, 내전용 봇 개발 (#12) | 디파일러 파트 (2)

파트1을 확인하고자하면 아래의 링크를 참고하시길 바란다. 디파일러 파트 (1) 파트1과 동일하게 영상을 시작으로 개선된 코드를 작성하겠다. 파트1에 작성되었던 코드 중 다크스웜은 문제가 아니었음을 파악하였다. 컨슘 파트가 문제였다. 컨슘파트도 메소드로 나누었다. private Unit nearestMyUnit(Unit unit, UnitType unitType) { double minDist = Double.MAX_VALUE; Unit nearestType = null; for (Unit findType : MyBotModule.Broodwar.self().getUnits()) { if (findType.getType() == unitType) { if (unit.getDistance(findType) ..

스타봇 2021.07.23

스타크래프트 봇 동아리, 내전용 봇 개발 (#11) | 디파일러 파트 (1)

퀸 다음으로 컨트롤이 어려운 유닛이자, 저그의 심장이라고도 불리우는 유닛, '디파일러'. 디파일러는 테란전에서 빠질 수 없는 유닛입니다. 퀸과 마찬가지로 공격은 따로 없으나, 3가지의 특수한 능력이 있습니다. '다크스웜', '플레이그', '컨슘'으로 순서대로 '다크스웜'은 저그의 연막탄이라고 할 수 있다. 생성된 구름안에 있는 유닛들은 원거리 공격의 타점을 빗나가게 한다. 즉, 타점을 빗나가게 하는 무시하는 것은 아니다. 타점은 본 유닛의 앞쪽으로 타점이 변경되기에 뒤쪽에 있는 유닛을 겨냥하면 타점 변경으로 앞쪽에 있는 유닛이 맞게된다. 시즈탱크의 공격을 무력화시키는 데 있어 좋다. '플레이그'는 지속형 피해를 주는 능력 중 하나이나, 스타크래프트 내에서 가장 강력한 능력 중 하나이다. 퀸의 브루들링은 ..

스타봇 2021.07.22

스타크래프트 봇 동아리, 내전용 봇 개발 (#10)

사용하기 매우 까다롭지만 사용만 잘하면 이득을 최대한 취할 수 있는 유닛 '퀸' 퀸에게 4가지의 특별한 능력인 '패러사이트', '브루들링 스폰', '인스네어', '인페스트 커맨드 센터'가 있다. 패러사이트는 적군에게 기생충을 심어 해당 적군의 시야를 엿 볼 수 있다. 패러사이트를 제거하는 방법은 해당 적군이 죽거나 메딕의 리스토레이션으로만 제거가 가능하다. 브루들링은 모든 적군을 즉사를 시킬 수 있는 강력한 능력이다. 적군 1기를 죽여 공생충(브루들링)을 2기 생성한다. 인스네어는 적군의 발을 묶는 데에 매우 효과적이다. 광역으로 적군의 이동속도를 50%만큼 감소시킨다. 인페스트 커맨드 센터는 파손되가는 커맨드 센터에 퀸이 들어가 커맨드 센터를 저그로 감염시킬 수 있는 능력이다. 위 4가지 능력들 중 저..

스타봇 2021.07.21

스타크래프트 봇 동아리, 내전용 봇 개발 (#9)

또다른 정찰기로서 써먹으면 좋은 저그 유닛 '스커지' ※ 스커지, 스컬지, 스콜지 등등으로 많이 불리지만 저자는 스커지라고 작성하겠다. 스커지는 재빠르게 적에게 붙어 자폭하는 공중에서 잘못 만나면 공중 유닛하나 잃어버릴 수 있지만 우리는 스커지의 속도를 보고 나쁘지않음을 깨닫고 정찰로서 사용하도록한다. 물론 시야가 짧지만 만일 맵이 섬맵일 수 있기에 정찰을 하도록 개발하였다. 저글링과 코드가 흡사하기에 이코드로 저글링 정찰의 코드를 대체하도록한다. 하지만 다른 점이 있다면 모든 스컬지들을 정찰하도록한다. 굳이 한 마리만 보낼 필요는 없다고 판단. 물론 추후 정찰을 해제해야할 수도 있기에 코드는 추후 수정될 가능성이 높다. static int count = 0; static ArrayList makeNew..

스타봇 2021.07.20