xfire: ldeska Helped: 34 times Age: 42 Joined: 29 Mar 2006 Posts: 23439 Piwa: 21/1 Location: Warszawa
Posted: 2008-09-08, 12:20 [MOD] KAC_Random
Pomysł już dość obgadany, spróbujmy coś z tym zrobić. Mam kilka pomysłów, ale żaden nie jest dobry w 100%. Proszę tylko w tym wątku o konstruktywne uwagi a nie narzekanie na randoma
A więc:
1) funkcja licząca szanse na wygraną rundy używa średniej z dwóch losowań
aby to zmienić trzeba w pliku CvUnit.cpp zmienić linię numer 1081 w metodzie void CvUnit::resolveCombat(CvUnit* pDefender, CvPlot* pPlot, CvBattleDefinition& kBattle)
z:
Code:
if (GC.getGameINLINE().getSorenRandNum(GC.getDefineINT("COMBAT_DIE_SIDES"), "Combat") < iDefenderOdds)
na:
Code:
if ((GC.getGameINLINE().getSorenRandNum(GC.getDefineINT("COMBAT_DIE_SIDES"), "Combat") + GC.getGameINLINE().getSorenRandNum(GC.getDefineINT("COMBAT_DIE_SIDES") / 2), "Combat") < iDefenderOdds)
i potem oczywiście przekompilować DLL'kę i zrobić z niej moda. Wgrać moda do civki i mamy taki zmodyfikowany random.
Zalety:
- przy walce jednostek o równych siłach rozrzut będzie znacznie mniejszy, wygrywający zostanie z małą siłą (statystycznie oczywiście)
Wady:
- przy walce jednostek o dużej różnicy sił częściej ten silniejszy nie będzie nawet draśniety
Wnioski:
Nie sądzę aby takie coś się sprawdziło, nie będzie na przykład jak wykurzyć jednostki z zalesionej górki jak samemu się będzie miało takie same jednostki.
2) funkcja licząca walkę nie będzie losowała walki tylko jakoś ją obliczała według z góry zadanego wzoru (bez elementu losowego).
Zalety:
- gra będzie zupełnie logiczna a nie losowa
Wady:
- bardzo duża praca - trzeba uwzględnić pierwszy atak, obrażenia grupowe, flankowanie, bombardowanie
Dogadałem się z Anionem że mi przekompiluje i zrobi nam takiego mod'a więc mam nadzieję że niedługo będziemy mieć pierwszą wersję mod'a KAC_Random do testów
xfire: fcbeny Helped: 50 times Age: 31 Joined: 12 Mar 2006 Posts: 9056 Piwa: 60/13 Location: Czerniejewo
Posted: 2008-09-08, 13:35
A jest gdzieś funkcja zwaracająca te procentowe szansy (pewnie jest, ale gdzie)?
Bo można by zrobić tak, że tylko podczas gdy szanse na zwycięstwo są większe/równe 50% to liczy według nowej metody. W przeciwnym wypadku liczy według starej.
W ten sposób zmniejszamy ryzyko wtopki przy wiekszych szansach na wygraną, ale nie zmniejszamy szans "fuksa" przy mniejszych szansach
xfire: ldeska Helped: 34 times Age: 42 Joined: 29 Mar 2006 Posts: 23439 Piwa: 21/1 Location: Warszawa
Posted: 2008-09-08, 13:38
Ciekawe pomysł. Może być trudny w realizacji, ale obejrzę przy drugim podejściu... jak dostaniemy skompilowanego mod'a od Aniona to go potestujemy i wtedy mu dorzucimy drugą rzecz do kompilacji
Helped: 12 times Age: 39 Joined: 27 Feb 2007 Posts: 5128 Piwa: 8/28 Location: Warszawa
Posted: 2008-09-08, 14:00
No to właśńie chyba na odwrót. Atakując jednostkę w lesie masz szanse znacznie poniżej 50% i wtedy system oryginalny jest lepszy, bo zadajesz zawsze jakieś obrażenia. W systemie leszka 1 to nie masz szans w ataku na jednostkę w lesie
xfire: fcbeny Helped: 50 times Age: 31 Joined: 12 Mar 2006 Posts: 9056 Piwa: 60/13 Location: Czerniejewo
Posted: 2008-09-08, 14:52
pawelt wrote:
No to właśńie chyba na odwrót. Atakując jednostkę w lesie masz szanse znacznie poniżej 50% i wtedy system oryginalny jest lepszy, bo zadajesz zawsze jakieś obrażenia. W systemie leszka 1 to nie masz szans w ataku na jednostkę w lesie
No właśnie tak napisałem. Jeśli atakujący ma więcej niż 50% to system Leszka, mniej to system oryginalny
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum