Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki od 1 do 20 z 23

Wątek: Optymalizator (kalkulator) strat

  1. #1
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405

    Optymalizator (kalkulator) strat

    Podobne tematy (chronologicznie):
    (27.11.2011) Czy jest kalkulator wojenny
    (06.01.2012) Kalkulator do gry
    (22.02.2012) kalkulator walk
    (07.02.2012) wzrory-bądź-algortmy-walki

    Wielkia praca członków Zakonu Paladynów została nagrodzona i podsumowana.
    Wiele bitew zostało przeprowadzonych i przeanalizowanych. Na podstawie tych danych zostały wyprowadzone wzory, które są "tajemnicą firmy".(cytat).
    Wzory te zostały gruntownie sprawdzone na innych bitwach i przez to są w pełni poprawne.
    Na podstawie podanych wzorów, został napisany program i umieszczony na serwerze Akademii Górniczo- Hutniczej w Krakowie (LINK).
    Tak więc od dziś, każdy uczestnik zabawy na całym świecie ma dostęp do optymalizatora strat.
    Ze względu na wagę przedsięwzięcia i ogrom pracy włożonej do zbudowania tego programu, kod źródłowy nie jest udostępniany, a jedynie wynik pracy jest ogólno dostępny.

    Warunki dostępu do optymalizatora strat:
    Przez najbliższe 7 dni wpisanie hasła "forma#", gdzie # to liczba od 1 do 3,
    pozwala na całkowicie DARMOWE i PRÓBNE korzystanie z programu.
    Po tygodniu hasła ta będą zamknięte.
    Liczby oznaczają:
    1- formularz pełny (wszystkie możliwości, jakie istnieją)
    2- formularz zwykły (standardowe użycie dla większości graczy)
    3- formularz ograniczony (tylko kilka podstawowych opcji)



    Aby dostać dostęp, wystarczy napisać do administratora programu (kalkulator_empire@tlen.pl), w którym zawarte będą poniższe informacje:
    1. Nazwa gracza
    2. Sojusz, w którym gracz aktualnie gra
    3. Świat (Polski 1, NK ...)
    4. Proponowane hasło (ze względu na możlwiości powtarzania się haseł, administrator zastrzega sobie prawo do zmiany hasła).
    5. Rodzaj formularza (pełny/zwykły/ograniczony), do którego gracz chce mieć dostęp (w pewnych przypadkach można udostępnić kilka formularzy).

    Użytkowanie swojego hasła odbywa się na czas nieokreślony i administrator zastrzega sobie prawo do zabanowania hasła, gdy wystąpi podejżenie o użytkowanie danego hasła przez więcej niż jedną osobę.
    Uzyskanie hasła odbywa się w sposób nieodpłatny (dla wszystkich użytkowników, dla zwykłego formularza), a w sposób częściowo odpłatny* dla pozostałych formularzy.

    Działanie programu
    Program posiada dokładne wzory pozwalające na wyliczenie strat podczas bitwy i z nich korzysta podczas swoich obliczeń.
    Obliczenia odbywają się trzy-etapowo i są one ściśle numeryczne. Trzykrotne zastosowanie przybliżenia numerycznego pozwala na zoptymalizowanie czasu obliczeń (wszystkich możliwości ustawień wojska na murach jest około 5*10^9).
    Program został tak dostosowany, aby każdy, nawet nie znający się na matematyce, mógł z niego korzystać.
    W celach analizy i prób, odsyłam do programu.

    Uwagi, ewentualne błędy i pytania dotyczące programu proszę składać na adres e-mail podany powyżej.

    Proszę pozostawić ten wątek, aby można było się w nim wypowiadać na temat tego programu (komentarze pozytywne i negatywne), jak również na to, co wymyślą użytkownicy, a czego nie przewidziano.

    Program przeszedł alfa i beta-testy, został zdebugowany (szybciej niż GGEmpire), ale wciąż może pojawiać się coś, co jest nieodkryte, dlatego od waszej aktywności zależy, czy program będzie się rozwijał, czy też nie.

    *- Ponieważ wykonanie programu wymagało od twórców wiele pracy i strat w wojsku, dostęp do optymalizatora nie jest w pełni darmowy. Opłatą jest wykonanie pracy: przesłanie co najmniej 250 rubinów (tyle każdy jest w stanie zdobyć) na rzecz sojuszu Zakon Paladynów lub wykonanie prac związanych z rozbudową serwisu poświęconego grze Empire.

    Ps.: opinia jednego z graczy, dość popularnego na forum i w grze, która nie jest w tym temacie:
    http://pl.board.goodgamestudios.com/...ll=1#post69588
    Ostatnio edytowane przez Einstein13 ; 28.10.2012 o 13:36
    Einstein13

  2. #2
    Początkujący
    Dołączył
    31.10.2011
    Mieszka w
    london
    Posty
    239
    hehe , dobre, zwlaszcza to
    Cytat Zamieszczone przez Einstein13 Zobacz posta

    *- Jeśli ktoś chce uzyskać dostęp do innych formularzy niż ograniczonego, należy być członkiem Zakonu Paladynów, jego sojusznikiem, przyjacielem lub zasłużonym graczem dla Zakonu Paladynów. Gracz, który wpłaci 2000 rubinów do skarbca Zakonu Paladynów może dostać pełny dostęp do użytkowania programu. Dla graczy z innych serwerów niż Polski 1 przewidziane są inne opcje uzyskania dostępu.
    "Przeze mnie droga w miasto utrapienia,
    przeze mnie droga w wiekuiste męki,
    przeze mnie droga w naród zatracenia.
    Jam dzieło wielkiej, sprawiedliwej ręki.
    Wzniosła mię z gruntu Potęga wszechwłodna,
    Mądrość najwyższa, Miłość pierworodna;
    starsze ode mnie twory nie istnieją,
    chyba wieczyste- a jam niepożyta!
    Ty który wchodzisz, żegnaj się z nadzieją..."

  3. #3
    Początkujący
    Dołączył
    15.11.2011
    Posty
    7
    Wymyslili kalkulator obrony :P No jak się nie atakuje tylko broni no to łatwo takie coś wymyślić :P
    wandal80 @ 5

  4. #4
    Początkujący
    Dołączył
    03.11.2011
    Posty
    270
    Haha dobry sposób aby naciągnąć jeleni... Mam nadzieję, że większość ma coś w głowie i nie da im nic zarobić...
    Elita Warlords !!! -----> Black Dream !!!

  5. #5
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405
    Patryku, jeśli nie chcesz płacić- nie musisz. Wielu użytkowników dostanie pełny dostęp całkowicie za darmo
    I jeśli wymyślisz własny kalkulator, chętnie go obejżę.
    A skoro nie zrobiłeś własnego, to lepiej się tak nie wypowiadaj. Cenię pracę tych, którzy stworzyli ten optymalizator i stąd ta wartość 2000 rubinów. Nawet ktoś, kto nigdy nie kupował rubinów, jest w stanie uzbierać taką wartość- jego praca za naszą pracę. To chyba jest właściwy układ?
    Osoby, które włączyły się do pracy lub usprawniają działanie optymalizatora też wkładają własną pracę w to urządzenie.

    I jeszcze jedno...
    wandal80
    My też atakowaliśmy. I to wiele razy. Mamy kilka dodatkowych narzędzi, które nie są tutaj wymienione ani pokazane, a z których korzystamy podczas planowania akcji. Kto wie, ten nie pisze takich głupot

    Jeśli macie jeszcze jakieś wątpliwości, chętnie odpowiem na nie
    Einstein13

  6. #6
    Początkujący
    Dołączył
    31.05.2012
    Posty
    55
    Sprawdzalem, troche testowalem ale tylko na fikcyjnych atakach, nie mialem okazji na prawdziwych. Zdaje mi sie, ze troche nie realne sa niektore obrony, a mimo to wyskakuje, ze obrona wygra. Nie mowiac o tym, ze czesto mam komunikat o tym, ze obrona wygra, a straty na dole wygladaja, tak, ze obie strony traca 100% wojska.
    matikurczak225 @ pl 1

  7. #7
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405
    Może zbyt mało wyraźnie napisałem:
    pierwsza tabela pokazuje najlepsze ustawienie wojska.
    Poniżej czy obrona wygra, czy przegra.
    Później pojawia się tabela ze wszystkimi optymalizacjami. 7 prób, z których możemy wybrać najbardziej nam odpowiadającą.
    To, że obrona może wyglądać nierealnie jest całkowicie zrozumiałe. Zauważcie, że żaden program nie jest w stanie przewidzieć dokładnego składu ataku.
    Jeśli będzie dużo chętnych, spróbuję napisać takie funkcje, które w przybliżeniu podadzą taki skład i to wprowadzę do obliczeń. Ale póki co, to tylko 3 osoby się zgłosiły, jako chętni do korzystania z tego programu.
    Einstein13

  8. #8
    Początkujący
    Dołączył
    31.05.2012
    Posty
    55
    Przetestowalem na realnym, sporym ataku (400ofa vs 200defa) i bylem mile zaskoczony, mimo, ze obrona wygladala na troche bez sensu z obrona jednego skrzydla. Okazalo sie, ze to nie tylko klucz do sukcesu(to akurat wiedzialem, ze wybronie), ale naprawde minimalizacja strat. Stracilem 23 defa i troszke chlopow ;d
    matikurczak225 @ pl 1

  9. #9
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405
    Cieszy mnie, że ktoś poparł ten projekt i go przetestował
    mati, będziesz miał pełny dostęp, jeśli chcesz
    Einstein13

  10. #10
    Początkujący
    Dołączył
    31.05.2012
    Posty
    55
    Pewnie, ze chce ;p
    Czasem gdy przyjrze sie mojej taktyce rozstawienia i nastepnie patrze na to co wymyslil ten kalkulator, to okazuje sie ze rzeczywiscie te pare % na murach mozna by bylo zmienic. Zaoszczedza to czas, ktory tracilem na liczenie kalkulatorem.

    EDIT:
    Takie cos czesto mi wyskakuje: "Limit przekroczony: ustalanie dwóch"
    Oraz:
    Przewidywane straty:
    Kusznik weteran 372/372 | Chłopi 72 / 72

    Dodam, ze jak zmienilem ustawienie, na takie w ktorym posiadam 20 halabard do tego, to wyskoczyl komunikat "Obrońca przegra". A w przewidywanych stratach wyskoczylo, ze atakujacy znow straci 372 na 372 wetereranow, ja strace 20 halabard, ale chlopi przezyja wszyscy.
    Ostatnio edytowane przez matikurczak2252 ; 17.06.2012 o 18:20
    matikurczak225 @ pl 1

  11. #11
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405
    Proszę o zgłaszanie błędów na e-mail. Przez dłgi czas nie zauważyłem tego problemu tutaj, na forum. Pracuję nad jego poprawką, ale egzaminy są ważniejsze.
    Druga sprawa: proszę opisać problem, jaki powstaje oraz czas, kiedy ten problem powstał.
    Einstein13

  12. #12
    Początkujący
    Dołączył
    31.05.2012
    Posty
    55
    Ja mam tez malo czasu, podchodze do kompa co jakis czas;p
    Ostatnio troche slabo straty wyliczyl, mialem stracic polowe defa, a stracilem 95% defa ;p
    matikurczak225 @ pl 1

  13. #13
    Uczeń
    Dołączył
    22.02.2012
    Posty
    461
    No ciekawa zabaweczka, szacun dla autorów. Ciekaw jestem jego skuteczności w ustalaniu optymalnego ustawienia.

    Co do obliczeń strat to chyba daleko temu do prawdy - wykonałem takie sprawdzenie:
    Ustawiłem max offa, mix oburęcznych i ciężkich kusz, max maszynek obronnych i obrony 200długich łuków i 200 halabard. Maszynki atakujące na mur, brame i fosę. Zacząłem kombinacje z maszynkami atakującymi surowcowe/rubinowe. W większości przypadków na starty obrońcy nie wpływało czy maszyny były zwykłe czy rubinowe.

    Czasem przy ustawieniach obrony 0%/99%/1% a 0%/100%/0% różnice w stratach obrony pokazywał 50%.
    Często pokazuje 100% strat po obu stronach bez względu czy obrońców jest 400 czy 800.

    Także kalkulator strat na pewno działa źle.
    eps @ pl 1

  14. #14
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405
    Ja zdołałem wprowadzić wzory mi podane. Będę je poprawiał, ale jeszcze nie dziś. Jeśli nie będzie chętnych na takie przedsięwzięcie, to nie zrobię nic- bo po co? Ale jeśli będą chętni, to poprawię ile mogę.
    Einstein13

  15. #15
    Uczeń
    Dołączył
    22.02.2012
    Posty
    461
    Nie wiem jak wzory, ale mam wrażenie że parę błędów jest w kodzie - np ten gdy pokazuje 100% strat po obu stronach, albo gdy pokazuje taki sam wynik przy maszynkach surowcowych i rubinowych.

    Rozumiem że proponowana ilość maszynek obronnych oznacza ilość slotów w których trzeba je umieścić. Maszynek na fosę pokazuje zawsze 2, mimo iż slot jest 1.

    Jak będziesz chciał poprawiać to mogę pogenerować trochę przykładowych danych gdzie wyniki są błędne.
    eps @ pl 1

  16. #16
    Początkujący
    Dołączył
    31.05.2012
    Posty
    55
    Ja tez widzialem sporo bledow, widzialem, ze dodales opcje "UWAGA! W pole obrońcy "maszyny" należy wpisać tyle maszyn, ile się posiada w magazynie."
    I ciekawi mnie co oznacza blad przekroczono limit ;p
    matikurczak225 @ pl 1

  17. #17
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405
    dobra... wytłumaczę nieco kilka spraw, bo widzę, że jesteście chętni do dialogu (nie monologów w stylu: co to za zło wcielone)

    1. Starałem się zaprogramować to tak, aby było "idioto- odporne". Stąd nie można wpisać wartości literowych w pola (po wpisaniu kasują się litery i zostaje pustka lub liczby).
    To powoduje, że wszystko, co się znajduje w polach, jest dodatkowo przetwarzane. Wynik jednak pozostaje przy ponownym przeładowaniu strony (widać to po dokonaniu obliczeń). W tym chyba nie ma błędów- można wielokrotnie sprawdzać.
    2. Następnie wyznaczane są ułożenia maszyn na murze. Tutaj osobno sprawdzane jest, czy starczy wzmocnień/mat izolacyjnych, czy da się fosę obsadzić i częścią bardziej skomplikowaną jest, jak ustawić kamienie/strzały lub odpowiedniki rubinowe.
    3. Kolejnym etapem jest zoptymalizowanie tego, jak ustawić wojsko, żeby proporcje obrony wręcz/na dystans były maksymalnie zbliżone do nadchodzącej siły. Tutaj pierwszy raz pojawia się pętla, której punkt startowy to % siły wręcz ataku do sumy siły ataku. Później- w zależności od ilości obrońców jest ten % modyfikowany. Ponieważ optymalny procent może być zbyt odległy od startowego, może pojawić się błąd: "Przekroczono limi: optymalizacja ustawienia jednej".
    4. Ostatnim etapem jest zoptymalizowanie ustawienia obrońców (lewa/środek/prawa). Jak pewno zauważyliście, ta optymalizacja przebiega 7-dmio stopniowo:
    straty dla jednej flanki (3 razy), straty dla 2 aktywnych części muru (3 razy), straty dla wszystkich częsci muru (1 raz). I znowu: punkt startowy może być zbyt odległy od punktu optymalnego i może spowodować, że pojawi się błąd: "Limit przekroczony: ustalanie trzech/dwóch".

    Dlaczego ustawiłem limity?
    Otóż gdyby gdziekolwiek w kodzie pojawiłby się błąd (co mi się zdarzało wcześniej, w sumie, jak każdemu początkującemu programiście), to mogłaby się zdarzyć pętla nieskończona. Mój komputer, na którym robiłem pierwsze testy działania, po prostu wykonywał polecenie bez końca, za to serwer AGH (AGH rządzi!), ma limi 30 seknud na obliczenia.
    Drugi powód to taki, że gdybyśmy wzięli te 30 sekund, policzyli ile to obliczeń, to może się okazać, że braknie nam obliczeń na wszystkie części kodu. Stąd wstawiłem limity.
    Na nasze szczęście, kod wykonuje się szybciej, niż szacowałem i w ciągu jednej sekundy mamy wyświetlony pełny wynik.

    Uwaga do wykorzystanego wzoru:
    Wpisałem wzór, który został mi podany przez zaprzyjaźnionego gracza (wiele jego zasługi, że udało mu się go wyprowadzić). Jednak mogłem go źle przepisać- dlatego niedługo siądę i przeanalizuję, czy wszystko się dobrze odbywa. Do niedzieli powinienem z tym zdążyć. Straty nie są liniowe, dlatego tak ciężko wszystko przewidzieć na chłopski rozum.
    Sprawdzę również (w ciągu następnej godziny), czy punkt 2-gi jest poprawnie wykonywany.
    A dla chętnych (jeśli znają się na PHP) przedstawiam tę część kodu, która jest odpowiedzialna za zoptymalizowanie punktu 4-tego.

    Dla podsumowania powiem, że cały kod ma prawie 1900 linii kodu (wiem, można było go nieco skrócić, ale o tym nie wiedziałem na początku).
    około 900 to input/interface/międzymordzie
    około 750 to funkcje wykorzystane do obliczeń
    około 40 linii to wywołanie obliczeń
    reszta to wyjście/output

    Jak widać, trochę pracy włożyłem w to i chętnie posłucham waszych opinii na ten temat- co poprawić, to chętnie zobaczę.


    Plik do ściągnięcia:
    fragment_kodu.txt
    Ostatnio edytowane przez Einstein13 ; 18.06.2012 o 20:25
    Einstein13

  18. #18
    Uczeń Awatar Atako
    Dołączył
    03.01.2012
    Posty
    611
    Ja także muszę zapłacić rubiny, aby dostać dostęp do pełnego formularza?

  19. #19
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405
    Wystarczy, że się ze mną skontaktujesz i mnie przekonasz, że jesteś dobrym graczem A niektórzy wiedzą, że łatwo mnie przekonać do tego
    Program ma być ogólno dostępny, ale też nie chcę, żeby każdy, bez żadnego wysiłku, miał do niego dostęp.
    Na razie wysiliły się tylko 3 osoby wysyłając do mnie e-mail...
    Chodzi mi głównie o to, żeby ludzie nie korzystali z tego, bez włożenia w to żadnego wysiłku. Pracowaliśmy nad tym wystarczająco długo, żeby cokolwiek wyszło. A jeśłi będzie to w pełni otwarta sprawa, to kto będzie pamiętał o tej pracy?
    Wyślij e-mail. W razie czego będziesz miał odpowiedź, że tak, nie lub nie wiem
    Dla tych, co jeszcze się nie zorientowali: kalkulator_empire@tlen.pl
    Einstein13

  20. #20
    Weteran
    Dołączył
    16.09.2011
    Mieszka w
    między Szczecinem a Rzeszowem
    Posty
    2,405
    Udało mi się poprawić kilka błędów (wyprzedziłem w tym GGStudio).
    Optymalizator będzie jeszcze ogólnie dostępny przez kilka dni.
    Na prawdę- kto chętny, zapraszam do korzystania
    kto nie- to jego strata

    Hasła podane mi na maila zostały (wszystkie) wprowadzone, a przydzielone formularze to "pełne"
    Na razie nie wpłynął ani jeden rubin na konto sojuszu z tego powodu, jakby kto pytał
    Einstein13

Tagi dla tego wątku

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •