.[ ČeskéHry.cz ].
Table Football Pro - na Greenlightu
Jdi na stránku Předchozí  1, 2, 3, 4, 5  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Hry pro PC, konzole, ...
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
RS



Založen: 21. 02. 2012
Příspěvky: 551

PříspěvekZaslal: 15. březen 2017, 13:34:05    Předmět: Odpovědět s citátem

Diky za postrehy Fendi. Promo je velmi ťažké, tiež som skúšal všetko možné. Sector a Games.cz aspon občas niečo zverejnia, hrej.cz je škoda času to sú ignoranti respektive sa tam promo navtrdo platí ako inzercia. A podpora zo strany SK/CZ fans minimálna. Ten čo vie v tom prome chodiť sa nám tu asi nepochváli (Kto by to koniec koncov v takej konkurencii všade naokolo robil že) Smile
Tie kupovania hlasov na greene je blbosť , pretože hru to síce dostane na steam ale čo z toho ked nebude existovat komunita okolo hry s reálnym záujmom o zakúpenie hry?
A budovanie komunity okolo vlastnej hry - to je naj cesta ale ako na to?
Podotýkam bez spamovania fór a iných podobných vecí.

Ja som mal taku zaujmavú skúsenosť pri mojich tankoch. Nazbieralo sa dosť veľa skalných hráčov čo mali nahraté viac ako 100 hodin čo bol pre mna osobne šok. Avšak kedže o hre nik nevedel tak sa málo predávala a steam ju vyhodil z proma. Teraz sa predáva len v zľave ked má aspoň promo počas zľavy
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Diskobolos



Založen: 14. 03. 2017
Příspěvky: 63
Bydliště: Praha

PříspěvekZaslal: 15. březen 2017, 14:16:45    Předmět: Odpovědět s citátem

Tady jsem něco k tomu sepsal (EDIT: pod nickem Ticklersoft):
http://steamcommunity.com/groups/TheBestOfGreenlight/discussions/0/154644349170706077/

Logika za tím je, že propagovat hru na Greenlightu (= rozuměj hru pro Steam) má smysl jen u lidí, co už Steam mají.
Obtíže s přístupností Greenlightu, co jsem popsal v odkazu, mě vedou k tomu, že má smysl postovat ve steam groupách. Odtud je nejjednodušší cesta dostat se na stránku hry.

Může to ale být zakázané. Na zákaz mě uporoznili v Nizozemské skupině.
http://steamcommunity.com/groups/Netherlands/discussions/0/133259227527877956/

Já tohle ve Valve pravidlech neviděl, ale fakt se můžu mýlit.
V polské skupině tam měli vyslovený zákaz reklamy, tak jsem tam nic nedával.

Asi bych měl vysvětlit, co myslím tím postováním ve steam groupách. Jsou tam tématické groupy - tím, že dělám fotbal jsem to postoval do group okolo fotbalu. A pak do group u států, kde frčí fotbal.

Jestli mám být upřímný, nelíbí se mi to. A představa, že to bude dělat hafo vývojárů tím ty groupy zabije a všude nás budou nenávidět. Myslím, že tohle je problém Valve - pokud opravdu mi hra propagačně "umře" po týdnu na Greenlightu, budu logicky hledat další možnosti, jak Steam hráče oslovit.

Jestli to v létě Valve vyřeší tak, že mi umožní hru vydat a pak se objeví na store page u lidí, co zajímá fotbal, pak to asi může fungovat.

Zatím jsem na nic dalšího nepřišel.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Diskobolos



Založen: 14. 03. 2017
Příspěvky: 63
Bydliště: Praha

PříspěvekZaslal: 15. březen 2017, 15:03:37    Předmět: Odpovědět s citátem

BTW: Tohle GDC video je celkem informativní...
https://www.youtube.com/watch?v=Q5tyX_IBTXA&spfreload=5

Zajímavá otázka nakonec:
https://youtu.be/Q5tyX_IBTXA?t=1665
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 15. březen 2017, 20:45:36    Předmět: Odpovědět s citátem

Diskobolos: Zapalcováno. Smile
Jinak tahle hra si vyloženě říká i o VR verzi ovladatelnou rukama (tj. Vive/Touch controllers), v Unity je pro to solidní podpora, neuvažuješ o tom?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Diskobolos



Založen: 14. 03. 2017
Příspěvky: 63
Bydliště: Praha

