Egy massively multiplayer online stratégiai játék blogja a fejlesztés kezdetétől a játék indulásáig, és túl...

Utolsó kommentek

  • devDavid: Közérdekű közlemény #1 Készítettem egy kisebb adatbázis dump-ot, amivel könnyebb dolgozni (fejles... (2012.12.24. 14:11) Letölthető Zandagort
  • cu2: @devDavid: Lehet, hogy én voltam félreérthető, mert nem vettem rossz néven a(z egyébként jogos) kr... (2012.12.23. 17:42) Letölthető Zandagort
  • devDavid: @cu2: ne érts félre, nem kritizálni akarom, nagyon nagy dolog - szerintem - hogy egy ilyen projekt... (2012.12.23. 17:24) Letölthető Zandagort
  • Utolsó 20

Címkék

A töketlen anyahajók repülési sebessége

2011.09.10. 01:16 cu2

Mennyi egy töketlen fecske maximális repülési sebessége?

Attól függ. Afrikai vagy európai?

Mennyi tíz anyahajó és egy szonda maximális repülési sebessége?

A leírás szerint: "Egy flotta sebessége az anyahajón kívüli hajók közül a leglassabb sebességének és az anyahajó sebességének az egyenértékkel súlyozott átlaga." Jelen esetben az anyahajón kívüli sebesség 20pc, az anyahajóé 40pc. Az anyahajók egyenértéke 400, az egész flottáé 409,9, vagyis az anyahajók aránya 97,6%. Így a flotta sebessége: 97,6% x 40pc + 2,4% x 20pc = 39,52pc ≈ 40pc.

Mennyi tíz anyahajó, egy szonda és húsz fulgur maximális repülési sebessége?

Az anyahajón kívüli sebesség 20pc, az anyahajóé 40pc. Az anyahajók egyenértéke 400, az egész flottáé 694,9, vagyis az anyahajók aránya 57,6%. Így a flotta sebessége: 57,6% x 40pc + 42,4% x 20pc = 31,52pc ≈ 32pc.

És itt már látható is a probléma. A fulgurokat teljesen fölösleges anyahajókba pakolni, hiszen simán tudnak 40pc-vel menni (persze 50-nel is, de ha egy flottában vannak, akkor megvárják a lassabb hajókat). Vagyis úgy lenne értelmes, ha a sebességképletben az anyahajók aránya nem a teljes flottára vonatkozna, hanem csak a fulgur nélküli részre. Ez vasárnap estétől így is lesz. Azért nem most azonnal változik és azért van ez a blogbejegyzés, hogy a flották ne ugorjanak meg teljes kiszámíthatatlanul és váratlanul.

(A legjobb persze az lenne, ha először a leglassabb hajókat pakolnánk be az anyahajókba, és a flotta sebessége azon múlna, hogy mi a leglassabb hajó, ami már nem fért be. Csakhogy ezt nehézkes számolni, ezért van a fenti súlyozott átlagos képlet.)

13 komment

Címkék: változás űrhajó flotta s4

A bejegyzés trackback címe:

https://zandagort.blog.hu/api/trackback/id/tr133214975

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

iqtower 2011.09.10. 10:24:12

Ennek az átlagolásnak a világon semmi értelme nincs, hisz ha bepakolok valamennyi egyéget egy anyahajóra akkor az anyahajó hajtómve szállítja az egészet, és a eberakodott hajók hajtóműve nem működik. Sokkal ésszerűbb lenne egy hajóegységgel számolni. Egy anyahajó képes legyen mondjuk 10 kisebb hajót vinni darabra, vagy egy másik módszer szerint képes legyen valamennyi hajóegységet száítani. Ekkor normális anyahajó sebességgel mehetnek együtt. Egyszerűen leprogramozható is, és ésszerű is. Így értelmet kapnak az anyahajók. Tovább bonyolítható a rendszer egy esetleges berakodási, és kirakodási idővel mint a termelésnél. Az egy kör alatt berakodható, és kirakodható hajók számával. Pl hogy ne lehessen villmtámadásokat intézni az anyahajókkal, és a bennük felpakolt szálltott flottával. A valóságszerű támadásokat így a célpont közelében le kéne állítani, és a kirakodott flottval közelebbről indítani a támadást. Kicsit macerás lehet támadáskor, de a védekezőknek is meg kell adni a lehetőséget a játékra.

cu2 · http://zandagort.hu/ 2011.09.10. 11:42:33

