[ _ikac @ 23.09.2011. 15:12 ] @
E ovako radim igrcu Football Manager.
Korisnik nema klubove kao sto su u stvarnom zivotu tipa Juventus, Inter itd...
Pri samoj registraciji on kreira klub pod nekim svojim imenom i dobija random igrace nephodne za sam pocetak...

Imam klase koje mi kreiraju igrace, klubove, Scout-ove itd.
Tipa klasa Player ima svoje atribute koji su potrebni svakom igracu(Skok, Sut, Dribling, Pass, Pozicija) i metode koje kontrolisu atributima u izgradnji novog objekta... Isto tako i za ostale klase.

Sve rezultate cuvam u bazi, svaki novokreirani klub belezi se u bazi na serveru i sva ostala desavanja, pobede, transferi, ponude itd...

Igrica jos uvek nema dizajn jos uvek se radi sama SRZ i funkcionalnost, imam jedau simple tabelu na kojoj testiram kod...

Najvise sta mene buni u ovome kako da dodjem do pobede kada zaigraju 2 tima jedan protiv drugog...
Kako ja da odredim koji ce to klub biti pobednik?

Primer mojKlub1 VS mojKlub2

Dali ja pre pocetka meca uzmem ukuponu vrednost svih igraca (atributa, sposobnosti) i sve to saberem u 1 broj i uporedim sa drugim timom i ko ima veci broj sposobnosti po igracima taj pobedjuje???

Primer:
-----------------------------------------------
igrac iz Kluba 1
---Udarac Glavom = 18
---Dribling = 15
---Pas = 13
---Napad = 18
-----------------------------------------------
igrac iz Kluba 2
---Udarac Glavom = 13
---Dribling = 11
---Pas = 10
---Napad = 12

Sada sabiram vrednost svakog igraca i koji ima npr veci broj on pobedjuje....

Neznam dali se to tim putem radi ili ima bolje resenje....

Dali imate neku ideju sto se ovoga tice??

[ dakipro @ 23.09.2011. 15:23 ] @
To ti vec nije problem vezan za php :)
Mozda da konsultujes nekog ko pravi kvote za igraonice, rekao bih da oni znaju sta sve utice na merilo snaga timova, ali siguran sam da je potreban i faktor srece, tj neki random cinilac u jednacini jer ni u realnosti nije konstanta da jaci uvek pobedjuju slabije.
Ali kreni recimo tako sto ces vrednosti koje si spomenuo da uzmes kao okvirne, sa recimo 25% greskom (udarac glavom, vrednost ti je 18 a ti uzmes random izmedju 15-20) i onda tako meris snage, ili saberes sve pa udaris 20-30% odstupanje i to sto ispadne bude merilo snaga. Takodje mozda neke "bad day" momente ubaci s'vremena na vreme, recimo "pala je kisa i golman ti se okliznuo i primio go" ili nekog od igraca je ostavila devojka i on ga ubedario, a pre nego sto ga je trener izbacio on je promasio penal ili tako nesto.
Najbolje nekog ne-programera da konsultujes za ovo, recimo nekog ko ne izlazi iz kladionice, oni se uglavnom po defaultu najbolje razumeju u fudbal i u to ko kad i zasto pobedjuje :)
[ _ikac @ 23.09.2011. 15:34 ] @
Ma imam ja opciju raspolozenje igraca, u kakvoj je formi itd.. ima tu svasta nego nisam navodio...
Hmmm a i tog nekog okorelog kockara da nadjem neverujem da bi i on bas mogao puno da pomogne... Svi oni igraju na srecu

Ajde sacekamo mozda se javi neko sa boljim predlogom
[ _ikac @ 23.09.2011. 19:15 ] @
Ovako nekako....

Na utakmicu ide 11 igraca, svaki igrac ima svoje ocene/atribure...
Ocene se krecu od 1-20. Broj 20 je najaca ocena

Pre pocetka meca saberem vrednost jednog igraca svih ocena... NPR

Igrac1 = 70
Igrac2 = 60
Igrac3 = 90


I tako pokupim vrednost svih 11 igraca i saberem sve vrednosti u jedan zbir,
sto bi bilo 70+60+90 = 220 na ova 3 igraca...
Ja to moram da uradim na svih 11 i cifra bi bila veca nekih 1200


Klub-1 = 1200
Klub-2 = 1100


E sada glupo bi bilo da pobedjuje uvek onaj koji ima bolje igrace, jer nekada i jaci izgube od slabijeg.

Forma igraca : U kakvoj je igrac formi 4-4-7-8-8

Ako tim 1 ima vise igraca koji su u boljoj Fizickoj Formi a drugi manje onda se dodaje +5% sanse za pobedu ovom prvom koji ima vise igraca koji su u formi...

Moral Igraca : od 10 do 100%

Dodajem timu 5% sanse za pobedu ako ima vise posto morala od suprotnog tima

Kondicija : od 10 do 100%

Dodajem timu 5% sanse za pobedu ako ima vise posto kondicije od suprotnog tima