PříspěvekZaslal: 15. březen 2017, 20:59:24    Předmět: Odpovědět s citátem

Mem napsal:
Diskobolos: Zapalcováno. Smile
Jinak tahle hra si vyloženě říká i o VR verzi ovladatelnou rukama (tj. Vive/Touch controllers), v Unity je pro to solidní podpora, neuvažuješ o tom?


Díky! Smile
Uvažoval jsem o tom, ale nemám VR set ani comp, co by to utáhnul.
Navíc jsem to nechtěl propagovat jako VR (only) titul, když se to dá hrát i normálně. Nicméně kdyby o to byl zájem, tak do toho určitě půjdu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Diskobolos



Založen: 14. 03. 2017
Příspěvky: 63
Bydliště: Praha

PříspěvekZaslal: 31. březen 2017, 09:50:11    Předmět: Odpovědět s citátem

Tak už mám zelenou! Smile
Chtěl jsem vám všem moc poděkovat za pomoc a podporu. Pomohli jste mi.
Teď se prokousávám přihlašovacím procesem...

Jinak mám v plánu na hře dělat ještě dva měsíce, koncem dubna jít do Early Accessu, pokud už hra bude prezentovatelná.

Hlavní dva body, co chci dokončit, jsou:
1) dodělat multiplayer, zatím je neodlazený
2) dodělat integraci se Steam Inventory a dát tam dropy kosmetických itemů
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
McMagic



Založen: 06. 08. 2012
Příspěvky: 615

PříspěvekZaslal: 2. duben 2017, 10:25:16    Předmět: Odpovědět s citátem

Tak taky něco napíšu k tématu green atd.
Jedná se jen o moje zkušenosti.

Greenu je dle mne škoda, i když z vlastní zkušenosti vím že je úplně jedno za jak dlouho hra projde či kolik nabere hlasů apod. Ale je to taková ta první zkušenost s reakcí na hru mimo fanoušky či kamarády. Nutí člověka dělat propagaci a konfrontovat jiné než pozitivní názory.
Pokud to ale člověk nedá na green a pak už jen čeká. Ale nějak se aktivně snaží, tak je to opravdu dobrý učitel a malá příprava na samotné peklo - steam prodejní stránka;)

Na jednu stranu je greenu škoda (pro ty co to myslí vážně, je to dobrá lekce), na druhou stranu těchto lidí je opravdu málo = projdou projekty, kde si autor mylně myslí, že se hra bude prodávat sama od sebe a vydělá mu milióny bez toho aby tvrdě makal a šáhl si i na dno.
Dneska bych green využil mnohem lépe něž dříve a opravdu bych použil tu jeho největší sílu a snažil se o opravdu dobré hype a pr kolem daného projektu - ale jen za předpokladu, že po schválení je hra hned ready do prodeje - jinak se to vše mine účinkem -> zájem vychladne a start na store page je v podstatě od nuly.
Na druhou stranu bez greenu to půjde taky a možná že i lépe - bude možné energii a sílu směřovat jinam - na samotný start prodeje.

Green u mne měl takovéto výsledky a čísla:

5711 hlasů celkem - z toho 65% ano (převážně hlasovali fanoušci a cz/sk komunita).
Hra se dostala na 10 místo z 1449 her v danou dobu na greenu (toto číslo je ale hodně diskutabilní, jelikož prvně hra postupuje po procentech do top 100. Následně pak poskakuje nahoru nebo dolu v top100 - ale zde je moc dobře vidět že hra vždy leze pomalu nahoru a pak jsou větší skoky (v den kdy steam něco schválí a uvolní se tam místo v topce Wink tj. jakmile se dosáhne top100 je to už v podstatě doma - buď za pár dní nebo za měsíc či během 14ti denního schvalovacího intervalu )
U mého projektu to bylo trošku jinak a hra dostala zelenou za pět dní mimo schvalovací den.

Jo člověk byl najednou v sedmém nebi a dodalo to až moc energie (ale i mylné naivní představy o tom jak je projekt super;) což se podepsalo na startu prodeje ).


U mého projektu jsem volil amatérskou (spíše začátečnickou) strategii už od samotného počátku vývoje - ale to je život a člověk se pořád učí Wink vezmu to tedy bodově:
Je to hlavně k early access (jiné zkušenosti nemám). A také u projektu co není masově úspěšný a negeneroval během startu šílené prodeje - prostě takový průměr.

1) Samotná hra musí být dobrá, něčím zajímavá apod. Na té to vše stojí - je nutné aby tam byla vidět odvedená práce atd. Ale to je na každém autorovi jak se k tomu postaví.

2) Sociální sítě (fb apod.) jsou nutnost, ale neslouží k tomu že by měli prodávat hru. Je mylná představa že si hru koupí každý fanoušek apod. Zákazníci jsou hlavně ze Steamu či z reklamy (ale musí mít Steam účet;) ).
Je totální hloupost se zaměřovat pouze na cz/sk komunitu - já to tak měl i v den startu prodeje a jako maximální fail Very Happy CZ/SK komunita je super - umí podpořit když je potřeba. Ale kupní síla je opravdu velmi malá. Během prvních měsíců se v cz/sk skoro nic neprodalo - a celkově i z fb fanoušků to byli mizivá %. Tak jako tak je nutné fb držet a propagovat se (sdílet články a nabírat nové fanoušky) - ale celosvětově - ono to postupem času naroste (stejně důležitý je i twitter - jelikož fb už moc netáhne v západních zemích apod.). Ale není to primární médium - to je vždy samotný Steam - store page.

3) Jakmile začne prodej, tak je nutné nabrat 50 recenzí během prvního týdne. Od Steamu je garance propagace během prvního měsíce, ale pokud hra nedosáhne 50 recenzí, tak nedostane prostor. A přesně toto se stalo i mě - první týden byla hra vidět, ale nedosáhla 50 recenzí - po týdnu tedy zmizela a byla nutnost nějak ty recenze nahnat (v té době to ještě šlo přes darované klíče kamarádům - což už dnes nejde...). Tak jako tak se ztratil celý týden a bylo to hodně poznat na prodejích.
Takže na začátku je nutné se zaměřit na ty recenze - což je dnes těžší (nedají se už sehnat za klíče ale jen z prodejů = opravdu intenznivně propagovat při startu - reklamy, soc. sítě atd. prostě to tlačit násilně mezi lidi -> to bych dnes dělal - velký hype šíleně přehnaný apod. - týden před startem bych to spustil a masíroval budoucí zákazníky;) )

4) Je nutné komunikovat se zákazníky na Steam fóru - je to hodně zásadní věc - nebýt arogantní či namyšlený - být prostě svůj a ukázat pokoru i svoje nedostatky a chyby.
Zde je nutné se naučit ignorovat hate, trolling apod. Z negativních věcí si vzít ponaučení a z pozitivních si dobíjet energii. Ale je nutné vše číst a procházet - ty negace jsou kolikrát to co pomůže více než pozitivní ohlasy. Zákaznicí ( i budoucí ), si tyto věci pamatují a jsou schopni i po roce poděkovat za něco co se slíbilo a dodrželo (nebo vytáhnout nějaký slib co se nedodržel;) ). Lidi nejsou blbí (i když si to člověk někdy myslí) - ale jsou leniví - proto je nutné někdy odpovědi psát opravdu jak pro blbce - pořád se opakovat či směřovat na FAQ apod.

5) Pokud člověk opravdu věří v bod 1. Tak je nutné vydržet a nevzdávat to. Makat i když jsou prodeje a recenze mizerné (pokud je jasné, že je nutné něco opravit, dodělat apod.). Dobrým vodítkem zdali má hra opravdu potenciál je wishlist (pokud roste, tak se to jednou promítne i v prodejích - když se ve hře dodělají věci co zákazníci chtějí apod.). Jenže wishlist se naplní adekvátně až v době velkých Steam slev či po čase. Je to dlouhá cesta.

No je toho více co by se dalo napsat, ale jsem malá rybka s málo zkušenostmi a možná to platí jen u mého projektu či si naivně myslím, že to tak nějak může fungovat - tak už to nebudu dál rozepisovat Very Happy

Spíše by se asi hodilo něco k těm prodejům - spíše bych to nazval zaslouženou odměnou - nebo ještě lépe jak je vidět co ovlivňuje prodeje.

