Merupakan project dengan menggunakan bahasa pemrograman Java untuk membuat bot permainan Overdrive dalam pertandingan tahunan Entelect Challenge menggunakan strategi greedy. Proyek ini dibuat untuk pemenuhan tugas besar 1 IF2211 Strategi Algoritma.
Strategi greedy yang digunakan secara ringkas dapat dirangkum sebagai berikut:
Pada setiap langkah (ronde), dapatkan semua command (himpunan kandidat) yang dapat dipakai tanpa pinalti skor (fungsi kelayakan), kemudian menggunakan prioritas dengan grouping perintah yang mirip secara fungsi, dimana setiap command group juga akan memprioritaskan command yang lebih berguna berdasarkan state permainan di setiap rondenya (fungsi seleksi) untuk mencapai jarak antara pemain dan musuh (negatif jika musuh mendahului pemain atau positif jika pemain mendahului musuh) yang maksimum, kecepatan mobil yang maksimum, serta memaksimumkan skor yang diperoleh (fungsi objektif), sehingga didapatkan urutan command yang akan menjadi perintah untuk bot di permainan pada setiap rondenya (himpunan solusi) hingga akhir dari permainan (fungsi solusi).
- JDK 1.8 keatas
- Maven
Untuk melakukan build project, gunakan maven sehingga menghasilkan folder bin
berisi jar
program bot yang siap digunakan.
mvn clean install
Bot yang telah dibuild dalam tahap Setup dengan format .jar
dapat dipakai bersamaan dengan game runner sehingga dapat berkomunikasi dengan game engine. Pastikan telah menyalin folder bin
dan bot.json
dalam satu folder yang sama yang dimasukkan ke dalam folder game runner, kemudian atur game-runner-config.json
pada pemain-a
atau pemain-b
sehingga menggunakan path folder bot yang telah disalin. Jalankan game-runner-jar-with-dependencies.jar
dengan command berikut:
java -jar ./game-runner-jar-with-dependencies.jar
Pastikan terdapat game-engine.jar
, game-config.json
, dan game-runner-config.json
pada folder yang sama dengan jar untuk game runner.
Untuk memudahkan dalam menjalankan permainan dan menggunakan bot, gunakan starter-pack yang telah tersedia disini, kemudian salin folder bot di dalam folder starter pack yang telah diekstrak (pastikan telah dibuiild terlebih dahulu) dan ubah game-runner-config.json
sesuai dengan langkah diatas, terakhir jalankan run.bat
.
Kelompok 37 | Eco Racing
- Rifqi Naufal Abdjul (13520062)
- Amar Fadil (13520103)
- Vito Ghifari (13520153)