@iqtower: Pont ugyanannyi értelme van, mint a jópár más átlagolásnak a játékban. Miért nincsenek egyesével számontartva a hajók? Miért nem lehet sérült hajókat javítani? Miért van átlagolva a morál és a tapasztalat? Miért százalékosan hat a koordi és az OHS? Ezek ellen is pont ugyanúgy lehet valóságból hozott érveket felhozni, mint az anyahajó ellen. És a válasz is ugyanaz: mind a programozás, mind a játék (a játékosok számára való) egyszerűsítése miatt szükség van némi absztrakcióra. De gondolom ezzel nem foglak meggyőzni, hiszen te a ki-bepakolással magát a játékot is bonyolítanád, nem csak a leprogramozását (lásd a zárójeles megjegyzésem).

Powerslave 2011.09.10. 16:41:38

@cu2: Az űrhajókat lehet javítani, még ha nem akartad így :)

A fenti tanács pedig szvsz jót tenne a sokat - és azt kell mondanom, jogosan - szapult harcrendszernek.
Ha egyszerű leprogramozásról álmodozol, akkor mondjuk az anyahajó sebessége lehetne anyahajó_sebesség * (anyahajó_egyenérték / teljes_egyenérték / 100)
így az anyahajók a terhelés arányában lassulnak és az áhított "valószerűség" is megszületik.

Ugyanakkor nem hiszem,hogy komoly problémát jelent leprogramozni azt, hogy mindig a leglassabb X darab hajó maradjon ki a sebességszámításból. Sőt, valóban szebb, mint a százalékolgatás...

Powerslave 2011.09.10. 17:28:27

A bonyolultságot amúgy a SOLID principle és a composed method pattern alkalmazásával részben megúszhatod :)

cu2 · http://zandagort.hu/ 2011.09.10. 18:55:10

@Powerslave:
Ha van 1000 űrhajóm, aminek kilövik a felét, akkor nem 1000 50%-os űrhajóm marad, hanem 500 sértetlen, 500 pedig megsemmisül. Ha netán 50%-nál picit kisebb a veszteség és marad még egy fél, amit tudok javítani, akkor az az 500-hoz képest elhanyagolható. Vagyis _lényegében_ nem lehet javítani űrhajókat.

" Sokat szapult harcrendszer" alatt nem tudom pontosan mit értesz, láttam a pár év alatt pár száz hozzászólást, pro és kontra érvet a témában, és nem igazán ez volt a fókuszban.

Ami a bonyolultságot illeti, szerintem két alapvető dolgot nem veszel figyelembe:

1. Ez nem egy programozási verseny, ahol le kell tudni programozni a fenti feature-t X nyelven. Azért bízom benne, elhiszed, hogy le tudnám. :-) Hanem hogy egy elég nagy rendszerbe kellene beletenni egy újabb plusz terhelést, miközben a múlt hétvégi csaták is érezhetően belassították a szervert. És nem, nem azt mondom, hogy a fenti feature annyira belassítaná, csak azt, hogy ez nem figyelmen kívül hagyható, ezért elsősorban nem az én tudásomról szól. (Bár az optimalizálás is kétségkívül tudás kérdése.)

2. A felsorolt módszertanok sem oldják meg azt a problémát, hogy két hónapja indult a szerver, és például a flották összevonhatóságát már az indulás előtt egy hónappal beígértem, még sincs belőle még semmi. Miközben lényegesen többet dobna a játékon, mint az, hogy az anyahajók mennyire valószerűen szállítanak.

Nekem most ennyi időm volt/van a játékra, olyan egyszerű okból, hogy még mindig meg kell élnem valamiből, ami nem módszertan kérdése.

Persze ha mutatsz egy embert, aki
* -ben megbízom
* hajlandó a munkaidejéből pár hetet arra szánni, hogy megértsen és átlásson egy 3 éve fejlesztett, dokumentálatlan, és persze/sajnos nem falrengető minőségű kódot
* hajlandó úgy fejleszteni, hogy sem részesedést nem kap (a befektetett munka és pénz arányában nagyjából semmi jönne ki neki), sem bármi egyéb kompenzációt
* emellett elég profi és kitartó
akkor van miről tárgyalni. :-) Nézz körül a Játékfejlesztés.hu-n, mennyi behalt projekt van. Vagy eleve olyanok vágnak bele, akik azt hiszik, 3 nap alatt lehet komoly játékot fejleszteni, vagy nincsenek tisztában vele, hogy a kitartásuk nem fog pár hétnél tovább tartani. A legtöbb ember már itt elbukik. Aki pedig már elég tapasztalt, hogy ezeket kikerülje, az általában jól meg van fizetve, családja van vagy szeretne családot, satöbbi, vagyis ugyanúgy megfojtja a csúnya anyagi valóság, ahogy engem. (Ez igazán költői lett. :-))