1) Cena hry - je moc moc důležitá - dobré je si projít konkurenci či podobné projekty a nějak si určit cenu dle nich. Přesně takto jsem to dělal, ale pak udělal tu největší chybu co jsem mohl... Řekl jsem si že ta hra nabízí více (nebo bude časem) a tak by měla stát taky více + byla i obava, že co když to koupí opravdu moc lidí (hehe) a co pak (když jsem věděl, že hra není dokonalá zdaleka a potřebuje ještě opravdu mnoho dní (spíše let) vývoje.

Tady udělám vsuvku - early access jsem bral a beru jako zdroj financování vývoje (vím, že to není moc dobré). Ale nic jiného mě nezbývalo - buď pořád chodit do práce, pokusit se o kc či jinou finanční injekci na vývoj a hru ještě více doladit, s tím že půjde do prodeje o rok později. Okolnosti ale udělali rozhodnutí to risknout, práce bylo mnoho a na hru už nebylo moc času a energie - bylo nutné skončit a dělat jen hru a tím pádem to pustit do prodeje a doufat, že se něco vydělá (přeci jen je to primárně sólo projekt, tak nebylo nutné živit tým lidí).


Zpět k té ceně - cenu jsem dal vysokou (zbytečně moc) bylo to cca 26.99 (nebo 29.99... už nevím teď Very Happy ) - dnes bych dal cenu asi 14.99EUR - u ceny je nutné počítat i s tím kolik bude čistý zisk během slev - nesmí to být prostě moc málo - prostě tak akorát. Tj. po cca měsíci/dvou šla cena dolů na 24.99 a pak na 19.99 na které je dodnes.

2) Nejvíce se na Steamu logicky prodává během slev (a pak i pár dní po slevách). Je naprostá povinnost se účastnit velkých slev (globálních od Steamu) a aby člověk měl šanci něco prodat v té obrovské konkurenci je třeba dávat slevu velkou (běžnou na toto období - od 60% do 85% atd.). V toto období nejde ani tak o zisk - ale spíše o to nabrat hráče a hlavně wishlist. Logicky, ale i při velké slevě se generují zisky větší než mimo slevy. Ale není dobré dávat velké slevy v prvních měsících hry na steamu - hodně to působí že hra je propadák a chce vytěžit ještě maximum než umře.


Já osobně mohu popsat vývoj prodeje s odstupem roku a půl (co je hra v prodeji).

Hodně dobré jsou individuální slevy trefené do dobrého času (období) což je ale těžké posuzovat a člověk se pořád učí - také ideální kombo je sleva + velký update.
Velký update = návrat starých hráčů = větší aktivita ve hře = větší pozornost přátel zákazníků i steamu = generování nových prodejů ve větším objemu díky slevě. Individuální sleva má ještě jeden účinek - odeslání emailu lidem co je mají povolené a mají hru ve wishlistu - ze zkušenosti vím, že během individuální slevy je cca 50% z wishlistu.

První měsíc byl na první pohled (nebo spíše na můj pohled v té době) super i přes týdenní výpadek v recenzích (ale to že hra byla vidět aspoň tři týdny udělalo svoje). Zásadní problém byla vysoká cena a bugy ve hře atd.
V základu se zaplatili veškeré náklady na dosavadní vývoj + zůstalo i dostatek peněz na to začít pracovat fulltime jen na hře.

Jelikož hra vyšla v říjnu 2015 nebylo moc dobré dávat velkou slevu na globální halloween, podzimní a vánoční akce. Takže tyto slevy toho moc nevygenerovali, ale naplnili lehce wishlist.

První úspěšnější prodeje pak přišli v únoru 2016 - kdy se udělal větší update (na který čekali noví zákaznici) v kombinaci se slevou to generovalo dobrý zisk.

Další pak následovalo v květnu.

Někdy přes léto - počátek podzimu jsem měl pauzu - nebyla chuť, nálada a energie dělat na hře nějak intenzivně. Což se podepsalo na prodejích a člověk si i říkal že to už nemá cenu.

Dal jsem hře ale nakonec šanci - a plný energie po zvládnutí syndromu vyhoření jsem začal dělat zase aktualizace. Prodeje a zájem zase rostl a stoupal nahoru.
Halloween a podzimní slevy se prodávali celkem dobře + rostl ale hodně wishlist.
Vánoční slevy 2016 - udělali moc slušné prodeje (v podstatě to samé co první měsíc startu hry) a trhli se i první rekordy v denních prodejích a hra byla docela dost často v top prodejích v early access a i na main page steamu.
Proč tomu tak bylo vidím v aktualizacích a komunikaci se zákazníky - prostě po roce ta hra pořád nějak funguje a lidi to vidí - aktualizace + komunikace se postupně podepisuje na prodejích.

Uzavřel se tedy rok 2016 - a začalo se plánovat co jak dál v roce 2017. Prodeje překonali plány a tak se vědělo, že je nutné dál makat a udržet stabilní přísun aktualizaci - vývoj byl finančně zajištěn.

