Halite는 오픈 소스 인공 지능 프로그래밍 경연장으로, 사용자는 자신이 선택한 코딩 언어를 사용하여 봇을 움직이는 코드를 작성하여 2차원 가상보드 상에서 다른 사용자와 겨루게 된다.
- 홈페이지 : https://halite.io/
- 지원 OS : MacOS, Windows, Linux-x64
- 지원 언어 : C++, CSharp, Clojure, Dart, Elixir, Go, Haskell, Java, JavaScript, Julia, Kotlin, ML-StarterBot-Python, OCaml, PHP, Python3, Ruby, Rust, Scala, Swift
게임 규칙
- 게임의 개략적인 규칙을 알아보면, 플레이어는 일정량의 공격력과 방어력을 가진 함선(봇)을 움직이게 되고, 이 함선을 움직여 행성에 도킹시켜 함선을 생산하게 되는데, 가장 많은 함선을 생산하거나 || 유일한 생존자가 되거나 || 모든 행성을 점령하면 승리하게 된다.
- 다음 링크에서 샘플 게임을 볼 수 있다.
- https://halite.io/play/?game_id=1658857&replay_class=0&replay_name=replay-20171016-183304%2B0000--998929535-240-160-1508178764
계정 생성
- Halite를 플레이하기 위해서는 github 계정이 필요하다. 계정이 없다면 Halite 홈페이지에서 Sign up/Sign in 버튼을 누른 후, 계정을 생성한다. 주의할 점은 Username에 입력하는 내용이 실제로 게임내에서 자신을 나타내는데 사용되며 나중에 편집할 수 없다!
스타터킷 다운로드
- 스타터킷에는 플레이어가 수정해서 사용할 수 있도록 봇에 대한 간단한 내용이 구현되어 있다.
- 다음 링크에서 스타터킷을 다운로드할 수 있다.
- https://halite.io/learn-programming-challenge/downloads-and-starter-kits/
스타터킷 편집
- 스타터킷의 압축을 풀고 봇에 대한 소스 파일을 편집한다. 파이썬의 경우는 MyBot.py 파일을 편집하면 된다. 물론 수정 안하고 그대로 사용해도 된다!
오프라인 테스트
- 수정한 스타터킷을 업로드하기 전에 오프라인에서 테스트해볼 수 있다. 윈도우의 경우는 run_game.bat를, 유닉스 계열의 경우는 run_game.sh를 실행하면 된다.
스타터킷 업로드
- 스타터킷 폴더에서, 봇에 대한 소스 파일과 hlt 폴더 두가지를 압축 파일 최상위에 오도록 zip 압축을 한다.
- Halite 홈페이지 상단의 Submit a bot을 누른 뒤, 왼쪽에 Select a zip 버튼을 눌러 스타터킷을 업로드할 수 있다.
- 업로드한 후, 소스 코드가 컴파일 되는데 일정 시간이 소요되며, 컴파일이 완료되면, 주기적으로 랜덤한 상대와 자동적으로 대결이 이루어지게 된다.
전적 확인
- 홈페이지 상단에서 플레이어 아이콘을 누르고, View Profile을 선택하면 그동안의 대결 히스토리를 확인할 수 있다. 시간 표시 부분을 누르면 그래픽과 함께 확인할 수 있다.
리플레이 파일 확인
- Halite 홈페이지 상단의 Submit a bot을 누른 뒤, 왼쪽에 Select file 버튼을 눌러 오프라인 테스트시 생성된 리플레이 파일(.hlt)을 올려 그래픽과 함께 확인할 수 있다.
참고 자료
- 시작 가이드 원문 : https://halite.io/learn-programming-challenge/
- 게임 기본 규칙 원문: https://halite.io/learn-programming-challenge/basic-game-rules/
- 봇 커스터마이즈 가이드 : https://halite.io/learn-programming-challenge/downloads-and-starter-kits/customize-bot
'1. 연구 모듈 > 비분류' 카테고리의 다른 글
초간단 Maven 사용 방법 (No IDE, Java) (0) | 2018.02.08 |
---|---|
[북마크] 또다른 인공지능 프로그래밍 경연 사이트 (0) | 2018.01.30 |
Pandoc을 사용하여 Markdown -> HTML 변환하기 (0) | 2017.12.18 |
[React Native] react-native init시 Unexpected token ... 에러가 발생하는 경우 (0) | 2017.08.06 |
[겉핥기 프로젝트] React Native 설치 및 샘플 코드 실행 (안드로이드) (0) | 2017.08.03 |