Programowanie botów do gry StarCraft:Brood War

Prowadzący

Robert Tomkowski

Opis

Większość z nas lubi rywalizację, wyzwania oraz skopać komuś cztery litery, między innymi dlatego gramy w gry online.
Ja proponuję inny rodzaj walki, w którym nie liczy się ilość apmów, tylko zdolności programistyczne, planowanie i opracowywanie strategi.

StarCrafta nikomu chyba przedstawiać nie trzeba, ale jakby ktoś przyleciał do nas z innej planety to link.

W czasie warsztatów uczestnicy będą mieli za zadanie stworzyć w niewielkich grupach programy, które zmierzą się ze sobą.
Będziemy korzystali z bwapi z rozszerzeniami bwsal i bwta

Program zajęć

3ybf7%281%29.gif

Pierwszy dzień.

  • Pokażę jak załadować bota.
  • Opiszę api.
  • Pokażę kody moich prostych botów.
  • Spróbujemy poprawić jakość tych rozwiązań.

Drugi dzień.

  • Będziemy analizowali podstawowe strategie i błędy.
  • Spróbujemy przeanalizować kod bardziej zaawansowanego bota, najprawdopodobniej będzie to któryś z uczestników turnieju AIIDE.
  • Dobierzemy się w grupy i zaczniemy pisać.

Później.

  • Każdy będzie miał czas do końca warsztatów na dopracowywanie swojego programu.
  • Zapewne zorganizujemy parę wspólnych wieczornych posiadówek nad kodem, w czasie których będzie czas na wyjaśnianie niejasności i dyskusje o strategii.(Oczywiście w granicach rozsądku, w końcu rywalizujemy ze sobą, a nie każdy chce zdradzać swoje taktyki)

Konkurs.

  • Pod koniec warsztatów, zorganizujemy turniej napisanych przez uczestników programów.

Wymagania

Chciałbym aby uczestnicy:

  • Umieli programować w C++, gdzie w szególności zwracam uwagę na ++.
  • Przede wszystkim ogarniali programowanie obiektowe.
  • Zagrali parę gier w StarCrafta, znali większość jednostek i kilka taktyk.

Dodatkowe informacje

Bez komputerów ze starem i środowiskiem programistycznym ani rusz.
Preferowany Windows, aczkolwiek Linuch + Wine pewnie dadzą radę.
Dokładną rozpiskę potrzebnych programów wrzucę później.

Przed warsztatami warto przejrzeć dokumetacje api, ale nie będzie to konieczne, bo pierwszego dnia opiszę najważniejsze zagadnienia i funkcje.

Zadania kwalifikacyjne

tu.

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License