V lednu jsem jen tak ze srandy udělal individuální slevu - s tím ať ji vyčerpám a mám pak prostor na slevy během jara. Nijak se nečekali závratné prodeje či cokoliv jiného.
Opak byl ale pravdou během ledna se trhli nové rekordy a leden tak udělal v prodejích skoro to samé co celý rok 2016. Vůbec jsem to nechápal - ale ukázalo se, že aktivní aktualizace opravdu mají vliv na prodeje.
Vznikl ale jeden problém (opravdu velký) - muselo se udělat rozhodnutí pozastavit aktualizace - což je jako blbost že jo, když aktualizace generují prodeje.
Ale hra měla až moc nových bugů (způsobených přechodem na update enginu (někdy v listopadu) a už nebylo možné se vrátit zpět - jelikož bylo už moc aktualizací na zabugovaném jádru) - velké lednové prodeje ukázali, nové bugy na 100% a jediné řešení bylo (a je) stopnout updaty a přepracovat jádro celé hry.

Na tom se teď silně pracuje (a termín updatu je už ve skluzu:( ), podepisuje se to na prodejích (i když globálně únor-březen jsou mrtvé měsíce). Prodeje jsou ale lepší i v tomto špatném období než v roce 2016 (ve stejném období). Ale je vidět, že pomalu ale jistě klesají. Snad vše zase zvrátí aktualizace;) Ale nemohu si vzít na triko, že hru bude kupovat více lidí a hra je prostě špatná - ta oprava a předělávka je nutná a férové řešení pro nové i stávající hráče.
Většina hráčů to chápe a přestali hru hrát a čekají na novinky - tak snad to dopadne dobřeWink
Ale je klidně možné, že leden byl jen poslední výkřik před smrtí Very Happy (No tomu ale nevěřím jinak bych nedělal tu velkou aktualizaci;) )

No a co tím básník chtěl vlastně říci - že není moc dobré slepě věřit, že hra se prodává sama a steam ji bude propagovat jen tak - steam propaguje to co se prodává a generuje mu peníze. Pokud mu něco vygeneruje peníze, tak to pak propaguje i mimo dny kdy se hra prodává (falešně ji zařazuje do top denních prodejů i když se ten den neprodává - protože vědí že se prodávat bude a je jen špatný den). Ale aby to takto fungovalo je nutné makat a makat, komunikovat atd. Nic není zadarmo a je nutné věřit (ale ne slepě).

No a já končím Very Happy Napsal jsem toho hodně - číst to po sobě nebudu - takže se omlouvám za všechny překlepy, nelogičnosti apod. Very Happy
Snad to někomu pomůže.

Je to pohled člověka a hry, kdy prodeje jsou opravdu vydřené a neveze se to na vlně prvních prodejů během startu. A nejedná se o žádný super hit apod. Jinak řečeno -> i po roce se dají dělat kouzla...

No a ke hře, které patří toto vlákno - držím palce snad se zadaří (můj šálek kávy to není, proto to nedokážu korektně ohodnotit) !
_________________


http://www.mcmagic-productions.com/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Diskobolos



Založen: 14. 03. 2017
Příspěvky: 63
Bydliště: Praha

PříspěvekZaslal: 2. duben 2017, 11:07:08    Předmět: Odpovědět s citátem

Tybrďo, dík za obsáhlé info ... Moc to pomůže!

Ad fotbálek - on to taky není můj šálek kávy, ale někde se začít musí ... Smile

Ad Novus Inceptio - vypadá to hustě ... Smile
Nechceš s tím nějak pomoct? V unity dělám relativně krátce (4 roky po večerech), ale v korporátu už dost dlouho ... A jestli máš teď problém se stabilizací kódu, tak narovnávat legacy kód a pokrýt ho unit testy byla moje specialita ...

Jinak s prací v týmu taky zápasím - nejsem moc na hledání nových kontaktů, mám partu kamarádů a spíš se z ních snažím vychovat členy týmu ... Smile

Ale říkám si - nechcete někdy spáchat nějaký sraz a pobavit se o hrách?
Jsem z Prahy, ale můžu dorazit i někam po republice.
Nevím, nějak mi chybí možnost se bavit s lidmi z herní branže ... Probrat architekturu her, "ten marketing" a případně osobně domluvit nějaké spolupráce.

