스타봇 30

스타크래프트 봇 테란편 (최종편)

이제 스타크래프트 봇은 해당 편을 마지막으로 막을 내립니다.... 이때까지 스타크래프트 봇을 봐주신 많은 분들께 감사를 표하며 스타크래프트 봇 글을 끝내도록 하겠습니다. 하지만 이번편은 끝내고 끝내야지... 라는 마음으로 글을 작성해봅니다. 프로토스 편에 작성하였던 ExampleUtil를 사용하였으며 빌드는 기존에는 초반러쉬로 게임을 끝내버렸다면 마지막편이고 테란편인 만큼 고급 유닛인 벌처를 사용하도록 하였습니다. 먼저 개발한 클래스는 다음과 같습니다. Main, ExampleBot, ExampleUtil, Vulture, Worker Main은 늘 동일하니 건너뛰도록 하겠습니다. public class Main { public static void main(String[] args) { try { ne..

스타크래프트 봇 예제 저그편

교내 해커톤이 끝나 일주일만에 다시 돌아왔습니다. 먼저 저그편을 적기 전에 시험이에요. 시험이에요 제목 그대로입니다. 12월 1일자부터 기말고사가 저를 기다리고 있기에 지금 하고 있습니다. 기말은 12월 13일 ~ 12월 15일까지인데 수학, DB 제외해서는 다 할 만한데 그 2개가 제일 버거운 것 같습니 workshop-6349.tistory.com ..에 작성하였던 위 리스트에서 스타크래프트 봇 Whiskey를 개발하려고 했으나 오늘 터졌습니다. 오류 수천 라인을 보고선 바로 때려쳤습니다. 그래서 도저히 bwapi를 못 해먹을 것 같아 그나마 했을 때 재미가 있었고 제가 했을 때 어느정도 성과가 나왔던 압생트 봇 재개로 merge 시켜버릴 예정입니다. (#code는 예정대로 진행될 예정입니다.) 본론..

스타크래프트 봇 예제 프로토스편

지난 번에는 튜토리얼을 진행했습니다. 이제부터는 각 종족별 예제 봇 하나씩 개발할 것입니다. 먼저 어떤 빌드를 어떻게 사용할 것인지 정합니다. 저같은 경우에는 최소한 봇은 이길 수 있도록 하기 위해 2게이트 질럿 러쉬를 하되, 만일 막힐 경우 생존한 질럿들을 다시 귀환한 뒤 드라군 및 질럿 다시 모아 공격할 수 있도록 하였습니다. 먼저 Main, ExampleBot, ExampleUtil 이 3개의 클래스로 개발을 하였습니다. Main은 아래와 같이 ExampleBot에 있는 run 메소드만 사용하도록 하였습니다. public static void main(String[] args) { try { new ExampleBot().run(); } catch (Exception e) { e.printStack..

스타크래프트 봇 강의 튜토리얼 2편

지난 번에 갑자기 마무리가 되어 이어서 설명 후, 튜토리얼 코드 테스트 해보는 방향으로 글을 마무리하겠습니다. 먼저 위 부분은 한 번이라도 게임을 진행하면서 탐험, 즉 시야를 얻은 적이 있는 지 여부를 확인하는 메소드입니다. game에 isExplored(int x, int y) 그리고 이 메소드는 현재 시야 내에 들어오는 지 확인하는 메소드입니다. hasPowered는 해당 위치가 파워드(powered) 즉, 전력이 공급되고 있는 지 파악하는 메소드입니다. 프로토스 건물과 관련된 메소드입니다. isValidTile 메소드는 이미 game에 있는 메소드이긴 하나 따로 만든다고 하여 문제되지않고, 그냥 어떤 방식으로 메소드가 작동하는 지 파악하고자 작성한 메소드입니다.' isBuildable 메소드는 해당..

스타크래프트 봇 강의 튜토리얼

지난 번에는 준비 과정을 끝냈습니다. 이제 본격적으로 개발 강의를 시작하겠습니다. 먼저 튜토리얼을 살짝 하도록 하겠습니다. 모든 API들이 다 그러하겠지만, Jbwapi 같은 경우에는 더더욱 다루기 어려운 라이브러리 중 하나이기 때문에 어느정도 틀을 잡고 시작하기 위해 튜토리얼을 진행하도록 하겠습니다. 먼저 크게 3가지를 알고 있으시면 됩니다. 1) Jbwapi는 스타크래프트에서 발생하는 이벤트를 활용하여 전/후 처리가 작동하는 메커니즘을 가지고 있습니다. 한 마디로, 이벤트 없이는 작동하지 않는다라고 요약할 수 있고, 이 말은 즉슨 이벤트를 받아들이는 메소드 내에 코드를 작성해야한다고 말할 수 있습니다. 조금 말인 난해할 수 있기에 다시 조금 쉽게 설명하자면 아래 그림과 같습니다. 스타크래프트에서 이벤..

스타크래프트 봇 강의 준비편

시험이 끝났기에 예정대로 스타봇 개발을 약간 강의 방식으로 글을 쓰도록 하겠습니다. 기존에 있던 것들은 전부 보호 처리하였습니다. 혹시라도 읽고 싶은 분들이 계신다면 아래에 전부 있으니, 참고해주시길 바랍니다. 더보기 https://workshop-6349.tistory.com/entry/스타크래프트-봇-동아리-봇-모듈-만들기-0- 41MDA4MT https://workshop-6349.tistory.com/entry/스타크래프트-봇-동아리-봇-모듈-만들기-1- 4zMTQyND https://workshop-6349.tistory.com/entry/스타크래프트-봇-동아리-봇-모듈-만들기-2- 4zODY1Nj https://workshop-6349.tistory.com/entry/스타크래프트-봇-만들기-1..