POLISHSEAMEN

Ogólnie o Silent Hunter III - Losomator SH3

PL_tes - 11 Grudzień 2009, 13:52
: Temat postu: Losomator SH3
Hi,

Pomysl powstal na podstawie narzekan o slaba losowosc misji. Losomator losuje 3 mapki, glowna i 2 pomocnicze. Pomocnicze sa uzywane w wypaku gdy mapka glowna juz byla grana lub byla grana bardzo czesto. Losomator nie pozwala wylosowac tych samych map w kolejnym losowaniu.

Zarys dzialania:


Widok:


Kazde opinie mile widziane. Narazie to jest luzny projekt/pomysl tworzony w wolnym czasie. Wiec nie naciskac prosze :D

Z waznych rzeczy do zrobienia:
- losowanie co pol godziny, z uwzglednieniem pelnych godzin
- moze jakas baza misji losowanych miedzy 20.00 a 20.30 i uwzglednianie ich przy losowaniu. Np. pamietamy ostatnie X losowan i nie uwzgledniamy wylosowanych mapek.
- ktos musialby stworzyc nowe tlo. Ten obrazek jest wziety z konkursu na SubSim.

Baza: Html, PHP, JS(choc to finalnie moze nie zostac uzyte), .txt (jako baza danych :D )

P
/tes
PL_Marco - 11 Grudzień 2009, 14:12
:
Jeśli chodzi o obrazki i szatę graficzna mogę się tym zająć.

Tylko Tesu bo to musi być tak zrobione co by było to można na serwer załadować.
Losowanie co 30 minut musi być jak najbardziej.
Co do bazy misji wylosowanych. A dało by się żeby losownik tworzył log z misja i data oraz godzina ?
PL_Andrev - 11 Grudzień 2009, 14:20
:
Jaki jest mechanizm losowania?

Swego czasu wbudowałem taki mechanizm - niestety nie jestem w stanie tego wrzucić w formacie "serwerowym":

Cytat:
Procedura wyboru dawno niegranej misji:
1) Wylosuj misję z zestawu
2) Sprawdź N (numerek)
jeśli N > 0 to wróć do kroku 1.
jeśli N = 0 to misja ta jest wylosowana, przejdź do dalszych kroków:

Zmiana parametru kiedy misja była grana":
3) sprawdź wszystkie misje, dla każdego N > 0 zrób N = N + 1
4) w wylosowanej misji zmień N = 0 na N = 1

Redukcja pakietu do dawno niegranych misji:
5) sprawdź wszystkie misje, dla każdego N>15 ustaw N=0


Ktoś może się zapytać dlaczego taki idiotyczny mechanizm.

Każdy numerek odpowiada kolejnej misji, program dzięki temu zapamiętuje 15 ostatnio granych misji. Dzięki temu ŻADNA z tych 15-tu nie powtórzy się (bo nie będzie mogła być wylosowana). Po wylosowaniu misji skrypt sprawdza czy któraś z nich była grana później niż 15 misji temu. Wtedy wpada do pakietu misji "niegranych" czyli tych z których może być losowana.


Pojawia się inny problem.
Losowanie odbywa się co półgodziny, czyli wchodząc na losomator na drugi dzień widzimy wynik po 24-25 losowaniach. Nic dziwnego że misja może się powtórzyć. Proponowałbym aby były dwa losomatory:

"Główny" który będzie losował misje w oparciu o skrypt "częstotliwości" i to wyłącznie o godz. 19-tej, o 20-tej i o 21-szej.

"Alternatywny" - którego statystyka losowań nie byłaby liczona w skrypcie - czyli zwykła metoda na chybił trafił dla osób, którym nagle zachciało się grać w innych porach.
PL_tes - 11 Grudzień 2009, 14:20
:
Nie wiem czy zauwazyles link, ktory testuje, ale to wszystko dzieje sie po stronie serwera.
Moja platforma programistyczna:
Apache 2.2.14, PHP 5.2.11 i ... Crimson Editor (taki bardziej wypasiony notatnik)

Mysle, ze logi mozna zrobic, choc nie uwzglednialem jeszcze takiej opcji.

Cytat:
"Główny" który będzie losował misje w oparciu o skrypt "częstotliwości" i to wyłącznie o godz. 19-tej, o 20-tej i o 21-szej.

"Alternatywny" - którego statystyka losowań nie byłaby liczona w skrypcie - czyli zwykła metoda na chybił trafił dla osób, którym nagle zachciało się grać w innych porach


Dokladnie o tym pomyslalem przed 5 minutami, patrzac na skrypt PHP :D

Algorytm narazie jest prosty i w zasadzie podobny do tego co mamy, ale rozszerzony o 3 mapki.
PL_Andrev - 11 Grudzień 2009, 14:30
:
PL_Marco napisał/a:
Losowanie co 30 minut musi być jak najbardziej.