Moc jsem tady fórum neprocházel, tak nevím, jestli se něco organizuje ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
McMagic



Založen: 06. 08. 2012
Příspěvky: 615

PříspěvekZaslal: 2. duben 2017, 12:39:59    Předmět: Odpovědět s citátem

No není zač - nevím zdali to nějak pomůže nebo ne;)

Pomoc teď nepotřebuji (není problém ani tak v kódu, jako v celé logice světa atd...). Také nejsem moc týmový hráčWink Tým jednou bude - přemýšlím nad ním, ale u NI je to teď nemožné. Spíše na další projekty (ale na tým lidí to chce kapitál trošku větší + finanční rezervu když se něco pokazí (a ono se pokazí vždy něco;) ).

Srazy jsou (pokud to tak lze nazvat).
Každý rok je GDS v Praze (na podzim).

http://www.gdsession.com/

+ je sraz v Třeboni (GameDay + vyhlášení České hry roku) - letos to bude lehce na ústupu (jelikož Česká hra roku již proběhla před měsícem cca v Praze) a ve stejnou dobu kdy je GameDay je GameAccess v Brně kam směřuje spousta lidí (ti co chtějí přednášky nebo něco prezentovat - Třeboň je spíše sraz u piva;).

http://www.gameday.cz/

http://www.ceskahraroku.cz/

http://game-access.com/

Jinak jsou v Praze, Brne Game Dev meetupy

http://gamedevarea.cz/projekty/gamedev-area-meetup/
http://www.gamedevhub.org/

atd...
_________________


http://www.mcmagic-productions.com/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Diskobolos



Založen: 14. 03. 2017
Příspěvky: 63
Bydliště: Praha

PříspěvekZaslal: 2. duben 2017, 13:17:37    Předmět: Odpovědět s citátem

Ad srazy - já měl na mysli něco nekomerčního / neformálního - prostě se sejít a pokecat, kdo na čem dělá, s čím má problém a probrat to třeba u piva.
Ideálně tak vybudovat nějakou stabilní skupinu lidí, co si "sedne" a může se pravidelně scházet a pomáhat si.

Nemyslím, že je k tomu potřeba konferenční místnost s projektorem a předem daným programem...

Já rozhodně mám spoustu otázek, co potřebují odpovědět ... a myslím, že taky můžu přispět... Smile
Vím, že můžu na to založit vlákna na fóru, ale přijde mi lepší to nejdřív rozebrat osobně než to složitě popisovat na fóru...

Já teď třeba zápasím s optimálním development procesem - jsem zvyklý pracovat IDE-first, ne vyvíjet přes Unity. Zvažuju převést backend kód do samostatného projektu (architekturu mám přes StrangeIoC v Unity, takže mám backend ... Smile ), pokrýt to unit testy a vyvíjet backend nezávisle na Unity. Vím, že s tímhle přístupem jsou problémy, ale myslím, že to za to stojí, i u malé hry.

Teď jsem stáhnul Unity 5.6, tak zkouším, jak moc je to rozbité ... Zatím vypadá, že funguje ... Taky nové VS2017.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
RS



Založen: 21. 02. 2012
Příspěvky: 551

PříspěvekZaslal: 2. duben 2017, 17:01:15    Předmět: Odpovědět s citátem

Martin - tvoj suhrn je nasup plny uzitocneho info! diky!
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
abuki



Založen: 31. 07. 2012
Příspěvky: 507
Bydliště: Praha

PříspěvekZaslal: 3. duben 2017, 09:51:37    Předmět: Odpovědět s citátem

Martin: super rozbor, díky za něj
_________________
Twitter @abukac
www.amanita-design.net
www.circusatos.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Radis



Založen: 29. 03. 2014
Příspěvky: 235

PříspěvekZaslal: 3. duben 2017, 12:47:27    Předmět: Odpovědět s citátem

Diskobolos napsal:

Zvažuju převést backend kód do samostatného projektu (architekturu mám přes StrangeIoC v Unity, takže mám backend ... Smile ), pokrýt to unit testy a vyvíjet backend nezávisle na Unity. Vím, že s tímhle přístupem jsou problémy, ale myslím, že to za to stojí, i u malé hry.


No nevim, nedelal bych to. Unit testy jsou v Unity krasne zaintegrovane. Zakladni podpora pro testovani je primo v Unity a zbytek (NSubstitute, podpora pro integracni testy atd.) je v asset storu jako Unity Test Tools. Jestli chces pouzivat IoC framework, podivej se jeste na Zenject. Pro praci v Unity je podle me mohem, mnohem lepsi nez StrangeIoC, ale stejne bych zvazil, jestli vubec DI framework potrebujes. Podle me si tim akorat zbytecne komplikujes zivot. Chapu, ze sis z business vyvoje prinesl urcity mindset a ted se ho snazis aplikovat na hry, ale mozna bys mel zkusit delat veci vic ve stylu Unity a vyzkouset, jestli to nebude lepsi. Proc u mensiho nebo stredniho projektu nepouzivat misto DI frameworku proste strukturu game objectu a zavislosti neresit pomoci GetComponent(), [SerializeField] a treba i FindObjectOfType?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Diskobolos



Založen: 14. 03. 2017
Příspěvky: 63
Bydliště: Praha

PříspěvekZaslal: 3. duben 2017, 13:36:32    Předmět: Odpovědět s citátem

Radis napsal:

No nevim, nedelal bych to. Unit testy jsou v Unity krasne zaintegrovane. Zakladni podpora pro testovani je primo v Unity a zbytek (NSubstitute, podpora pro integracni testy atd.) je v asset storu jako Unity Test Tools. Jestli chces pouzivat IoC framework, podivej se jeste na Zenject. Pro praci v Unity je podle me mohem, mnohem lepsi nez StrangeIoC, ale stejne bych zvazil, jestli vubec DI framework potrebujes. Podle me si tim akorat zbytecne komplikujes zivot. Chapu, ze sis z business vyvoje prinesl urcity mindset a ted se ho snazis aplikovat na hry, ale mozna bys mel zkusit delat veci vic ve stylu Unity a vyzkouset, jestli to nebude lepsi. Proc u mensiho nebo stredniho projektu nepouzivat misto DI frameworku proste strukturu game objectu a zavislosti neresit pomoci GetComponent(), [SerializeField] a treba i FindObjectOfType?


Máš pravdu, asi ten mindset dělá hodně. Pro mě je Unity celkem chaotická věc.

Proč StrangeIoC
-------------------
Někde jsem četl debatu, jestli MVC framework je vhodný pro hry. Nebyla na to jednoznačná odpověď.

Já jen vím, že defaultní způsob u Unity je pro mě silně nevyhovující a StrangeIoC je lepší, byť komplikovanější. Zkoušel jsem ještě uFrame a i když mnohé věci oproti StrangeIoC automatizuje, bylo to na mě moc komplikované a svazující.
Já patřím mezi ty typy programátorů, co si ještě rádi zkomplikují život (u her je to asi nevýhoda, ale v korporátu jsou za to někdy rádi).

Zkusím vysvětlit, v čem je Unity špatná:
1) Vše v Unity je MonoBehaviour (resp. ScriptableObject) - já ale nechci vše mít jako Mono, já chci používat normální objekty a řešit si OOP vlastním způsobem. Unity ti tímhle brání udělat backend.
Ano, lze udělat své objekty a dát je někam jako referenci pod nějaký MonoBehaviour, ale vše je tím vždy navázané na nějaký MonoBehaviour.
Můžu si např. udělat jeden "master" Mono objekt a veškerý backend inicializovat z něj - ale to přesně dělá StrangeIoC.

2) Dependency injection (nebo spíš binding, jak by řekl autor StrangeIoC) je celkem důležitá věc - musíš být schopen propojit jednotlivé části kódu. V Unity jsou způsoby, jak jsi je uvedl - buď budu hledat GameObjecty / MonoBehaviour Componenty s rizikem, že je nenajdu (hierarchie se mění, objekty se ničí, něco není ještě naloadované, atp...) a nebo to budu řešit přes Singletony - to je podle mě spíš antipattern. Binding ve StrangeIoC to řeší a i když ne vždy ideálně, tak alespoň konzistentně.

Je StrangeIoC tedy vhodné řešení? Za ta léta jsem nic lepšího nenašel. Jeden můj známý řekl, že nejdůležitější přínos MVC je, že se oddělí model od view - a s tím se stotožňuji.
Mrknu na ten framework, co jsi zmiňoval.
Jestli bych StraneIoC doporučil ostatním? Jen pro zkušenější a klidně i na menší projekty. Na prototyping a pro začínající programátory rozhodně ne.
Nebezpečí StrangeIoC je v tom, že ho človek začne používat víc, než by měl (a to platí o každém frameworku).