Úgyhogy nyugodtan küldjétek be a fórumra ötlet/javaslatnak, hogy legyen az anyahajók gyorsítása ilyen vagy olyan, fel lesz jegyezve, és ha egyszer úgy alakul, hogy mind a 200 témát fel tudom dolgozni (értsd: megvalósítani vagy okkal/joggal elvetni), akkor ez is sorra fog kerülni. És ezt nem szemétkedésből mondom, hanem mert sajnos tényleg muszáj priorizálni.

Powerslave 2011.09.10. 20:53:53

@cu2:
Látom, átérzem és megértem a problémádat.
Ezesetben viszont azt javasolnám, hogy inkább a meglevő kódbázist refaktoráld a módosítások helyett.

Szerintem a játékosok is megértik, ha a minőség érdekében ideiglenesen leveszed a mennyiségről a hangsúlyt. Azt meg már nyilván tudod, mennyit segíthetsz magadon egy refakttal. Jó, szopó átírni a meglevő kódot, de ha ezért cserébe egyszerűbben tudod a jövőben bővíteni, akkor nem kizárt,h megéri :)

iqtower 2011.09.11. 22:51:49

@cu2: Ha az anyahajónál nem is számolunk ki és bepakolási időt, attól még lehetne valamilyen egység limit, hogy hány másik hajó férjen rá egy anyahajóra, és akkor mind mehetne anyahajó sebességggel. És igenis meggyőzhető vagyok - akár egy egyszerű nem-mel is. Csak egy javaslat volt részemről...
.-)
további jó játékot kívánok

legyes 2011.09.16. 15:14:24

@iqtower - gondold azt, hogy vonósugárral gyorsítja a lassabb hajókat és nincs raktár probléma... Ááá öcsém ez egy sci-fi játék :)

@Powerslave - Épp azt írta Cucu, hogy nem éri meg újraírni az optimalizálatlan kódot, mert senki sem fizeti ki a fele fektetett időt. Ő is ember, még ha kicsit szögletes is. Még neki is alig több, mint 24 óra 1 nap... A dinamikus webezés amúgy is végtelen projekt szerintem. Egyedül az eddig létrehozott kód is szép teljesítmény szerintem.

Powerslave 2011.09.17. 22:14:19

@legyes: Nem áll szándékomban megkérdőjelezni a teljesítményt, nem volna alapja, hiszen magam is tudom, milyen komoly erőfeszítéseket követel meg egy komplex rendszer elkészítése.
Az idő megy, akár refaktorálsz, akár nem, de egy rossz kód eléggé meg tudja keseríteni az ember életét és az improvementek elkészítésekor is rossz minőségű kódot kényszeríthet, így meg már kumulatív jellegű a probléma. Ezzel szemben egy refaktorált kóddal a saját jövőbeni munkádat teszed kevésbé megterhelővé.
Olyasmi ez, mint a pair programming "anomália" (bár jómagam nem rajongok az ötletért, hogy valaki csicseregjen a fülembe)
Ha csak 5-10 percet fordítok refaktra alkalmanként, már azzal is sokat

Powerslave 2011.09.17. 22:21:11

...nyerhetek.
Cucu nyilván tisztában is van ezzel, ahogy én is azzal az érzéssel, amikor van kismillió tennivaló és hirtelen azt sem tudom, hova klikkeljek.
Ha épp nem kell valamit kommittálni "tegnapra", akkor elég jó döntés új feature implementálásával szemben a refaktot priorizálni.

AjemMarci 2011.09.26. 11:06:43

Egy dolog nem egészen világos nekem:

"Egy flotta sebessége az anyahajón kívüli hajók közül a leglassabb sebességének és az anyahajó sebességének az egyenértékkel súlyozott átlaga."

A sebesség számításánál csak az anyahajók és a leglassabb hajók aránya számít, vagy számít ezek flottán belüli aránya is? Mert a leírás alapján az előbbire tippelnék, de a gyakorlat nem ezt mondja. Ugyanis ha kiveszek egy adag köztes sebességű hajót, a flotta sebessége változik.

cu2 · http://zandagort.hu/ 2011.09.26. 11:17:00

@AjemMarci: A súly (a súlyozott átlagban) az anyahajók aránya a teljes flottára vetítve, illetve a fenti változás óta a teljes flottába nem számítanak bele a fulgurok.

Vagyis ha köztes sebességű hajókat pakolsz ki-be, akkor a teljes flotta egyenértéke változik, így az anyahajók aránya is változik, így a sebesség is változik.

AjemMarci 2011.09.26. 11:39:19

@cu2: Köszönöm szépen, így már világos :)
A leírásban az nem volt egyértelmű, hogy a súlyozás csak a hajók natúr egyenértékével történik vagy a teljes flottán belüli arányokkal. De így már oké :)
süti beállítások módosítása