Wcale nie jestem przekonany, że losomator powinien losować misje w godzinach 23.00 - 10.00. A do tego dodając dni robocze w godzinach 10.00-17.00.
PL_U-96 - 11 Grudzień 2009, 14:50
:
Pomysl jest OK ale od siebie mam ale:

- misje MUSZA sie powtarzac, czy to sie komus podoba czy NIE, kazdy musi miec szanse zagrania tej misji min. 2 razy i nie moze byc takiej sytuacji ze gracz zapuszcza FOCHA bo taka misje gral juz;
- mozna by bylo pomyslec zeby losownik staral sie losowac misje np. czesciej niz 30 minut np co 15, mozna by bylo wtedy uniknac, duzego prawdopodobienstwa wylosowania tej misji wiecej niz. 2 razy
- losownik wylosowal misje o nazwie A o godz. 18.30 wiec niech ja odchaczy i da do "poczekalni" na 3-5 dni i doda ponownie do puli losowan ale zeby jej juz nie losowal o 18.30
PL_tes - 11 Grudzień 2009, 15:07
:
Co ile ma sie losowac, to nie problem ( jedna zmienna ). Ale losowanie i odkladanie co 15 minut moze sprawic problem -> (15*30)/60 = 7,5 h. Misji jest okolo 30 i taka pula szybko sie skonczy. Lepiej zrobic poczekalnie na zasadzie, nie losujemy ostatich X misji (np. ostatnie 10 wylosowanych misji pomijamy).
Ale mozna polaczyc pomysl twoj i Andrev i dac 1,5h okno z losowaniem co 15min. (6 losowan miedzy 19.30 a 21.00) dla glownej mapy. Alternatywne losujemy po staremu, co 30 min.

PS. Narazie priorytet dla mnie ma zrobienie losownia xx:00, xx:30, yy:00, yy:30. A moze nie bedzie przeszkadzala Wam extra sekunda dodana do kazdego losowania. ;)
PL_CMDR Blue R - 11 Grudzień 2009, 15:12
:
PL_Andrev napisał/a:
[Wcale nie jestem przekonany, że losomator powinien losować misje w godzinach 23.00 - 10.00. A do tego dodając dni robocze w godzinach 10.00-17.00.


A jak ktoś będzie chciał zapuścić nocny patrolik? Pamietam, jak kiedyś ja wychodziłem o prawie pierwszej, a ktoś (chyba Cobra) odpalał jakiś serwer...
PL_U-96 - 11 Grudzień 2009, 15:14
:
Albo, zrobic guzior LOSUJ i wtedy HOST losuje misje, ktora wyswietla sie na stronie po losowaniu z godzina a guzior LOSUJ znika na 30 minut :)
PL_tes - 11 Grudzień 2009, 15:14
:
Cytat:
A jak ktoś będzie chciał zapuścić nocny patrolik? Pamietam, jak kiedyś ja wychodziłem o prawie pierwszej, a ktoś (chyba Cobra) odpalał jakiś serwer...

Wtedy masz do dyspozycji jedna z alternatynych misji lub ostatnio wylosowana podstawe.

Guzik ma ten problem ze trzeba zrobic system logowania, a to "troche" skomplikuje sprawe. Pozostawienie guzika samego sobie moze wypaczyc wynik losowania, bo kazdy bedzie mogl go nacisnac. <edit> :) ok, zakumalem. Ale jak ktos nacisnie go przypadkowo? 30 min w plecy ;) Choc i to nie az takie straszne. Wynik losowania zawsze zostaje :) Guzik nie taki ZLY jak go maluja :lol .
PL_Cmd_Jacek - 11 Grudzień 2009, 15:15
:
PL_U-96 napisał/a:
Albo, zrobic guzior LOSUJ i wtedy HOST losuje misje, ktora wyswietla sie na stronie po losowaniu z godzina a guzior LOSUJ znika na 30 minut :)


Świetny pomysł, losowanie tylko wtedy, kiedy jest to potrzebne.
PL_CMDR Blue R - 11 Grudzień 2009, 15:15
:
To, co proponuje Przemek to najlepsze rozwiązanie... (moim zdaniem)

Gracze chcą płynąć misję, naciskają LOSUJ i mają wylosowane... To jest fajne... Pod warunkiem, że gracze nie postawią misji i dopiero spojrzą w losuj, aby zobaczyć, czy nie łatwiejsza misja...

I tu log by się przydał.....
PL_U-96 - 11 Grudzień 2009, 15:27
:
No to GUZIOR dostepny po zalogowaniu sie na FORUM lub STRONIE KLANOWEJ i tyle, a po lbie dostanie ten co sobie jaja robi
PL_Marco - 11 Grudzień 2009, 15:37
:
No pomysł z częstszym losowaniem w godzinach większego natężenia gier dobry.
A z guzikowym to faktycznie mogła by być rewelacja. Ponad to jesteśmy dorośli i chyba nikt na złość specjalnie guziczka nie będzie naciskać.

No a teraz najważniejsze pytanie jaki kolor guzika ?

:lol
PL_U-96 - 11 Grudzień 2009, 15:38
:
Czerwony albo taki fajny niebieski jak na semaforach wjazdowych w PKP :) :||
PL_tes - 11 Grudzień 2009, 15:46
:
To wtedy ktos z Was musi tak przerobic stronke, aby losomator byl dostepny po zalogowaniu (np. ta strona otwiera sie po zalogogwaniu). Ja niestety nie wiem tworzylem tej strony i nie wiem jak dziala. Jeszcze lepiej jak potraficie pokazac SAM przycisk po zalogowaniu.

Czy potraficie to zrobic? Bo ja wtedy daje Wam czysta funkcje losujaca w PHP, a Wy aktywujecie ja przyciskiem.
PL_U-96 - 11 Grudzień 2009, 15:48
:
Da rade
PL_Andrev - 11 Grudzień 2009, 15:58
:
Z uwagi na to, że Przemo ukradł mój pomysł i teraz wszyscy mówią że to jego pomysł zamykam swoją działalność na tym forum.

ŻEGNAM.

:lol


Tak na poważnie, to misja może być losowana co godzinę 19-21.
To są 3 misje / losowania, a jeżeli 15 (na 30) ma się nie powtarzać to jest to optymalna ilość - misja powtórzy się dopiero po 5 dniach.

Nawet więcej - zwykle gramy koło 20-tej, więc o tej 20-tej mógłby być losomator rankingowy dokonujący losowania 1 raz dziennie (o 20-tej)
A dla ambitnych - losowy guzior nie przechowujący informacji o kolejności czy już granych misjach.
PL_Marco - 11 Grudzień 2009, 16:05
:
tes napisał/a:
To wtedy ktos z Was musi tak przerobic stronke, aby losomator byl dostepny po zalogowaniu (np. ta strona otwiera sie po zalogogwaniu). Ja niestety nie wiem tworzylem tej strony i nie wiem jak dziala. Jeszcze lepiej jak potraficie pokazac SAM przycisk po zalogowaniu.

Czy potraficie to zrobic? Bo ja wtedy daje Wam czysta funkcje losujaca w PHP, a Wy aktywujecie ja przyciskiem.



Myślę ze coś w stylu.
Klikamy na link do losownika jak teraz i wyskakuje okienko na hasło.
Wpisujemy np. HUNT i losomator losuje nam misje i blokuje się na 30 minut.

Tak czy inaczej trzeba się spotkać na ventrilo. Zaproponujcie czas i datę i obgadać temat
losomatora.
PL_tes - 11 Grudzień 2009, 17:49
:
Ten przycisk moze nie przejsc. Pogadamy o tym na Vento.
PL_CMDR Blue R - 11 Grudzień 2009, 20:35
:
PL_U-96 napisał/a:
Czerwony albo taki fajny niebieski jak na semaforach wjazdowych w PKP :) :||


Niebieski na wjazdowych? To niebieskie to są światła na tarczy manewrowej. (2 światła, biały słup, napis Tm na plakietce). Normalny pociąg może ignorować to światło, bo ono dotyczy jazd manewrowych.

I Przemo. Mnie chodziło nie o "dowcipne" losowanie, tylko spojrzenie w losomator, trudna misja, to losujemy. A jak łatwa, to nie losujemy...
PL_tes - 14 Grudzień 2009, 13:08
:
Check this out :)


Wiecej info w czesci zamknietej.
PL_tes - 15 Grudzień 2009, 11:54
:
Ok, done.
Zmieniam status na oficjalna wersje testowa. Fotka z jednego z patroli UTW.
Przemo jak masz czas to mozemy sie zgadac na Vento w tygoniu i potestowac. Mi pasuje czwartek, piatek po 19.00.

Ps. Ten anlogowy zegarek nie dziala mi pod IE8.0. Moze ktos ma lub zna inna wersje dzialajaca z IE 8.0

PS.2 Zgadnijcie, jakie jest haslo dostepu :D
PL_Marco - 15 Grudzień 2009, 12:57
:
OOOoooo i super.

Teraz do przedyskutowania sprawa taka czy zostawiamy sam guzik, czy będziemy wpisywać hasło i wciskać guzik ? I zastanawiam się nad tymi "mapami" alternatywnymi.
Czy nie wystarczy stara zasada, " jak jest więcej chętnych niż miejsc w misji to następna w górę/dół. No ale to trzeba przemyśleć.