Ad progress s přesunutím backend kódu do DLL
----------------------------------------------------
Kupodivu to funguje!

Jako obrovskou výhodu mám to, že nyní pracuji čistě v IDE a nemusím řešit, jak unity pořád synchronizuje (nebo naopak ne) solution. Unit testy píšu a spouštím taky v IDE.

Nevýhody jsou zřejmé - oddělí se tím kód frontendu a backendu a každý build backendu znamená v unity znovunačtení celého DLL - ale trvá to jen pár vteřin. Mám tam post build akci, co ta dll nakopíruje zpět do Unity.

Teď dělím ten backend kód ještě do vícero projektů, celé se to zpřehlednilo (mám kód pro klienta a dedicated server).

Jediná věc, na kterou si člověk OPRAVDU musí dávat pozor, je, že přesunutí jakéhokoli skriptu typu MonoBehaviour nebo ScriptableObject do DLL znamená, že Unity ztratí link přes .meta soubor a veškeré GUID reference se tím zneplatní.
Je na to více způsobů, jak to fixnout, např.:
- GUID dají se opravit ručně v .meta souborech, pokud je máte v textovém režimu. DLL má jedno sdílené GUID.
- do backendu se nemusejí přesouvat ScriptableObjecty samotné, ale předělat backend tak, aby používal jen nově vzniklé interfaces a ty pak přidat na ScriptableObjecty (a ty zůstanou v Unity).

MonoBehaviour soubory bych do DLL nestrkal (rozhodně ne do backendu).

Otázka ve StrangeIoC je, kde udělat čáru a říct, co z toho je backend a co ne. View a Mediator rozhodně ne. Model a Signály rozhodně ano. Commandy - nevím - některé ano a některé ne. Možná by tam být neměly, ale relevatntní logika z nich by se mohla přesunout do backendu.


Ono to celé možná působí jako akademické cvičení, ale když člověk začne dělat větší projekt od začátku dobře, tak se to rozhodně vyplatí. A já se to teď učím..
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Diskobolos



Založen: 14. 03. 2017
Příspěvky: 63
Bydliště: Praha

PříspěvekZaslal: 8. květen 2017, 12:29:20    Předmět: Odpovědět s citátem

Posílám update po měsíci práce...

Mám hru už snad plně převedenou do backendu.
Na frontendu jsou opravdu jen ty nejnutnější věci týkající se interakce s Unity.

Co je na backendu:
- veškerá herní logika, očividně
- bootstrap backendu a celé hry (jedna Root scéna s jedním view to celé spustí)
- loadování "scén" (na backendu nejsou scény jako takové, ale pro mě je scéna určitá část funkčnosti - menu, hra, síť, hudba, atp.)
- game loop - celé to tikám z jednoho FixedUpdate
- síťová komunikace (používám UNET LLAPI) - kromě pár UNET-specifických service class
- zpracování inputu od uživatele (opět tenká vrstva, co to čte na frontendu)

Možnosti testování:
Buildím dvě .dll: hru (=klienta) a dedicated server.
Obojí můžu v testech "spustit" na backendu a testovat, co se kdy děje a v jakém pořadí. V testech si ručně "tikám" gameloop, ručně přijímám zprávy přes síť a koukám, co se s nimi děje, atp.
Teď, když udělám nějakou změnu, rovnou spouštím testy, jestli to něco nerozbilo (a že často rozbije).
Když mám pochybnosti, jestli něco funguje tak, jak má, doplním do testů a ladím tam.

Docela dost věcí z toho je znovu použitelných pro další projekty.

Pokroky se síťovým kódem:
- už neposílám jednotlivé packety 200x za vteřinu ... Smile
- mám tam implementovaný sběr síťových zpráv, ty se jednou za daný čas vyfiltrují a poskládají do packetu
- na druhé straně je zařadím do fronty a postupně zpracovávám podle času zprávy (interpolace)
- používám ve hře silně fyziku (ta se v Unity nedá vrátit), tak musím interpolaci bohužel dělat jak na klientovi i na serveru - může to být problém při velké latenci
- napsal jsem si vlatní serializaci na úrovni bitů, UNET LLAPI používá pro bool hodnoty celý byte!
- zbývá mi ještě napsat komprese floatů, případně dalších typů
- musím ještě pokrýt v testech všechny eventuality - aby se server nezaseknul, když se hráč odpojí, atp.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Hry pro PC, konzole, ... Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4, 5  Další
Strana 2 z 5

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna