Optifleet - Automatyczny dobór optymalnej floty

    • Narzędzia:
    • Optifleet - Automatyczny dobór optymalnej floty

      Cześć,
      W ramach projektu uczelnianego storzyłem progam który dobiera optymalny skład floty przeciw zadanemu obrońcy (poprzez wielokrotne symulacje i inteligentne przeszukiwanie przestrzeni rozwiązań).

      Zaaplikowałem go do sporej bazy niewiadomego pochodzenia i wyniki sa zaskakujące
      Wyniki wydzieliłem do Poszukiwanie optymalnego ratio i dobór floty przeciwko celowi

      Binarki dla Windows i LInux, Screenshoty, Kod programu: sourceforge.net/projects/optifleet/

      Post był edytowany 5 razy, ostatnio przez xanas ().

    • A czy istnieje szansa na powstanie wersji "okienkowej" ?

      W takiej postaci jak w tej chwili, mimo iz mozna go odpalic pod windowsem to nie wpotka sie z wiekszym zainteresowaniem. Korzystanie z niego jest ..... conajmniej klopotliwe. Przy jakims bardziej przystepnym interfejsie graficznym moglbys liczyc jak sadze spore zainteresowanie.

      Ja tak z czystej ciekawosci zrobilem sobie symulacje jednego z lecacych juz atakow (lecacych, bo na razie wprowadzanie danych i "deszyfryzacja" za dlugo trwa). Musze przyznac, ze wynik byl mocno zaskakujacy, bo OptiFleet wybral wariant ze stratami wlasnymi, ale ..... zaoszczedzulbym sporo na paliwie. W efekcie ..... zyskalbym wiecej.
    • U podstaw projektu było to, że wszystkie symulatory są graficzne, a żeby automatyzować proces potrzebowałem utworzyć interfejs konsolowy (w szczególności by móc automatycznie analizować tysiące flot).
      Raport dotyczący tego zadania zbliża się do ukończenia, moje egzaminy również i za kilka dni mogę zabrać się za wersję okienkową (żmudne, nudne i nieco bezużyteczne zadanie z mojej perspektywy, ale jeśli gracze będą się lepiej czuć i więcej używać to się przemęczę ;) )

      Cieszę się że jest pierwszy przykład tego, że program do czegoś się przydał/dostarczył użytecznej informacji:)

      Post był edytowany 1 raz, ostatnio przez xanas ().

    • Wlasnie przeczytalem Twoj temat i jesli to jest to co mysle a chyba to jest to. To jest to cos o czym myślałem od lat - ale nie posiadałem umiejętności by to stworzyc. Jeśli stworzysz to w wygodnej i przystępnej formie. To ja i wielu wielu graczy bedzie ci bardzo wdzieczna. Czekam na efekty.

      ''Bo z prądem rzeki płyną tylko zdechłe ryby.''
      Pb Solo - 346,963% i Acs - 451,005%

      Ilość ST >300
    • czytam i czytam,przekonalem,sie,zreszta ktos polecil,wiec sciagnalem.Fajna sprawa i pomysl,jestem bardzo za,no ale ta forma...lezy.Jesli wyjdzie to podobnie jak websim/dragosim/osimulate to stawaim piwo;)
      Nawet niech to beda proste pola do wpisywania,cos jak Max Dila i bede meeega zadowolony!
    • Forma była nastawiona na użyteczność, a nie wygodę, bo interfejsu wykładowca nie ocenia, a mnie goniły sesyjne terminy i deadline oddania projektu.
      Niebawem postaram się zrobić wersję graficzną, ale na pewno działającą lokalnie(exe jak dotychczas) - program robi dużo obliczeń i udostępnienie go jako strona internetowa to zbyt duże koszty.
    • Cieszy mnie, ze pojawila sie wreszcie wersja graficzna, choc szczera nadzieje, ze to dopiero wersja "beta" i bedzie jeszcze podlegac usprawnieniom.

      Poniewaz program dziala bardzo wolno (zapewne skutkuje tym duza ilosc dokonywanych obliczen) MUSZE MIEC PEWNOSC, ze wyniki jakie zostana mi dostarczone sa poprawne. Robiac kolejne symulacje np w SpeedSim'ie tez poswiecam kilka, kilkanascie minut na obliczenie ataku, ale tu podejscie mam tylko jedno. Feler jest taki, ze w tej chwili tej pewnosci nie mam. Dlaczego ?

      Zrobilem sobie taka symulacje. Celem ataku byly 2 Gwiazdy smierci oddalone ode mnie o 1 uklad. Wprowadzilem jakies hipotetyczne bojowki (obronca mial 15/15/15 - o 1 poziom nizsze od atakujacego), napedy (17/12/10) i dostepnosc stateczkow na poziomie 1000 szt z kazdego rodzaju z wyjatkiem Gwiazd smierci. No i zapuscilem proces obliczania. Wynik ??

      No niestety, ale cos tu nie gra, chyba, ze przez BS:200 mam rozumiec np 200 niszczycieli.

      Nie wiem jeszcze w jaki sposob mam rozumiec a:BudgetLimit. Ustawilem na zero (potraktowalem, ze 0=brak limitu), ale bez wzgledu na limity program nie powinien sugerowac wyslania floty, ktora zostanie w bitwie rozbita w pyl. Mozna to sobie sprawdzic chocby w speedSimie.

      Gdzies jest blad. W programie ??
    • Sprawdzę ten błąd, na linuksie wyniki sa inne i sensowne, obadam to. Tak, to jest beta. Nazwałem to rc1 bo sam już nie widziałem błędów, wersją 1.0 zostanie ogłoszony kiedy trochę ludzi go potestuje i już nikt nie będzie widział błędów/istotnych braków funkcjonalności.

      Co oznacza oczekiwanie na oficjalne wydanie?


      Dla lepszego oglądu wyników dorzucę pełene raporty typu:
      Pokaż spoiler

      Kod źródłowy

      1. [Simulate task]
      2. Attacker
      3. Heavy Fighter: 2
      4. Cruiser: 4
      5. Battleship: 3
      6. Espionage Probe: 17
      7. Bomber: 12
      8. Destroyer: 112
      9. Battlecruiser: 1
      10. Defender
      11. Deathstar: 2
      12. Defender metal: 1000
      13. Defender crystal: 2000
      14. Defender deut: 0
      15. [Simulate info]
      16. Rounds: 5.00 (5, 5)
      17. Simulations: 1
      18. Attacker win: 1/1 (100%)
      19. Defender win: 0/1 (0%)
      20. [Best attacker]
      21. Attacker
      22. Heavy Fighter: 1
      23. Cruiser: 4
      24. Battleship: 2
      25. Espionage Probe: 7
      26. Bomber: 7
      27. Destroyer: 68
      28. Defender
      29. [Worst attacker]
      30. Attacker
      31. Heavy Fighter: 1
      32. Cruiser: 4
      33. Battleship: 2
      34. Espionage Probe: 7
      35. Bomber: 7
      36. Destroyer: 68
      37. Defender
      38. [Best defender]
      39. Attacker
      40. Heavy Fighter: 1
      41. Cruiser: 4
      42. Battleship: 2
      43. Espionage Probe: 7
      44. Bomber: 7
      45. Destroyer: 68
      46. Defender
      47. [Worst defender]
      48. Attacker
      49. Heavy Fighter: 1
      50. Cruiser: 4
      51. Battleship: 2
      52. Espionage Probe: 7
      53. Bomber: 7
      54. Destroyer: 68
      55. Defender
      56. [Average debris]
      57. Attacker loss: metal=2971000 crystal=2394000 deuterium=750000
      58. Defender loss: metal=10000000 crystal=8000000 deuterium=2000000
      59. Common loss: metal=12971000 crystal=10394000 deuterium=2750000
      60. Debris with ground: metal=3891300 crystal=3118200
      61. Debris without ground: metal=3891300 crystal=3118200
      62. Recyclers with ground: 351
      63. Recyclers without ground: 351
      64. Chance moon with ground: 20%
      65. Chance moon without ground: 20%
      66. [Minimum debris]
      67. Attacker loss: metal=2971000 crystal=2394000 deuterium=750000
      68. Defender loss: metal=10000000 crystal=8000000 deuterium=2000000
      69. Common loss: metal=12971000 crystal=10394000 deuterium=2750000
      70. Debris with ground: metal=3891300 crystal=3118200
      71. Debris without ground: metal=3891300 crystal=3118200
      72. Recyclers with ground: 351
      73. Recyclers without ground: 351
      74. Chance moon with ground: 20%
      75. Chance moon without ground: 20%
      76. [Maximum debris]
      77. Attacker loss: metal=2971000 crystal=2394000 deuterium=750000
      78. Defender loss: metal=10000000 crystal=8000000 deuterium=2000000
      79. Common loss: metal=12971000 crystal=10394000 deuterium=2750000
      80. Debris with ground: metal=3891300 crystal=3118200
      81. Debris without ground: metal=3891300 crystal=3118200
      82. Recyclers with ground: 351
      83. Recyclers without ground: 351
      84. Chance moon with ground: 20%
      85. Chance moon without ground: 20%
      86. [Average simulation]
      87. Attacker
      88. Heavy Fighter: 1.00
      89. Cruiser: 4.00
      90. Battleship: 2.00
      91. Espionage Probe: 7.00
      92. Bomber: 7.00
      93. Destroyer: 68.00
      94. Battlecruiser: 0.00
      95. Defender
      96. Deathstar: 0.00
      97. [Average capacity after combat]
      98. Attacker: 145800
      99. Defender: 0
      100. [Attacker plunder]
      101. Metal: 500 (100%)
      102. Crystal: 1000 (100%)
      103. Deut: 0 (100%)
      104. Total: 1500 (100%)
      105. Needed Small chargo: 0
      106. Needed Large chargo: 0
      107. solution: 1 2 3 3 18 12 113 0 1
      108. plunder:2000 lossA:2.95e+06 lossD:2.80e+07 debris:7.27e+06 costA:2.24e+07 costD:2.80e+07 fuel:41983 objVal:2.55e+07 profit:4.28e+06
      Pokaż wszystko


      Co do SpeedSim: nie zedytować tylko "nadbudować" i program jest na tyle modularny że rozważam taką możliwość(z racji ACS), ale SpeedSim jest co najmniej 3 razy wolniejszy na wstępie, a ACS
      jeszcze to pogorszy.

      Jaka część użytkowników ma systemy 64bitowe? Mogę mieć problem z zorganizowaniem środowiska kompilacji, ale to przyśpieszyłoby program ~4x (do prędkości porównywalnej z linuksową)

      BudgetLimit to maksymalny koszt całej wysyłanej floty (wyrażony w metalu)

      Post był edytowany 1 raz, ostatnio przez xanas ().

    • Pare moich sugesti :D

      - mozliwosc zmiany % debrisu z pzt
      - mozliwosc debrisu z obrony
      - acs
      - mozliwosc wklejania raportow a nie wpisywanie recznie

      i mniej wazne rzeczy
      - polonizacja - podniesie ilosc chetnych ;p
      - jakas ladniejsza tabelka z wynikami bo ja mam jakas mala i malo czytelna.

      po za tym dobra robota :]

      ps klikając pare razy ta samo symulacje pokazują sie rożne wyniki.

      ''Bo z prądem rzeki płyną tylko zdechłe ryby.''
      Pb Solo - 346,963% i Acs - 451,005%

      Ilość ST >300

      Post był edytowany 1 raz, ostatnio przez RY&K@ ().

    • Z mojej perspektywy:

      Kod źródłowy

      1. [łatwe]
      2. - mozliwosc zmiany % debrisu z pzt
      3. - mozliwosc debrisu z obrony
      4. - jakas ladniejsza tabelka z wynikami bo ja mam jakas mala i malo czytelna.
      5. [średnie, ale warto]
      6. - mozliwosc wklejania raportow a nie wpisywanie recznie
      7. - polonizacja - podniesie ilosc chetnych ;p
      8. [na pierwszy rzut oka pracochłonne]
      9. - acs
      Pokaż wszystko

      Co do ACS: chciałbym więcej szczegółów kiedy ACS ma sens i jaką kolejność fal wtedy stosować. Z tego co czytałem jedyne źródło różnic wyników to odporność na obrażenia poniżej pewnego progu, który trzeba przełamać. Czy to oznacza w praktyce jedynie LM vs GŚ?

      ps klikając pare razy ta samo symulacje pokazują sie rożne wyniki.

      To jest normalne, bo program działa częściowo losowo, można to zredukować, ale będzie działał wolniej.
      Czy te wyniki różnią się znacząco wartością "objVal" i innymi charakterystykami wyniku? To powinny być floty "podobne jakościowo"

      Post był edytowany 1 raz, ostatnio przez xanas ().

    • Xanas, ja nie neguje, ze wersja podlinuxowa dziala poprawnie. Nie neguje tez, ze pod windowsem ta wersjapierwotna rowniez dziala poprawnie. Natomiast wersja pod windows z interfejsem graficznym daje bledne wyniki.

      Skoro a:BugdetLimit to wartosc floty wyrazona w metalu ustawilem to na 999.999.999 i ponowilem symulacje z poprzedniego dnia.

      Niestety niewiele sie zmienilo, bo kazda sugerowana przez optifleet flota inwazyjna rozbija sie o te 2 nieszczesne gwiazdy smierci.
      Oto propozycje z optifleet:
      1. LF:25 + BS:200 + ESP:25
      2. LF:20 + ESP:87 + BOM:13 + DTR:87
      3. BS:198 + DTR:1
      4. BS:200
      5. BS:187 + ESP:199
      6. LF:22 + ESP:184 + DTR:90 + BC:10
      7. ESP:550 + DTR:93
      8. HF:4 + BS:191 + ESP:83
      9. BS:200 + ESP:25
      10. LF:13 + CR:3 + BS:13 + ESP:190 + DTR:90
      Aby uzyskac tych 10 propozycji przeprowadzilem jakies 50 symulacji. Najczesciej powtarzaly sie propozycje 4, 1 i 9.

      Jesli program ma miec jakies zastosowanie to musi sugerowac flote, ktora przynajmniej przebije sie przez obrone/flote przeciwnika. Na te chwile .... masz co sprawdzac, bo zapewne gdzies cos zle przypisales i stad takie wyniki.
    • Saymon Vega napisał(a):

      Niestety niewiele sie zmienilo, bo kazda sugerowana przez optifleet flota inwazyjna rozbija sie o te 2 nieszczesne gwiazdy smierci.
      Zgodnie z tym co Paweł napisał w opisie projektu w dziale "Inne analizy dotyczące konstrukcji flot" wykorzystał on porównywalną użyteczność statków bez najważniejszego aspektu Ogame "Szybkich Dział".

      Doceniam serdecznie cały wkład poświęcony w napisanie programu, ale przed rozpracowaniem układu SzD nie da rady zapisać walki statków w matematycznej formule. Życzę dużo powodzenia w przyszłych wersjach programu.

      Pozdrawiam,
      Vill
    • Villen napisał(a):

      "Inne analizy dotyczące konstrukcji flot" wykorzystał on porównywalną użyteczność statków bez najważniejszego aspektu Ogame "Szybkich Dział".

      To całkowite nieporozumienie. To jest dział "co inni piszą na ten temat" . To nie ja tylko autor tamtej strony - Voidhawk dokonuje matematycznego porównania.
      Mój program dokonuje symulacji programem analogicznym do SpeedSima i wyniki poszczególnych symulacji są liczbowo identyczne. Prawdopodobnie w program gdzieś wkradł się błąd, postaram się go niebawem poprawić (aktualnie jestem na urlopie i rzadko mam dostęp do internetu)

      Post był edytowany 1 raz, ostatnio przez xanas ().

    • Nowa wersja.

      Kod źródłowy

      1. Ważniejsze zmiany:
      2. *poprawiony algorytm(już nie powinny się zdarzać floty samobójcze)
      3. *istotna poprawa szybkości
      4. *zapis/odczyt ustawień
      5. *wyniki prezentowane jako link do symulacji na http://websim.speedsim.net
      6. *aktualny "cel" to maksymalizacja (złom+rabunek-straty-paliwo)/koszt_floty



      Kod źródłowy

      1. W planach:
      2. ? wybór celu(np pominięcie dzielenia przez koszt floty jeśli podane są limity, czyli dobieramy z wybudowanej już floty)
      3. ? ustawianie % PZ z floty/obrony
      4. ? wybór języka
      5. ? poprawa wyglądu (osobne pola jak w innych symulatorach zamiast "excelowej" tabelki)
      6. ? wybór pliku zapisu/odczytu
      7. <czekam na sugestie>

    • xanas napisał(a):


      *poprawiony algorytm(już nie powinny się zdarzać floty samobójcze)
      <czekam na sugestie>


      Bardzo sie ucieszylem z nowej wersji, ale trwalo to ....... bardzo krotko.

      Istniejacy dotychczas blad polegajacy na wysylaniu misji samobojczych pozostal niezmieniony.

      Wprowadzilem wszystkie dane dokladnie tak jak w poprzednich probach. Dodalem jedynie 2.000.000 jednostek deuteru, ktore te nieszczesne 2 gwiazdy smierci przewozily.

      Wynik?
      LF:39 BS:194 ESP:200

      Z doswiadczenia wiem, ze aby stracic gaske potrzeba troche wiecej sily ognia, ale ..... niech bedzie, ze jestem laik i skorzystalem ze zimplementowanego linka. Tu takze zaskoczenia nie bylo. Z wyslanych stateczkow wrocilo 6 - 2BS i 4 sondy. Inne "sugestie" OptiFleet'a byly rownie skuteczne. Nawet nie chce mi sie pisac.

      Jestem bardzo rozczarowany, zwlaszcza, ze na screenie ktory podales wystepuje sytuacja analogiczna. 47LF+98BS vs 1DS - ta bitwa jest z gory przegrana, o czym dobrze wiesz, bo przycisk "Simulate" zostal wcisniety.

      Chcesz sugestie, prosze bardzo, choc pewnie nie takich oczekiwales.
      1. Sprawdz implementacje bojowek agresora i obroncy, bo w speedsimie online pojawiaja sie zamienione.
      2. Sprawdz czy bojowki obroncy nie sa "zablokowane" na zero, a agresora na np 50.

      3. Zanim podasz tu kolejna wersje, to sprawdz poprawnosc jej dzialania. Wystarczy sciagnac to co wyslales na serwer, wprowadzic jakies dane i zobaczyc co wyszlo.

      Chetnie podzielbym sie z Toba moimi sugestiami odnosnie samego programu, ale ..... wybacz, najpierw on MUSI dzialac.
    • Bardzo przepraszam... Na linuksie zawsze działa poprawnie, na windowsie na kilku inny przykładach które sprawdzałem również, a nie ma powodu do innego zachowania, nie spojrzałem na wynik bitwy ze screenshota:/
      Nie mam pojęcia o co może chodzić ale postaram się to poprawić


      EDIT: to był sabotaż:] GNU Ogame Simulator wykrywa system i w przypadku Windowsa podmienia generator losowości na jakieś badziewie.
      Teraz na GŚ lecą głównie Niszczyciele albo Pancerniki i wygrywają
      Teraz już _musi_ byc OK...
      Przy walce przeciwko 1GŚ zauważyłem bardzo dużą zmienność wyników(jeśli chodzi o "wydajność") i zauważalną jesli chodzi o szczegóły składu floty z drugiej strony.
      Z drugiej strony istotne zwiększenie ilości symulacji (żeby taki "trudny statystycznie przypadek" był całkowicie przewidywalny) drastycznie pogorszy czas obliczeń dla dużych flot.
      Do planów na następną wersję dodaję dynamiczne zmienianie ilośći symulacji w zależności od tego jak zróżnicowane są poszczególne symulacje, ale może to być problematyczne.


      Link

      Post był edytowany 2 razy, ostatnio przez xanas ().

    • Nowa wersja
      Wydaje mi się że wszystkie niezbędne opcje już są, błędy naprawione i będzie można usunąć status beta i rozwijać już tylko nowe możliwości.

      Kod źródłowy

      1. 1.0RC5
      2. fix: crash przy braku rozwiązania
      3. fix: zamienione technologie w websim
      4. nowość: zapis/odczyt ustawień z dowolnego pliku
      5. nowość:sekcja 'about'

      Jeśli użytkownicy potwierdzą że wszystko działa prawidłowo i brak "pilnych" zamówień to niebawem będę się brał za polską wersję.


      Treść "About":

      Kod źródłowy

      1. "Optifleet - OGame Fleet Optimizer
      2. The goal of the program is to find \"optimal\" fleet to attack given enemy, under some constraints.
      3. All the values are converted into metal using ratios, average values from multiple simulations are used
      4. Terms:
      5. Plunder - resources plundered from defender. In case of draw it's 0.
      6. Debris - self explanatory, for now 30% of fleet and 0% of defense, could be configurable if requested
      7. ValueA - cost of producing attacker's fleet,
      8. ValueD - cost of producing attacker's fleet,
      9. LossA - value of units lost by attacker in battle
      10. LossA - value of units lost by defender in battle
      11. Fuel - deuterium used as a fuel for flight of attacker's fleet
      12. Budget - user configurable value, maximum ValueA allowed. If Budget<0 then 5*ValueD is used as Budget.
      13. NetGain := Plunder + Debris - LossA - Fuel
      14. Profit := NetGain/ValueA
      15. The objective is to maximize Profit (alternatives, like minimum ValueA or maximum NetGain could be introduced if requested)
      16. Constraints:
      17. * ValueA < Budget
      18. * 0% chance for lost battle ( could be switchable to 100% win change=no draws if requested)
      19. * LossD >= 20% ValueD"
      Pokaż wszystko

    • Chyba nareszcie moge potwierdzic, ze ... dziala i nie sugeruje atakow samobojczych.

      Znowu robilem symulacje przeciwko 2 gaskom.
      Wyniki ..... nie bede ich tu przedstawial, aczkolwiek musze przyznac, ze ich roznorodnosc byla znaczna. Wszystkie jednak kombinacje, niektore naprawde bardzo egzotyczne, to konczyly sie sukcesem po najwyzej 2 rundach, dajac stope zrotu surowcow z debrisu na poziomie 200-500%.

      Jest niezle. Ale ....
      1. Wbrew zapowiedziom, przynajmniej na razie, program nie uwzglednia surowcow bedacych procz floty, celem ataku. Czy na planecie jest zgromadzonych 500k surowcow, czy 50kk surowcow ilosc (jakosc/pojemnosc) floty wysylanej do ataku jest mniej wiecej taka sama.
      2. Przy konwersji wynikow do strony SpeedSim'a online "znikaja " surowce bedace na planecie i mimo wysylania floty o stanowczo za malej ladownosci mamy otrzymujemy 100% mozliwych do przejecia surowcow.

      Teraz co mozna by poprawic, zeby korzystanie z optifleet'a bylo przyjemniejsze.
      1. Wprowadzanie danych - byloby bardzo milo, gdyby dalo sie wprowadzac dane na zasadzie "wklejania" raportu szpiegowskiego
      2. Transportery - OptiFleet nie uwzglednia w swoich symulacjach transporterow, a powinien, bo sluza zarowno do transportowania zrabowanych w bitwie surowcow, ale moga byc tez oslona dla ciezszych i drozszych jednostek.
      3. Wizualizacja - obecny interfejs graficzny jest malo przejrzysty. "Przewijanie " powoduje, ze tracimy z oczu dane, ktore juz wprowadzilismy. Jest sporo miesca i moznaby dolozyc kolejna kolumna. W pierwszej bylyby dane agresora a drugiej obroncy.
      4. BudgetLimit - jak mi tlumaczyles, jest to maksymalna wartos floty jaka jestem gotow wyslac (o ile dobrze zrozumialem). Tylko ..... po co mi to skoro misje juz nie sa samobojcze? Brakuje mi natomiast ilosci deuteru jaka dysponuje agresor, a to jest dosc wazny parametr brany pod uwage przy wysylaniu atakow :)
    • Argh, przez zerwane połączenie wcieło mi wielkiego posta... Cóż, skracając:

      Przekazywanie surowców już dodane, będzie w następnej wersji.
      Rabunek już jest uwzględniany, tylko zwykle armia nie ma dostatecznej ładowności, usunę sondy(bo rzadko się przydają w bitwach) i dodam małe transportery, to powinno rozwiązać problem.
      MaxBudget służy bardziej do projektowania flot niż podejmowania jednorazowych decyzji co wysłać.

      Wczytywanie raportów, ładniejszy interface (poza podziałem na 2 kolumny który będzie już w następnej wersji) i spolszczenia są w planach, ale na później, najpierw chcę pozamykać błędy i dorobić brakujące krytyczne opcje.
      ====================================================================
      EDIT:
      Nowa wersja już jest

      1.0RC6

      Kod źródłowy

      1. fix: enemy resources send to websim
      2. new: two-column interface
      3. new: probes exchanged for small cargos
      4. new: budgetLimit exchanged for budget&objective (see About)
      5. fix: crash at no solution found
      6. fix: swapped techs in websim
      7. new: config file save/load dialog
      8. new: 'about' section
      9. new:display of objVal in GUI
      10. criticalFix: random for Windows in ogamesim fixed - now results are better
      11. new: results presented as WebSpeedSim link
      Pokaż wszystko


      Kod źródłowy

      1. NEW: budget&objective - user configurable value. For budget&objective=X:
      2. * X<0 means Budget=|X|*ValueD.
      3. * X=0 means Budget is ignored, OBJECTIVE IS CHANGED into maximization of NetGain
      4. * X>0 means Budget=X


      Post był edytowany 1 raz, ostatnio przez xanas ().

    • 1.0RC7

      Kod źródłowy

      1. new: parameters: maximizeNetGain,noDraws,debrisForAttacker,fleetDebris%,defenseDebris%
      2. new: parameter names saved in file and ignored on load
      3. internal: great code cleaning and organising

    • Wersji ORC6 nie mialem czasu obejrzec, a skoro juz jest ORC7 to tylko do niej sie odniose.

      Nie spodobala mi sie jedna rzecz. Program juz nie daje wyniku. Link do strony SSOnline to super sprawa, bo mozna sobie tam sprawdzic sugerowane wyniki, ale .... czyzbys nie wierzyl w swoj program ? W tej chwili OptiFleet podaje juz wzglenie sensowne wyniki (dlaczego tylko wzglenie wyjasnie pozniej) i moznaby zaryzykowac skorzystanie z nich bez dodatkowego sprawdzania, a teraz musze odpalac dodatkowe okno przgladarki.

      Bardzo fajnie, ze pojawily sie male transportery, ale .... . No wlasnie, sondy szpiegowskie, ktorych miejsce zajely nie byly wcale bez sensu. Ja z ekspedycji pozyskuje miesiecznie kilka tysiecy sondek. Nie bardzo jest co z nimi robic, a w wiekszej ilosci doskonale nadaja sie jako oslona przy ataku na cele o duzej sile ognia. Brakuje takze duzych transporterow, ktore sa co prawda wolniejsze, ale uzywane rownie czesto jak male ze wzgledu na wieksza trwalosc. Wszystko zalezy co atakujemy. Raz bardziej oplacaja sie male, raz duze transportery.

      Dwie kolumny juz sa. Jest lepiej, ale gdyby jeszcze zmniejszyc wysokosc wierszy, to moznaby zrezygnowac z paska przewijania, tak zeby wszystkie wprowadzane dane bylyby widoczne.

      Procent debrisu z floty i obrony moglby ustawiany w jakichs "opcjach".

      Poruszana byla tutaj sprawa polskiej wersji jezykowej. Mnie sie to wydawalo bez wiekszego znaczenia, ale ... program sie rozrasta, staje sie bardziej skomplikowany i zachodzi obawa, ze w pewnym momencie do wyslania ataku moze byc potrzebny jeszcze slownik angielsko-polski.

      Help_about. Widze tu kilka bledow.
      ValueA=ValueD
      LossA - tyczy zarowno atakujacego jak i obroncy.
      Nie wiem, czy sa to tylko niegrozne "literowki" czy moze wynik automatycznej implementacji wybranych sekwencji kodu do formy tekstowej, a to byloby juz grozniejsze.
      Wzory na NetGain i Profit sa albo nieprecyzyjnie opisane albo ..... no wlasnie nie wiem: "...Debris*debrisForAttaker..." - jak to rozumiec ?
      Objasnienia - boje sie ze w tej formie to nawet .... po polsku byloby malo zrozumiale.

      Xanas, teraz prosba do Ciebie. Program juz dziala, pojawiaja sie kolejne wersje - coraz lepsze, ale ciagle nie wiadomo jak z niego korzystac. Podalbys co oznaczaja wartosci przy poszczegolnych parametrach. Dla mnie jest to zupelnie niejasne.
      np. przy ilosciach dostepnej floty atakujacej defaultowo wprowadzone jest -1. ZGADUJE, ze to brak ograniczen, ale nie wiem czy mam racje.
      Budget - (w tej wersji ustawiony na -5) po pierwsze, po co mi to ? i co to tak dokladnie jest, bo zmieniajac ten parametr otrzymuje inne wyniki.
      NetGain i onlyWin ustawione na 0. Gdy ustawiam na +1 wyniki mi sie zmieniaja.
      noDraws - co to ? i czemu to ustawiasz na 0

      Zmieniajac te wszystkie parametry zmieniam zakres otrzymywanych wynikow. Wszystkie sa "dobre" ( wzglednie sensowne ), ale raz mam wiekszy zysk, a czasem tylko symboliczny. Potrzebuje "instrukcji obslugi".
    • Saymon Vega napisał(a):


      Nie spodobala mi sie jedna rzecz. Program juz nie daje wyniku. Link do strony SSOnline to super sprawa, bo mozna sobie tam sprawdzic sugerowane wyniki, ale .... czyzbys nie wierzyl w swoj program ? W tej chwili OptiFleet podaje juz wzglenie sensowne wyniki (dlaczego tylko wzglenie wyjasnie pozniej) i moznaby zaryzykowac skorzystanie z nich bez dodatkowego sprawdzania, a teraz musze odpalac dodatkowe okno przgladarki.

      Wynik jako ilości statków i wartość optymalizowana są, podejrzewam że masz na myśli szczegółowe podsumowanie?
      Na niemieckim forum i origin zostałem objechany że preferowany jest webinterface, websim to znośna atrapa... Skoro jest taka potrzeba to wyniki wrócą jako guzik otwierający okno podsumowania(wciąż wyświetlają się na konsoli, ale na windowsie tego nie widać).

      Saymon Vega napisał(a):


      Bardzo fajnie, ze pojawily sie male transportery, ale .... . No wlasnie, sondy szpiegowskie, ktorych miejsce zajely nie byly wcale bez sensu. Ja z ekspedycji pozyskuje miesiecznie kilka tysiecy sondek. Nie bardzo jest co z nimi robic, a w wiekszej ilosci doskonale nadaja sie jako oslona przy ataku na cele o duzej sile ognia. Brakuje takze duzych transporterow, ktore sa co prawda wolniejsze, ale uzywane rownie czesto jak male ze wzgledu na wieksza trwalosc. Wszystko zalezy co atakujemy. Raz bardziej oplacaja sie male, raz duze transportery.

      Wydawało mi się że sondy mogą być mięsem armatnim, ale na .org wytłumaczono mi że bardzo sporadycznie.
      Jakiś czas temu każdy dodatkowy statek istotnie zwiększał czas obliczeń. Od kiedy są limity można w zasadzie wstawić oba transportery i sondę i przyjąć domyślne wartości 0. Tak zrobię w najbliższej wersji.


      Saymon Vega napisał(a):


      Dwie kolumny juz sa. Jest lepiej, ale gdyby jeszcze zmniejszyc wysokosc wierszy, to moznaby zrezygnowac z paska przewijania, tak zeby wszystkie wprowadzane dane bylyby widoczne.
      Procent debrisu z floty i obrony moglby ustawiany w jakichs "opcjach".

      Ten interface wciąż jest tymczasowy, bo podobno tabelka jest brzydka i naturalniejsze są osobne pola. Za czas jakiś będę tworzył nowy interface i np oddzielę opcje, na razie to nieco problematyczne.
      Program rozwijam na netbooku więc aktualnie zajmuje absolutnie całą wysokość mojego ekranu, wątpię by zwężanie pomogło, ale spróbuję


      Saymon Vega napisał(a):

      Poruszana byla tutaj sprawa polskiej wersji jezykowej. Mnie sie to wydawalo bez wiekszego znaczenia, ale ... program sie rozrasta, staje sie bardziej skomplikowany i zachodzi obawa, ze w pewnym momencie do wyslania ataku moze byc potrzebny jeszcze slownik angielsko-polski.

      Tłumaczenie jest już w przygotowaniu. Jako że ściągający reprezentują ponad 20 państwo to nazwy będą korzystały z plików językowych speedSima,
      ale widzę że helpa trzeba rozbudować i dokładnie tłumaczyć na każdy z języków.


      Saymon Vega napisał(a):


      ValueA=ValueD
      LossA - tyczy zarowno atakujacego jak i obroncy.

      To tylko literówki, ale rzeczywiście mylące. Dziękuję

      Saymon Vega napisał(a):


      Wzory na NetGain i Profit sa albo nieprecyzyjnie opisane albo ..... no wlasnie nie wiem: "...Debris*debrisForAttaker..." - jak to rozumiec ?
      Objasnienia - boje sie ze w tej formie to nawet .... po polsku byloby malo zrozumiale.

      debrisForAttaker to jeden z parametrów. 0 oznacza że złom nie wlicza się do zysku netto (podejrzewamy że zbierze go obrońca/hiena)

      Saymon Vega napisał(a):


      przy ilosciach dostepnej floty atakujacej defaultowo wprowadzone jest -1
      ZGADUJE, ze to brak ograniczen, ale nie wiem czy mam racje.

      Tak, <0 to brak ograniczeń ilości (ale wciąż ważne jest zmieszczenie w budżecie)

      Saymon Vega napisał(a):


      Budget - (w tej wersji ustawiony na -5) po pierwsze, po co mi to ? i co to tak dokladnie jest, bo zmieniajac ten parametr otrzymuje inne wyniki.

      Jeśli dodatni to jest to maksymalny koszt atakującej floty. Muszą być jakieś ograniczenia.
      Naturalniejsze są wartości ujemne, to wtedy |mnożnik|, czyli np -3 oznacza ValueA <= 5*ValueD

      Saymon Vega napisał(a):


      NetGain i ustawione na 0. Gdy ustawiam na +1 wyniki mi sie zmieniaja.

      maximizeNetGain=1 oznacza że szukany jest maksymalny zysk netto czyli bilans starcia (łup+złom-straty-paliwo). 0 oznacza że interesuje nas iloraz "zysk netto"/valueA

      Saymon Vega napisał(a):


      noDraws - co to ? i czemu to ustawiasz na 0

      Draw to remis. noDraws=1 oznacza że program nie akceptuje remisów i wymaga by bitwa była wygrana, w typowej maksymalizacji zysku remisy są ok jeśli rabunek nie jest warty tych dodatkowych nakładów.
      onlyWin to dawna nazwa noDraws. Gdzie się pojawia?
    • Mam nadzieję że już wszystkie-wszystkie błędy naprawione... Dokładny opis parametrów zarówno angielski i polski jeszcze w przygotowaniu, ale kod już wydaje się być stabilny i bezbłędny, proszę o testy.


      1.0RC8

      Kod źródłowy

      1. fix: techs in websim swapped
      2. new: probes and both cargoes available
      3. new: debris percenage forwarded and consistent with webSim (same percentage, switch on/off for defence)
      4. new: needed cargoes for free if budget<0
      5. fix: typos in about
      6. internal: arrays size tests, translation preparations, autonames
    • Cóż za synchronizacja mysli... Napisałem właśnie posta na .org(przed zauwazeniem tego) ze nowe studia i praca zajmuja mi bardzo duzo czasu(momentami brakuje go na sen...) wiec rozwoj jest bardzo spowolniony i okazjonalny, ale projekt zdecydowanie nie jest porzucony

      Post był edytowany 1 raz, ostatnio przez xanas ().

    • Milo slyszec, ze projekt nie upadl, bo wersja ORC8 byla juz calkiem fajna. Dawala zupelnie niekonwencjonalne wyniki, ktore jednak okazywaly sie byc bardzo skuteczne i co moze wazniejsze wyjatkowo efektywne.

      Gdyby prace znow zaczely sie posuwac do przodu, to na te chwile najbardziej klopotliwe jest wprowadzanie danych z raportow szpiegowskich. Gdyby mozna bylo dane z rapotru szpiegowskiego wkleic ...... ;)