All english written articles have English article tag and lays under horizontal line. First part is written in Czech.

neděle 4. března 2012

Vysvědčení realizačnímu ,,týmu" manawydanu / Czech only article

O napsání tohoto článku jsem uvažoval docela dlouho ale teďka to nějak přeteklo a je to tady. Co bylo takovou poslední věcí je asi tento zápisek z konané akce:
O krok blíže k získání Goren-Zaru... Velká výprava dobrodruhů s různými motivy dokázala získat rady od samotného Pána smrti. Odměnou za své vysvobození pohovořil o původu bolesti a nastínil i možnost jejího oslabení. Trpaslíci se rady ihned chopili a vedeni čarodějem Fankem Diamantem se rozhodli osvobodit svou domovinu.
Čaroděj sám se vydal do ústraní, připravit vše potřebné k osvobození trpasličích slují. Co je čeká v dalších dnech nelze snadno říct... Prozatím snad prokopat se z dolu, kam se podařilo vytvořit stabilní portál. Dál? Těžko říct... 
no ale nepředbíhejme. Svoje působení můžu rozdělit na několik fází. První je taková ta fáze okouzlení. Ultimu jsem zatím do té doby poznal jen ze strany tvůrce hry a to ještě hry krajně specifické. Kdežto tam jsem dostal velký kus světa. Možnost vyrábět výrobky a následně je prodávat. Sem tam si i něco zabít. To byla docela pěkná doba. Potom se to docela fajn období začalo přelévat do období jakéhosi mírného prozření. Začal jsem tak nějak víc vnímat dění děj ve hře a i se do něj zapojovat. Stále to ale bylo fajn jít si zahrát a nějak děj ve hře posunou o trošku dál. Potom přišel první zádrhel a pak další a další až sem se dostal do bodu mírného naštvání ale zas sem se z toho stavu nějak dostal. Myslím že k tomu kladně přispěli nově příchozí členové ,,týmu" z řad hráčů. Byli to Kain, Nooblest (snad se to tak píše) a Hamish, nějak sem cítil že by mohli docela i se vším pohnout a rozhýbat dějovou linii která v té době dostávala silně na frak. Bohužel se mi zdá že jejich snažení bylo ihned záhy zbytek ,,týmu" potlačeno že fakticky Nooblest odešel úplně, Kain to zabalil před nedávnem a jedinej Hamish se to stále trošku snaží někam posunout. Další fáze ve které jsem se pohyboval byla zcela antiskorarovská. Prakticky stačilo aby se na chatu ozvalo GM Sokar: ahoj a já sem už hledal tlačítko logout. Poslední fáze ve které sem se až do včera vyskytoval byly úvahy kdy odejít jak odejít. No to je asi celý příběh idkyž značně zjednodušený ale co jsem chtěl hlavně nějak zhodnotiti celé ty 2 roky co jsem tam nějak aktivněji působil. Zvolil sem proto formu jakéhosi vysvědčení. Uvedu jednotlivá jména a pokusím se je svými zraky zhodnotit známkami jako ve škole, vždy se pokusím napsat důvody které mě k takovému hodnocení vedou. Tak tedy:

Whitey (aka veký šéf jak mu skromně říkám) - za 4-5 proč tak špatné hodnocení asi protože je vedoucím co prakticky nevede. Jeho pozice je ,,skriptař" je zde vidět ale snaha řešit problémy skriptově ikdyž snadné problémy jsou nutné řešit na vícekrát než se to konečně povede celé opravit. Co je ovšem špatně je oblíbená fráze ,,prosím o testy". Ta ve mě vzbuzuje rozporuplné reakce. Předně bych si napsaný skript měl ozkoušet sám potom jej teprve dát k dispozici hráčům. Jako fatálně chybný krok lze označit nejdříve odladění soubojového systému 2.5 který slušně fungoval a jeho ze dne na den nahrazení systémem 3, který na tom byl otřesně a tak přišel projekt o celý půl rok práce.

Geo (nemám) - za 1-2 sympatický tatínek programátor s dlouhým pingem odpovědí, právě jeho si asi vážím nejvíc ze všech. Napsal vlastní UO klient což je pro mě zatím něco nepředstavitelného a taky mě naučil používat pípáka twitteráka.

Marina (pro tu nemám žádné nové jméno) - za 3-4 příde mi jako poměrně náladová osoba. Jednou je s ní dobrá domluva a podruhé je k nevydržení. Osobní špatný zážitek jsem nabral při stavění ohrádky kdy nám asistovala. Zřejmě už u toho nechtěla sedět a tak nám dala jakési ultimatum že teď musíme vyvrátit strom který sme už dříve odstranili a ona si toho nevšimla. Odmítli sme to protože to už bylo uděláno, násilně vše ukončila a smazala. Mám ale i dobré zkušenosti kupříkladu se stavbou sklepa. Tady sem docela i zapomněl na debatu o tom jak správně psát programy. Ta mě docela i bavila.