Cieszy mnie natomiast to ze się coś "ruszyło" i są postępy i gitara :||
PL_tes - 15 Grudzień 2009, 13:00
:
Zostajemy przy hasle. Ograniczy to liczbe osob, ktora moze majstrowac/bawic sie losomatorem.

Aha. Kodowanie ustawione jako:
Kod:
charset=iso-8859-2

Wiec polska czcionka powinna dzialac. Ja operuje na angielskim systemie i w kwesti edycji znakow mam ograniczone pole manewru.
PL_Andrev - 20 Grudzień 2009, 10:27
:
Od kilku dni cisza w temacie... ja sprawy z losomatorem stoją?
PL_tes - 21 Grudzień 2009, 16:14
:
Ja sam go nie dodam do testow. Nie jestem tu bosem.
PL_Marco - 21 Grudzień 2009, 16:19
:
Tes, najlepiej złapać Przemka lub jak My się spotkamy na ventrilo.
Wyślesz co to tam masz i zaaplikuje się to na serwer.

Albo wyślij Mi to na PW ?
PL_tes - 21 Grudzień 2009, 16:28
:
A ktory chcecie zegarek?

Wiecej tu:
http://www.clocklink.com/gallery.php

Ps. Poszlo
sOnar - 21 Grudzień 2009, 16:38
:
Bardzo dobra robota tesiu :szpaner:
PL_tes - 21 Grudzień 2009, 16:43
:
A wlasnie zapomnialem. Czy autor moda wyraza zgode na zamieszanie ujec z moda w losomatorze? Ten pasek na dole to link do Subsima

:)
sOnar - 21 Grudzień 2009, 16:47
:
Pewnie że tak. Szalej do woli tes :P
PL_Andrev - 23 Grudzień 2009, 20:28
:
No właśnie - przydałoby się Tes-u małe ulepszenie.

Wklepanie ilosci osób, ana ile misja ma być losowana. Bo jeśli jest chętnych 7-miu a misja na 6-ciu...
PL_Marco - 23 Grudzień 2009, 22:23
:
Andrev, to się dopisze do nazwy misji. To niema problemu i już jest załatwione.
Na bank nie widzę autora i roku bo to jest w losowniku akurat nie potrzebne.
PL_CMDR Blue R - 23 Grudzień 2009, 22:25
:
Nie tyle niepotrzebne, co może być nawet wykorzystywane do "wybierania" misji...
PL_tes - 12 Styczeń 2010, 13:53
:
Finalna wersja losomatora jest juz dostepna pod TYM linkiem. Czekam tylko na spis mapek obowiazujacych w nowym rankingu.

Dzieki uprzejmosci PL_U96 i pewnie posrdnio PL_Andrew mam dostep do plikow wykonawczych, tak wiec ewetualne info o problemach prosze kierowac bezposrdnio do mnie na PRIV.

Dziekuje Wszystkim, ktorzy pomogli stworzyc ten program, a w szczegolnosci PL_U96, PL_Marco i PL_Andrew za cenne rady i wskazowki oraz W.A.R.D.C_sOnar za mozliwosc wykorzystania screenow UTW jako tla. Mam nadzieje, ze bedzie Nam dobrze i dlugo sluzyl.

Bajery losomatora (ver.: 1.1):
- loswowanie za pomoca przycisku po uprzednim wprowadzeniu hasla
- losowanie 3 map, kazda inna, kazda inna od poprzednio wylosowanych
- specjalna pamiec dla wylosowanych mapek glownych. Mapa glowna po losowaniu trafia do "pamieci" i nie bedzie losowana do momentu w ktorym specjalny licznik zostanie wyzerowany.
Wartosc max. licznika <= ( Liczba mapek do losowania - 3).

PS. Nie ponosze odpowiedzialnosci za ewentualne zmiany w szacie graficznej. Jezeli takowe zmiany nastopia bez mojej wiedzy, prosze o zmiane dolnego podpisu z tes©2009 na ewentualne PHP part by tes © 2009.

Pzdr. tes
PL_tes - 21 Wrzesień 2011, 21:37
:
Nadszedl czas na male odswierzenie losomatora. Na stronie uzytkownika dodalem pare informacji: status losowania oraz nazwijmy to licznik resetu. Sporo zmienilo sie od strony algorytmu i sposobu ustawiania samego losomatora, ale z punktu widzenia uzytkownika to sa rzeczy raczej malo istotne i nie bede ich omawial.

Obecnie calosc wyglada tak:

sOnar - 22 Wrzesień 2011, 07:02
:
dobra robota Tesiu :wszystkook: