{"id":57461,"date":"2013-06-05T22:02:37","date_gmt":"2013-06-05T20:02:37","guid":{"rendered":"http:\/\/noezgames.com\/?p=57461"},"modified":"2019-10-10T22:10:33","modified_gmt":"2019-10-10T20:10:33","slug":"psani-gdd","status":"publish","type":"post","link":"https:\/\/noezgames.com\/?p=57461","title":{"rendered":"Psan\u00ed GDD"},"content":{"rendered":"<h5>\u00davaha p\u0159ed tvorbou mechaniky<\/h5>\n<p>V minul\u00fdch d\u00edlech blogu jsem se zab\u00fdval zejm\u00e9na z\u00edsk\u00e1v\u00e1n\u00edm \u010dlen\u016f t\u00fdmu a jejich p\u0159\u00ednosem pro projekt. V dne\u0161n\u00edm blogu z tohoto sm\u011bru trochu odbo\u010d\u00edm a nast\u00edn\u00edm V\u00e1m, jak\u00fdm zp\u016fsobem jsem postupoval p\u0159i tvorb\u011b hern\u00edch mechanik do hry.<br \/>\n<br \/>\nNejprve jsem si ud\u011blal d\u016fkladnou anal\u00fdzu toho, co m\u011b vlastn\u011b v mechanik\u00e1ch dne\u0161n\u00edch her \u0161tve a chyb\u00ed. Je to zejm\u00e9na neust\u00e1l\u00e9 zjednodu\u0161ov\u00e1n\u00ed mechanik na \u00fakor re\u00e1lnosti. Kdy\u017e p\u016fjdu trochu do hloubky, je to zejm\u00e9na velmi mal\u00fd a nezaj\u00edmav\u00fd invent\u00e1\u0159, mal\u00fd v\u00fdb\u011br akc\u00ed a nere\u00e1lnost bojov\u00fdch sc\u00e9n. Vzal jsem tedy tyto nedostatky, invertoval je a vytvo\u0159il z nich pil\u00ed\u0159e taktick\u00e9 \u010d\u00e1sti hry. Jsou jimi: komplexn\u00ed invent\u00e1\u0159, mechanika souboj\u016f a velk\u00e9 mo\u017enosti v\u00fdb\u011bru akc\u00ed. Z\u00e1rove\u0148 ve\u0161ker\u00e9 hodnoty sekund\u00e1rn\u00edch atribut\u016f (\u017eivoty, stamina, ak\u010dn\u00ed body apod.) mus\u00ed v\u017edy vych\u00e1zet ze z\u00e1kladn\u00edch atribut\u016f (s\u00edly, obratnosti, \u00farovn\u011b\u2026) a dovednost\u00ed (bojov\u00fdch i nebojov\u00fdch).<\/p>\n<p><a href=\"https:\/\/noezgames.com\/wp-content\/uploads\/2019\/10\/Blog_03_obrazek_01.png\"><img decoding=\"async\" src=\"https:\/\/noezgames.com\/wp-content\/uploads\/2019\/10\/Blog_03_obrazek_01.png\" alt=\"Porovn\u00e1n\u00ed her\" width=\"650\"  position: absolute; top: 0px; right: 0; \/><\/a><\/p>\n<h4>Obr\u00e1zek 1 \u2013 Vlevo naho\u0159e: UFO: Enemy unknown (1993); vpravo naho\u0159e: XCOM: Enemy unknown (2012); dole: re\u00e1ln\u00fd invenr\u00e1\u0159 modern\u00edho voj\u00e1ka (http:\/\/pixgood.com\/). Jak je patrn\u00e9 z obr\u00e1zku, tak invent\u00e1\u0159 re\u00e1ln\u00e9ho voj\u00e1ka je sam\u00e1 kapsa \u010di \u00faschovn\u00fd prostor, oproti voj\u00e1kovi z XCOMu, kter\u00fd m\u016f\u017ee m\u00edt prim\u00e1rn\u00ed zbra\u0148, sekund\u00e1rn\u00ed zbra\u0148 a jeden gran\u00e1t a je parodi\u00ed na re\u00e1ln\u00e9ho voj\u00e1ka. Takov\u00e9ho trag\u00e9da bychom asi proti mimozem\u0161\u0165an\u016fm nevyslali.<\/h4>\n<p>\nCo je velk\u00e1 nev\u00fdhoda RPG (i dungeon\u016f) je komplexnost. Ona to sama napov\u00edd\u00e1 zkratka RPG (role playing game), kde hlavn\u00ed p\u0159edpoklad je na tom, \u017ee hr\u00e1\u010d je staven do role hr\u00e1t n\u011bkoho jin\u00e9ho (svou postavu) v n\u011bjak\u00e9 situaci (sv\u011bt\u011b). Je tedy t\u0159eba vytvo\u0159it sv\u011bt, mechaniku sv\u011bta, NPC, questy, soubojov\u00fd syst\u00e9m, dovednostn\u00ed syst\u00e9m, mapy a mnoho dal\u0161\u00edho. Kdy\u017e d\u011bl\u00e1te nap\u0159. z\u00e1vodn\u00ed hru, sta\u010d\u00ed vytvo\u0159it dr\u00e1hy, modely aut a mechaniku (jak se auto bude chovat p\u0159i r\u016fzn\u00fdch situac\u00edch). Kdy\u017e d\u011bl\u00e1te FPS hru, je to podobn\u00e9. Zbran\u011b, mechaniku pro n\u011b, ter\u00e9n a UI nep\u0159\u00e1tel. U RPG je t\u0159eba vytvo\u0159it v\u0161echno. Jinak ned\u011bl\u00e1te RPG, ale jen hru s prvky RPG nap\u0159. Diablo.<br \/>\n<\/p>\n<h5>Sestaven\u00ed pil\u00ed\u0159\u016f hry<\/h5>\n<p>M\u00e1m tedy n\u011bjakou vizi toho, na \u010dem bude postaven soubojov\u00fd syst\u00e9m, co\u017e je jeden prvek z mnoha. Bylo tedy t\u0159eba stanovit, jak bude v\u016fbec hra prob\u00edhat jako celek. Dob\u0159e tedy. Ve sv\u011bt\u011b se budeme muset n\u011bjak pohybovat. Jeliko\u017e st\u00e1le m\u00e1m v pl\u00e1nu d\u011blat dungeon, je pohled z prvn\u00ed osoby naprosto jasnou volbou. Ot\u00e1zkou nad\u00e1le z\u016fst\u00e1v\u00e1, zda p\u0159echod mezi lokacemi bude prob\u00edhat stejn\u011b. Jeliko\u017e bylo jasn\u00e9, \u017ee budu m\u00edt jen velmi omezen\u00e9 zdroje, tak jsem cestu vymodelov\u00e1n\u00ed cel\u00e9ho sv\u011bta okam\u017eit\u011b zavrhnul. Rozhodl jsem se tedy pro formu lokac\u00ed.<br \/>\n<br \/>\nA z\u00e1kladn\u00ed koncept hry je na sv\u011bt\u011b: Pr\u016fzkum bude prob\u00edhat ve 3d lokac\u00edch pohledem prvn\u00ed osoby (Might and Magic, Shadows over Riva), d\u00e1le tahov\u00fd souboj na hexov\u00e9m poli (Kings Bounty, Heroes of Might and Magic) a p\u0159esun po map\u011b bude tvo\u0159en po map\u011b mezi lokacemi (Fallout, Baldur\u2019s Gate).<\/p>\n<p><a href=\"https:\/\/noezgames.com\/wp-content\/uploads\/2019\/10\/Blog_03_obrazek_02.png\"><img decoding=\"async\" src=\"https:\/\/noezgames.com\/wp-content\/uploads\/2019\/10\/Blog_03_obrazek_02.png\" alt=\"Vlevo naho\u0159e: pohled z prvn\u00ed osoby; vpravo naho\u0159e: n\u00e1vrh invent\u00e1\u0159e postavy; vlevo dole: rozhran\u00ed pro souboj; vpravo dole: cestov\u00e1n\u00ed po map\u011b\" width=\"650\"  position: absolute; top: 0px; right: 0; \/><\/a><\/p>\n<h4>Obr\u00e1zek 2 \u2013 Vlevo naho\u0159e: pohled z prvn\u00ed osoby; vpravo naho\u0159e: n\u00e1vrh invent\u00e1\u0159e postavy; vlevo dole: rozhran\u00ed pro souboj; vpravo dole: cestov\u00e1n\u00ed po map\u011b<\/h4>\n<p>\nJe jasn\u00e9, \u017ee nejv\u00edce \u010dasu zabere mechanika pro souboje, teda alespo\u0148 z pohledu game designera :). Vytvo\u0159il jsem n\u00e1st\u0159el atribut\u016f a za\u010dal sepisovat akce, kter\u00e9 bych cht\u011bl, aby mohla postava v souboji d\u011blat. Z\u00e1rove\u0148 bych do souboje moc r\u00e1d zakomponoval i vliv prost\u0159ed\u00ed (schov\u00e1n\u00ed se za p\u0159ek\u00e1\u017eky, vysko\u010den\u00ed na n\u011b apod. Nakonec mi vy\u0161el seznam cca 40ti mo\u017en\u00fdch i nemo\u017en\u00fdch akc\u00ed. To u\u017e je celkem divo\u010dina. Je to p\u0159eci jenom hodn\u011b i na hard-core hr\u00e1\u010de. Tak jsem to zredukoval na n\u011bjak\u00fdch 25, co\u017e je st\u00e1le hodn\u011b, ale kdy\u017e p\u0159ipust\u00edme \u017ee spousta z nich je n\u011b\u010d\u00edm podm\u00edn\u011bn\u00fdch, tak u\u017e by to mohlo b\u00fdt hrateln\u00e9 (chyby odhal\u00edme a\u017e alpha testov\u00e1n\u00edm).<br \/>\n<br \/>\nOK. Akce by byly, ale RPG toho obsahuje o dost v\u00edce. Schv\u00e1ln\u011b v\u00e1m sem nap\u00ed\u0161u seznam z\u00e1kladn\u00edch mechanik- prk\u016f mechaniky, a\u0165 si ud\u011bl\u00e1te obr\u00e1zek: Rasy, atributy, povol\u00e1n\u00ed, dovednosti, akce, boj, kritick\u00e9 \u00fasp\u011bchy a ne\u00fasp\u011bchy, zat\u00ed\u017een\u00ed, obnovov\u00e1n\u00ed sekund\u00e1rn\u00edch atribut\u016f, vliv osv\u011btlen\u00ed, p\u0159edm\u011bty, zbran\u011b, zbroje, ekonomika, kouzlen\u00ed, kouzla, o\u010darov\u00e1n\u00ed, kraden\u00ed, besti\u00e1\u0159, stavy. Toto a mnoh\u00e9 dal\u0161\u00ed je t\u0159eba vy\u0159e\u0161it pro komplexn\u00ed dungeon, kter\u00fd pl\u00e1nuju vytvo\u0159it.<br \/>\n<\/p>\n<h5>Testov\u00e1n\u00ed<\/h5>\n<p>Kdybych tady popisoval, jak jsem d\u011blal ka\u017ed\u00fd aspekt mechaniky, asi bych V\u00e1s unudil k smrti. Tak\u017ee V\u00e1s t\u00edm d\u00e1le nebudu zat\u011b\u017eovat. OK, tedy. Dejme tomu, \u017ee kompletn\u00ed mechanika je napsan\u00e1, respektive verze 0.01. P\u00e1\u010d mechaniku jsem je\u0161t\u011b mnohokr\u00e1t p\u0159ed\u011bl\u00e1val a ur\u010dit\u011b je\u0161t\u011b p\u0159ed\u011bl\u00e1vat budu \ud83d\ude42 Takto vytvo\u0159enou mechaniku je t\u0159eba za\u010d\u00edt testovat. Samoz\u0159ejm\u011b nejlep\u0161\u00ed by bylo testovat j\u00ed p\u0159\u00edmo na h\u0159e, to by znamenalo cel\u00e9 to hodit program\u00e1torovi a \u0159\u00edci vytvo\u0159 mi podle toho hru, s \u201ckosti\u010dkama\u201d, a\u0165 to m\u016f\u017eeme otestovat. To by samoz\u0159ejm\u011b \u0161lo a bylo by to i velmi vhodn\u00e9, nikoli v\u0161ak efektivn\u00ed. Ve v\u00fdsledku se tomuto testov\u00e1n\u00ed stejn\u011b nevyhneme.<br \/>\n<br \/>\nZ\u00e1kladn\u00ed testov\u00e1n\u00ed jsem provedl na pap\u00ed\u0159e. Vytvo\u0159il si battleground, vzal figurky z DrD, hexov\u00fd pap\u00edr, vytvo\u0159il p\u00e1r hern\u00edch postav dle mechaniky a postavil proti nim n\u011bkolik kostlivc\u016f a zombi\u00ed. Jeliko\u017e d\u011bl\u00e1me hard-core RPG, tak jsem samoz\u0159ejm\u011b z\u00e1kladn\u00ed vyv\u00e1\u017een\u00ed ud\u011blal nevyv\u00e1\u017een\u00e9 \ud83d\ude00 tzn. sou\u010det level\u016f postav byla polovina sou\u010dtu level\u016f nep\u0159\u00e1tel a za\u010dalo testov\u00e1n\u00ed a odhalov\u00e1n\u00ed velk\u00e9ho mno\u017estv\u00ed chyb v mechanice.<br \/>\n<br \/>\nPr\u016fb\u011bh testov\u00e1n\u00ed byl velmi uspokojiv\u00fd, ale kdy\u017e jsme za\u010dali zkou\u0161et extr\u00e9my, za\u010dala b\u00fdt mechanika velmi nestabiln\u00ed. Postavy vytvo\u0159en\u00e9 za \u00fa\u010delem maxima AB (ak\u010dn\u00edch bod\u016f) byly a\u017e p\u0159\u00edli\u0161 \u201cimba\u201d s porovn\u00e1n\u00ed s ostatn\u00edmi. Chyba byla v tom, \u017ee jsme m\u011bli a\u017e moc velk\u00fd rozsah ak\u010dn\u00edch bod\u016f (6-21) dle z\u00e1kladn\u00edch atribut\u016f.<br \/>\n<br \/>\nDal\u0161\u00ed testov\u00e1n\u00ed odhalilo nevhodnost p\u0159esn\u00e9ho po\u010dtu AB za ve\u0161ker\u00e9 akce a tak jsme u n\u011bkter\u00fdch akc\u00ed p\u0159e\u0161li na procentu\u00e1ln\u00ed syst\u00e9m. No op\u011bt v\u00e1s nebudu zat\u011b\u017eovat syst\u00e9mem oprav, sp\u00ed\u0161 mi \u0161lo o to nast\u00ednit u\u017eite\u010dnost tohoto testov\u00e1n\u00ed, kter\u00e9 a\u017e na celkem nudn\u00e9 v\u00fdpo\u010dty (norm\u00e1ln\u011b by je za n\u00e1s d\u011blal po\u010d\u00edta\u010d), je celkem i z\u00e1bavn\u00e9.<br \/>\n<br \/>\nS takto otestovanou mechanikou se u\u017e daj\u00ed vytvo\u0159it prvn\u00ed prototypy soubojov\u00e9ho syst\u00e9mu, kter\u00e9 odhal\u00ed dal\u0161\u00ed mno\u017estv\u00ed chyb a nedokonalost\u00ed. Je t\u0159eba si uv\u011bdomit, \u017ee u her s tak komplexn\u00ed mechanikou, jako je ta na\u0161e je testov\u00e1n\u00ed \u010dasov\u011b velmi n\u00e1ro\u010dn\u00e9. P\u00e1\u010d sebemen\u0161\u00ed nedokonalost se m\u016f\u017ee projevit ve velik\u00e9 nevyv\u00e1\u017een\u00ed p\u0159\u00edmo ve h\u0159e, kter\u00e9 m\u016f\u017ee nejednoho hr\u00e1\u010de odradit. Proto i v budoucnu, vytvo\u0159\u00edme-li u\u017e n\u011bjakou alpha \u010di dokonce beta verzi, bude testov\u00e1n\u00ed souboje naprosto z\u00e1sadn\u00ed.<br \/>\n<br \/>\nV t\u00e9to \u010d\u00e1sti blogu jsem se v\u00e1m sna\u017eil p\u0159ibl\u00ed\u017eit m\u016fj postup v psan\u00ed GDD. Nem\u00e1m nejmen\u0161\u00ed tu\u0161en\u00ed, zda je spr\u00e1vn\u00fd, \u010di naprosto nespr\u00e1vn\u00fd. Je to m\u016fj prvn\u00ed \ud83d\ude00 Ka\u017edop\u00e1dn\u011b n\u011bco z n\u011bho vzniklo a vznik\u00e1 d\u00e1l.<br \/>\n<br \/>\nNashle p\u0159i p\u0159\u00ed\u0161t\u00ed \u010d\u00e1sti blogu<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_57461\" class=\"pvc_stats total_only  \" data-element-id=\"57461\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/noezgames.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00davaha p\u0159ed tvorbou mechaniky V minul\u00fdch d\u00edlech blogu jsem se zab\u00fdval zejm\u00e9na z\u00edsk\u00e1v\u00e1n\u00edm \u010dlen\u016f t\u00fdmu a jejich p\u0159\u00ednosem pro projekt. V dne\u0161n\u00edm blogu z tohoto sm\u011bru trochu odbo\u010d\u00edm a nast\u00edn\u00edm\u2026 <a href=\"https:\/\/noezgames.com\/?p=57461\" class=\"read-more-link\">\u010d\u00edst v\u00edce &rarr;<\/a><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_57461\" class=\"pvc_stats total_only  \" data-element-id=\"57461\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/noezgames.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":61698,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-57461","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/noezgames.com\/index.php?rest_route=\/wp\/v2\/posts\/57461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/noezgames.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/noezgames.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/noezgames.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/noezgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=57461"}],"version-history":[{"count":4,"href":"https:\/\/noezgames.com\/index.php?rest_route=\/wp\/v2\/posts\/57461\/revisions"}],"predecessor-version":[{"id":63637,"href":"https:\/\/noezgames.com\/index.php?rest_route=\/wp\/v2\/posts\/57461\/revisions\/63637"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/noezgames.com\/index.php?rest_route=\/wp\/v2\/media\/61698"}],"wp:attachment":[{"href":"https:\/\/noezgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=57461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/noezgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=57461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/noezgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=57461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}