Stig (nemám taky přízvisko)  - za 3 pokud mu napíšete na icq že máte problém ochotně a rád si jej pokud má čas vyslechne a pokusí se jej vyřešit, dá se s ním docela dobře domluvit, zažil jsem taky dost dobrých akcí pod jeho vedením, příkladem budiž krysař v cyproně, ale... (ted mě napadlo že je takové úsloví že to co je před ale se nepočítá ale tady to prosím počítejme) velmi rád zastává svůj názor a to mnohdy velmi hádavě a neústupně ikdyž není zrovna tak dobrý jako jeho oponentů. Možná právě proto dostal to co dostal.

Kain (abel, lothar...) - za 1-2 fajn matfyzák co dokazuje že tam chodí i celkem normální lidi. Kain se snažil vnést na RP shard trochu RP a logiky do bezduchýho expení a dungaření a bohužel tvrdě narazil. Dobře se s ním spolupracuje ikdyž mi příde že to občas trošku přehání a z neznámého důvodu se mě bojí.

Brak (asi nemá) - za 2, zajímavá akce s modrým kamenem, jediné co mě mrzí že nebude objasněn a dokončen, jinak taky docela fajn člověk s malířským nadáním který se naplno věnoval orkům.

RadstaR (stačí RadstaR) -za 2, výborný odborník na soubory Ultimy který rád a ochotně poradí ohledně technických věcí, akci od něj jsem nezažil řekl bych ale že je to takový muž v technické části

Sokar (aka ,,kde se vzalo tu se vzalo najednou to tu prostě je a hotovo") - za 5 (nečekaně) tady není co dodat, jediné co tento člověk docela umí je něco postavit, akce typu z ničeho nic se objeví 100 npc který napadnou skupinku dobrodruhů asi nejsou zkrátka pro mě.

Keringer (aka ocásek) - 5 absolutní nepochopení toho proč jsem to tady napsal, Sokarův ocásek a kývač, názorově jde s většinou aniž by se rozhlížel kolem, pozitivní zkušenost žádná.

Celkové hodnocení není bohužel moc lichotivé. Ikdyž přece jen se najdou věci pozitivní ale zdá se že ty negativní převažují. Celkové hodnocení manawdanu je asi takovéto: Server jako takový je na tom nadprůměrně dobře po technické stránce (vlastní klient) ale značně pokulhává při akcích a řešení otázek RP prostředí.

pátek 2. března 2012

XNA Serializace / XNA Serialization

Je to vlastně proces při kterém se ukládají objekty do souboru aby se při dalším spuštění programu mohly znovu načíst a dále používat. Bude to použito k ukládání místností v žvb2. Nejčastěji se provádí XML serializace nebo také binární (zápis informací ve dvojkové formě do souboru). XML je docela fajn a dá se snadno editovat, ale já to moc nemusím, nelíbí se mi jak se to cele prochází při zpracování. Nějaké to node a spol. Binární serializace je mi o dost bližší. Používá jej RunUO které používá žvb1. Každá třída má svou metodu serialize a deserialize ve které provádí zápis ale také čtení z datového proudu. Hodnoty musí být zapsány a potom vyzvednuty ve stejném pořadí to je snad jediné úskalí této metody. Já jsem nakonec vzal právě binární serializaci přímo z RunUO a jen ji trochu promazal a upravil. Snad se to smí. Níže je jakási moje úvaha o tom jaký způsob přesně použít. Jsou v zásadě 3 o kterejch jsem uvažoval aniž bych musel číst nebo hledat řešení od někoho jiného, jak to obvykle dělám.

do jednoho souboru:
bin soubor
Typ komponenty
data

Při chybě nebo ztrátě typu máme totální smůlu a je to celé v háji.

do dvou souboru:
bin soubor                                         idx soubor
    data                                                       typ
                                                          start záznamu
                                                         délka záznamu

Při ztrátě typu nebo chybě přeskočíme daný blok a pokračujeme dalším. Při chybě v indexu máme smůlu.

do tří souborů - ala RunUO:
bin soubor                         idx soubor                         pdb soubor
data                                       id typu                             typy podle id
                                         start záznamu
                                        délka záznamu
Při ztrátě typu se prostě jen ignoruje to dané id, při chybě v indexu máme smůlu.



Serialization is process that save objects states into file/s and than load them and use them in future. Most common ways is use XML or writing binary files. XML is quite good, it can be simply edited with normal text editor, but I don't like way of parsing files with nodes. So I choose binary files. I have some good experiencis with this way (žvb 1 emulator RunUO used this) and is possible simply correct errors such as mising type of component or error in getting values. Each class that can be serialized have special constructor and two methods Serialize and Deserialize. Thats all that is requred. Only disandvatage is that variables must be saved and loaded in same order. So I chose binary serialization from RunUO and make some small corrections. I will post another blog entry when I think that is all working properly. Firt, I must choose one of three methods that I know.

to one file:
bin file
Component type
data

When error is occoured all date are lost

to two files:
bin file                                                   idx file
    data                                             Component type
                                                   start position in stream
                                                         length of stream

When error is occoured we can easily skip demaged area and try to continue with loading. If error is in index file everything is lost

do tří souborů - ala RunUO:
bin file                                 idx file                                pdb file
data                                    id of type                        type of component
                                start position in stream
                                      length in stream

Same as above but we have types saved in extra file. Missing types can be easily skipped by id.