Domacin/Gost:
3% - Sanse za pobedu ako igra na domacem terenu
-3%- Sanse za pobedu ako igra u gostima

Jer ipak je svoj teren svoj teren...

Uticaj Vremena:
+3% - Sanse za pobedu dobijaju oba tima ako je vreme dobro
-3% - Sanse za pobedu se oduzima i jednom i drugom timu ako je vreme lose

Crveni Karton
-3% -Sanse za pobedu Ako neki igrac u toku igre dobije Crveni karton (samim tim utakmica se nastavlja sa igracem manje)

Pocetnicka Sreca
Ako nemate osvojen ni jedan kup u svojoj ligi a igrate sa protivnikom koji je dosta jaci od vas dobijate gratis 3% sanse za pobedu....

E tako sam ja nesto smislio i iscrtao neki diagram...
Sto bi nekako matematicki izgledalo...

Ako klub1 ima 80% Forme a drugi ima 60% onda se dodaje 5% klubu1. Jer 5% na 1200 je 60

Klub-1 = 1200 - Forma(60) + Moral(60) - Kondicija(60) + domacin(36) - vreme(36)
Klub-2 = 1100 + Forma(60) + Moral(60) + Kondicija(60) - gost(36) - vreme(36) + pocSreca(36)

Kao rezultat bi dobio:

Klub-1 = 1140
Klub-2 = 1184

Po ovom proracunu klub-2 bi trebao da pobedi... Ali ima tu jos, sta se desava na terenu.
Ako u toku igre igrac dobije crveni karton smanjujemo 3% sanse za pobedu

Klub-1 = 1140
Klub-2 = 1184 - 3% = 1184 - 3% = 1149

Ako je igrac povredjen i ne moze da nastavi igru zamenjuje ga slabiji igrac oduzimam 3% od pobede...

Uffff ovo je bas komplikovano, sve sam napravio ali ovo je najtezi deo svega
[ _ikac @ 25.09.2011. 05:15 ] @
Ljudi jel neko od vas ikada pravio igricu u PHP???

Od tolikih programera ni jedan odgovor...
[ Mihajlo Cvetanović @ 25.09.2011. 15:31 ] @
A šta je bilo pitanje?
[ _ikac @ 25.09.2011. 18:04 ] @
Predpostavljam da vecina kada vide ovoliko veliki sadrzaj u temi odbije i da procita...

Pitanje je:

Kako je najbolje doci do konacnog rezultata u igrici Fudbal Menadzer.
Nije potreban kod vec samo neka logika vas neki predlog...

Ja sam sam pokusavao, ali ipak mislim da nije jos uvek to u celokupnosti.

Pa sam postavio iz razloga zato sto mozda je neko radio slicnu stvar i upoznat sa ovakvim proracunima pa da mi pojasni najbolji put...
[ Mihajlo Cvetanović @ 25.09.2011. 18:53 ] @
Taško je napraviti čitav sistem tako da dobro oslikava živ fudbal. To je toliko teško da niko verovatno neće besplatno da ti uradi ceo posao. Evo samo par ideja:

1. Umesto da atributi fudbalera budu sabirci u nekekvoj jednačini bolje je da malo "aktivnije" učestvuju, to jest da svaki atribut ima neku ulogu koju ni jedna drugi atribut ne može da ispuni (kao što atributi u RPG-ovima imaju svoje uloge, http://en.wikipedia.org/wiki/Attribute_%28role-playing_games%29 )
2. Fudbal je timska igra (u kojoj uvek pobeđuje Nemačka). Umesto da fudbaleri učestvuju kao sabirci u nekoj jednačini bolje je da na igru utiče kombinacija fudbalera. Skok nekog fudbalera više dolazi do izražaja ako ima saigrača sa preciznim šutom. Za pas igru je odlično ako fudbaleri umeju dobro da se pozicioniraju.
3. U fudbalu mora mnogo stvari da se dogodi da bi se došlo do gola. Treba osmisliti simulaciju koja nije samo jedna jednačina, nego niz događaja, i onda za svaku akciju imaš spisak mogućih ishoda i verovatnoću za svaki od njih. Verovatnoće povoljnog ishoda (fudbaler uspešno dodao onome kome je hteo) je veća u zavisnosti od fudbalerovih atributa, ali i u zavisnosti od uvežbanosti celog tima. Gol se postiže tek ako lopta posle nekoliko takvih koraka uđe u mrežu. Ova tačka treba da bude glavna logika u celoj igri, i sve menadžerske simulacije tako i rade.
4. Umesto da "loš dan" ima ceo tim, dovoljno je da ga ima par fudbalera. Igrač treba da to uoči i prilagodi taktiku situaciji na terenu. Možda čak i da zameni fudbalera.
5. U skladu sa tačkom 4 igrač treba da ima razne taktike na raspolaganju. Slab tim obično igra bunker protiv jakog. Naročito ako povede :-)
6. Fudbaleri se zamaraju tokom utakmice, i vremenom njihove energije se troše. Ako igrač ima zamene na raspolaganju (niko nema loš dan i niko nije povređen u završnici) onda može da iskoristi zamenu za odmornog fudbalera.