Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Plemiona bot - jakie funkcje powinien posiadać?


mody23

Rekomendowane odpowiedzi

Opublikowano

Witam!

 

Jestem w trakcie tworzenia bota do gry plemiona.pl. Obecnie bot potrafi:

a) samodzielnie rozbudowywać wioski - mamy zwykły formularz i możemy bez limitu wciskać jaki budynek i na jaki poziom bot ma rozbudowywać. Oczywiście jest hierarchia, więc możemy uwzględniać po kolei, które budynki pierw mają lecieć do kolejki budowy. Jeśli w czasie pracy nagle zabraknie miejsca w zagrodzie czy też w spichlerzu - bot z automatu wrzuci do budowy spichlerz/zagrodę, wyprzedzając uprzednio wybrane ustawienia przez nas. Przykład: zadaliśmy budowę ratusza na 15 poziom, ale zabrakło miejsca w zagrodzie - bot wrzuca w kolejkę do budowy spichlerz i automatycznie nasz ratusz schodzi na miejsce drugie w hierarchii budowy budynków.

b ) bot wysyła ataki pod wskazany cel o dokładnym czasie, jaki mu zaplanujemy. Jeśli wysyłamy 6 ataków w jednym czasie to różnica czasów między pierwszym, a ostatnim atakiem wynosi ~ 1 sekundę,

c) bot działa 24/h, nie trzeba mieć włączonego komputera, w nocy można spokojnie spać, a bot wybuduje wszystkie budynki jak tylko w wiosce będzie wystarczająca ilość surowców. To samo tyczy się ataków.

d) bot automatycznie łamie zabezpieczenie przeciwbotowe - jeśli podczas pracy bota, pojawi się obrazek do przepisania z kodem, bot go odczyta, wpisze do pola i zacznie dalej normalnie pracować,

e) bot sam akceptuje nam wykonane zadania - na początku gry, mamy do wykonania jakieś tam zadania i po ich wykonaniu, przyznawane są surowce/wojska itp. Jeśli jakieś zadanie zostanie poprawnie wykonane to bot automatycznie zaakceptuje to i przyjmie nagrody.

 

Póki co, tyle udało mi się zrobić. Planuję jeszcze dodać rekrutację wojska w koszarach, warsztacie i stajni bo tego póki co brakuje. Dodatkowo przydałaby się jakaś funkcja, która sama będzie farmić, tylko tutaj właśnie nie wiem jak to najlepiej rozwiązać. Czy zrobić tak, że sami decydujemy jakie wioski bot będzie farmił i jaką ilością wojska czy też bot sam ma wyszukiwać cele i sam ma dobierać sobie ilość wojska? Przy farmieniu często pada kilka jednostek wojska i to też trzeba by wziąć pod uwagę.

 

Myślałem też nad powiadomieniami SMS, jeśli szedłby na nas atak. W SMS-ie od razu byłby uwzględniony agresor, czas dotarcia na miejsce oraz czy jest to atak typowo zwiadowczy, ofensywny bez grubego czy też ofensywny z grubym. Zastanawiam się jednak czy ma to sens, ponieważ takie automatyczne SMS-y to koszt ~50gr. za jednego SMSa. Trzeba by to też mocno zabezpieczyć, żeby w przypadku np. 150 ataków od całego plemienia, nie wyklepało nam rachunku na dużą kwotę.

 

Jak Wy to widzicie? No i co byście jeszcze dodali do bota? :>

  • Odpowiedzi 63
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Wszystko gra ale co do farmy to bym dodał że sam wybiera cele ale my wojsko np od danej wioski 10 pól po 100 lk czy coś w tym stylu

 

I powiedz mi masz gg czy coś bo chętnie bym zakupił tego bota czy może przedzej przetestował :D

Opublikowano

Póki co nie ma co testować. na razie nad nim pracuję, a zadania dodaję mu przez bazę danych, nie stworzyłem jeszcze w ogóle formularzy, przez które można by zadawać zdalnie zadania dla bota. Pracuję na razie nad ogólną funkcjonalnością, potem sprawy kosmetyczne.

Opublikowano

Nie planuję tego jeszcze w ogóle, daj skończyć to pomyślimy :P

Na razie chcę zrobić to tak, żeby bot myślał jak człowiek albo i lepiej.

Opublikowano

Myślę nad algorytmem, w jaki sposób bot ma dobierać najlepsze jednostki do farmienia spośród dostępnych w wiosce. No bo jak nie będzie w wiosce LK to musi wybrać co lepsze, spośród tego co jest w wiosce. Wymyśliłem taki algorytm (liczone wg średniej ważonej):

 

ATAK: 1

PREDKOSC: 2

POJEMNOSC: 3

 

Atak uwzględniłem dlatego, że niektóre jednostki (słabe) mogą się rozbijać o mur i będzie trochę strat, więc jeśli by w wiosce było coś lepszego to niech wybiera te jednostki, które mają większe szanse na przeżycie.

Prędkość przekłada się na szybkość z jaką zdobywać będziemy surowce.

Najważniejsza jest natomiast pojemność łupu bo to przekłada nam się na to, ile wojsko będzie potrafiło zrabować łupu w jednym ataku.

 

Ponieważ w średniej ważonej chodzi o to, że im większy stopień, tym lepszy wynik końcowy, musiałem coś zrobić z prędkością. U nas przecież ważne jest to, aby prędkość była jak najmniejsza, a nie jak największa. Wymyśliłem więc taki schemat:

35 - n = prędkość danej jednostki

35 dlatego, że najdłuższą podróż odbywa szlachcic (i wynosi ona 35min na pole).

Za n podstawiamy prędkość danej jednostki.

W ten sposób najlepiej pod tym względem wychodzi zwiadowca (bo prędkość tej jednostki, wg powyższego schematu wynosi 24), natomiast najgorzej wychodzi szlachcic bo prędkość tej jednostki wg powyższego schematu wynosi 0.

 

 

Po przeliczeniu średniej ważonej dla każdej jednostki, poza taranem, chłopami, katasami, szlachtą, wygląda to tak:

 

ZWIADOWCA: 8

ŁUCZNIK: 13

MIECZNIK: 16

TOPORNIK: 17

PIKINIER: 20

ŁUCZNIK NA KONIU:  53

CIĘŻKA KAWALERIA:  58

LEKKA KAWALERIA: 70

RYCERZ:  83

 

Od najgorszych (góra) do najlepszych (dół) jednostek. Rycerz wychodzi w tej klasyfikacji najlepiej, ale rycerz przypada JEDEN na konto, więc przy XX wioskach, będzie mógł stacjonować maksymalnie w jednej wiosce, stąd też, rycerz rzadko będzie uwzględniany przez skrypt, jeśli chodzi o farmienie, chyba że akurat w danej wiosce będzie stacjonował.

 

Jak już mamy wszystko przeliczone, bot będzie sprawdzał jakie wojska są w danej wiosce i będzie je dobierał wg powyższej klasyfikacji. Co o niej sądzicie, wygląda to w miarę sensownie? :)

Opublikowano

To chyba od zawsze było wiadome ze do farmienia najlepsza lekka? Algorytm jak najbardziej poprawny.

Opublikowano

Tak do farmienia lekka , ale na dalsze obszary :)

 

Na bliższe by nie marnować czasu w początkowych fazach 2 piki , 2 miecze , a potem już jak są murki to minimum 40 pik lub lepiej.

 

Lk początki 1-3 sztuk.Potem po 8 jak są murki min. 5-6 poziom.

 

Ale to chyba każdy dopasuje jakoś do siebie i najlepiej żeby to słał osobno i nic nie stało w wiosce.

Opublikowano

Bot dobiera sobie wojsko na podstawie tego co dana wioska posiada pod względem militarnym. My określamy na jakim obszarze bot ma farmić wioski (przykładowo w kwadracie 10 x 10 kratek, w obrębie naszej wioski) oraz ile maksymalnie pojemności mają mieć wojska. Hierarchia doboru wojsk określona jest powyżej:

 

ZWIADOWCA

ŁUCZNIK

MIECZNIK

TOPORNIK

PIKINIER

ŁUCZNIK NA KONIU

CIĘŻKA KAWALERIA

LEKKA KAWALERIA

RYCERZ

 

Czyli jeśli w wiosce będzie rycerz to pierw jego bot wrzuci do danego ataku, potem szuka LK, jeśli znajdzie to dodaje LK do ataku itd. Jeśli ustawimy, że wojsko ma mieć pojemność powiedzmy 1300 to bot weźmie rycerza + 10 LK i na tym poprzestanie bo ten skład łącznie dźwiga ~1300 łupu łącznie.

W ten sposób bot wyszukuje sobie barbki na mapie i dobiera wojsko.

 

Jeśli łup z wioski jest równy powiedzmy 1300/1300 to bot po powrocie, odeśle wojska tam z powrotem bo najwyraźniej coś tam jeszcze jest, jeśli natomiast łup będzie przykładowo: 910/1300 to bot odnotuje, że wioska jest puściutka i pierw obleci wszystkie pozostałe barbki, a potem wróci dopiero na tą, tak aby wioska mogła się trochę napełnić.

 

Wojska w ogóle nie będą stały w wiosce, chyba że będzie więcej wojsk niż wymogów z naszej strony - przykładowo może nie być wystarczająco dużo opuszczonych wiosek w kwadracie 10 x 10 pól lub po prostu ustawiliśmy 1300 łupu i mamy sporo wiosek opuszczonych wokół, ale i tak po przeliczeniu tego, pozostaje nam coś w wiosce - wtedy albo powiększamy pole działania (kwadrat 10 x 10, zmieniamy np. na 20 x 20) bądź też zwiększamy pojemność łupu, jaką mają pomieścić nasi żołnierze (maksymalnie).

Opublikowano

Ustawia się z jakich wiosek bot ma wysyłać te ataki, więc tu nie ma problemu.

Co do terminu to nie wiem, jak skończę to dam znać. Robię to "for fun" bo w wakacje mi się zwyczajnie nudziło, a programować lubię, no a że kiedyś grałem w tą grę to stwierdziłem, że coś podziałam w kierunku bota. Niestety zacząłem w ostatni tydzień sierpnia i teraz mam szkołę na głowie, także działam o wiele mniej, tylko popołudniami/wieczorami jak znajdę chwilę.

 

Jak będzie efekt końcowy to na pewno dam znać bo będzie trzeba to przetestować :)

Opublikowano

Myślę jeszcze co w sytuacji, gdy bot roześle wszystkie wojska i w wiosce zostanie powiedzmy 25 pikinierów. Obecnie bot to i tak wyśle gdzieś na farme, a nie wiem czy jest sens?

Opublikowano

Jak wszystko to wszystko nie ma sensu po co masz się męczyć najlepiej by było gdybym to ja zaznaczył co ma wysyłać a co nie czyli zaznaczam lk i tylko to leci ale tak jak teraz to tez dobrze 

 

 

Nie możesz otworzyć tego bota w wersji BETA?? 

 

Jak coś to mogę go testować i  w razie czego mogę ci mówić co zmienić a co dołożyć 

Opublikowano

Wiesz jak możesz sprawdzać czy idzie szlachta lub taran/katapulta? 

Gdy wyskoczy info ze idzie atak pobierasz czas, sprawdzasz odległość między wioską atakowaną a atakującą. Obliczasz ilość pól. Liczysz jaka jest prędkość wojska na pole. 35 - szlachta 30 - taran, katapulata

Opublikowano

Nie powiedziałbym, że PHP to mało ambitny język. Każdy portal opiera się na PHP, to forum również jest napisane w oparciu o PHP, podobnie jak facebook (połączony z technologią ajax), onet itd.

@PleSX spokojnie, aż tak ograniczony to ja nie jestem, wiem o tym ;p

Opublikowano

Nie powiedziałbym, że PHP to mało ambitny język. Każdy portal opiera się na PHP, to forum również jest napisane w oparciu o PHP, podobnie jak facebook (połączony z technologią ajax), onet itd.

@PleSX spokojnie, aż tak ograniczony to ja nie jestem, wiem o tym ;p

Facebook przecież do dziś żałuje, że jest napisany w PHP. Oni mają akurat coś w rodzaju tłumacza PHP na C++. Wiele portali jest napisanych nie w PHP chociażby Youtube. Co nie zmienia faktu, że do takiego zadania jak bot plemion PHP wystarczy.

Opublikowano

Mała uwaga rycerz powinien biegać sam!

 

I nie dodawać piechoty do lk pod żadnym pozorem.

 

 

Myślę jeszcze co w sytuacji, gdy bot roześle wszystkie wojska i w wiosce zostanie powiedzmy 25 pikinierów. Obecnie bot to i tak wyśle gdzieś na farme, a nie wiem czy jest sens?

 

Nie , bo padnie ... minimum to 32 piki bez murka by nie padły jak jest surka jeszcze :)

Jak nie ma to obrona gruntowa nam da więcej strat , niż zysku.

Opublikowano

Są napisane w php bo wcześniej to był topowy język teraz już jedynie do "utrzymania" takich stron jest używany  z powodu że są lepsze technologie a migracja na inną technologię psuje zasadę "Działa nie ruszaj " :D

Kocham mpcforum.pl!!!

18706.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...