{"id":191,"date":"2017-03-15T13:29:18","date_gmt":"2017-03-15T12:29:18","guid":{"rendered":"http:\/\/ekhart.pl\/?p=191"},"modified":"2017-03-15T13:31:05","modified_gmt":"2017-03-15T12:31:05","slug":"post-mortem-czyli-spowiedz-gamedeva-2","status":"publish","type":"post","link":"https:\/\/ekhart.pl\/index.php\/2017\/03\/15\/post-mortem-czyli-spowiedz-gamedeva-2\/","title":{"rendered":"Post-mortem, czyli spowied\u017a gamedeva #2"},"content":{"rendered":"<p>Ci\u0105g dalszy rozrachunku z ostatnio sko\u0144czonym projektem<\/p>\n<h3>Wnioski<\/h3>\n<ul>\n<li>od samego pocz\u0105tku koncentrowa\u0107 si\u0119 na <strong>maksymalizowaniu wprowadzanej warto\u015bci do gry, przy jak najmniejszym koszcie<\/strong> korzystaj\u0105c z ka\u017cdego mo\u017cliwego rozwi\u0105zania &#8211; np. dorysowuj\u0105c jaki\u015b ma\u0142y szczeg\u00f3lik, zamiast kodz\u0105c co\u015b po nocach = design jest tani<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<ul>\n<li>bardziej <strong>ci\u0105\u0107 zakres<\/strong>, szybciej wywala\u0107 czasoch\u0142onne pomys\u0142y<\/li>\n<li>po\u015bwi\u0119ca\u0107 maksymalnie 1 <strong>pomodoro na research<\/strong>, prototyp powie wi\u0119cej o tym, ile zajmie wprowadzenie jakiej\u015b nowej mechaniki &#8211; je\u015bli kr\u00f3tko i \u0142atwo to pr\u00f3bujemy to zrobi\u0107, je\u015bli d\u0142ugo &#8211; wywalamy<\/li>\n<li>wykorzysta\u0107 podej\u015bcie <strong><a href=\"https:\/\/pl.wikipedia.org\/wiki\/Scrum\">Scrum<\/a><\/strong><\/li>\n<li>planuj\u0105c projekt trzeba <strong>doda\u0107 ryzyko<\/strong> &#8211; brak obecno\u015bci cz\u0142onk\u00f3w zespo\u0142u i siebie w niekt\u00f3re dni z r\u00f3\u017cnych powodu<\/li>\n<li>g\u0142\u0119bsze planowanie &#8211; <strong>ustalenie sobie milestone&#8217;\u00f3w<\/strong>, w\u0142asnych deadline&#8217;\u00f3w (sprint\u00f3w) i staranie si\u0119 ich dotrzyma\u0107 &#8211; nie \u017ceby deadlinem by\u0142 ostatni dzie\u0144 oddania projektu<\/li>\n<li><strong>zautomatyzowa\u0107<\/strong> codzienne<strong> raportowanie progresu<\/strong> swoich prac &#8211; bycie widocznym dla cz\u0142onk\u00f3w zespo\u0142u &#8211; daily self-DSM<\/li>\n<li>zautomatyzowa\u0107 <strong>proces budowania i notyfikowania<\/strong> cz\u0142onk\u00f3w zespo\u0142u o nowym releasie, dodaj\u0105c przy tym release notesy (\u017ceby wiedzieli jakie poprawki si\u0119 pojawi\u0142y, co mog\u0105 testowa\u0107)<\/li>\n<li>maksymalnie skr\u00f3ci\u0107 feedback loop &#8211; <strong>testowanie<\/strong> ka\u017cdej nawet atomowej zmiany <strong>skraca drog\u0119 do znalezienia b\u0142\u0119du<\/strong><\/li>\n<li>prototyp powinien by\u0107 jak najcz\u0119\u015bciej <strong>testowany na platformie docelowej<\/strong><\/li>\n<li>zbiera\u0107 <strong>content do marketingu<\/strong> od samego pocz\u0105tku: nagrywa\u0107 ka\u017cd\u0105 <strong>nowo wprowadzon\u0105 mechanik\u0119<\/strong> (przez filmik lub gif); warto te\u017c swoj\u0105 drog\u0105 <strong>streamowa\u0107<\/strong> proces pracy w celu odkrywania proces\u00f3w, kt\u00f3re mo\u017cna potem automatyzowa\u0107, content do marketingu gry<\/li>\n<li>\u015bledzi\u0107 swoj\u0105 prac\u0119 i <strong>na bie\u017caco dzieli\u0107 si\u0119<\/strong> spostrze\u017ceniami, tipami z innymi<\/li>\n<li><strong>polishowanie<\/strong> = animacje, particle i muzyka<\/li>\n<li><strong>animacje<\/strong> s\u0105 tym, co <strong>dodaje \u017cycia<\/strong> grze, sprawia, \u017ce staje si\u0119 dynamiczna<\/li>\n<li>jak najwcze\u015bniej pokaza\u0107 innym<strong> jak pos\u0142ugiwa\u0107 si\u0119 silnikiem<\/strong> do prostych zmian np. warto\u015bci zmiennych &#8211; \u017ceby mogli sami tweakowa\u0107 gr\u0119<\/li>\n<li><strong>todosy<\/strong> zwi\u0105zane z <strong>refaktoringiem<\/strong> <strong>zapisywa\u0107 w kodzie<\/strong> &#8211; im bli\u017cej kodu, tym pr\u0119dzej b\u0119d\u0105 zrobione i o nich nie zapomnimy &#8211; nie warto ich przenosi\u0107 do Trello &#8211; za du\u017co niepotrzebnej przy tym roboty<\/li>\n<li><strong>refaktoryzowa\u0107<\/strong> zawsze i tylko wtedy<strong> gdy pojawia si\u0119 duplikacja<\/strong> &#8211; ale najpierw co\u015b zduplikowa\u0107, sprawi\u0107 aby dzia\u0142a\u0142o, a potem dopiero refaktoryzowa\u0107 &#8211; w ten spos\u00f3b otrzymamy \u0142atwy do kopiowania i zmieniania kawa\u0142ek funkcjonalno\u015bci<\/li>\n<li><strong>debugger<\/strong> pozwala <strong>prze\u015bledzi\u0107 dok\u0142adnie w\u0142a\u015bciwy flow dzia\u0142ania<\/strong>, a nie taki jak nam si\u0119 wydaje &#8211; dlatego stosowa\u0107 go zawsze wtedy gdy nie rozumiemy dok\u0142adnie jak co\u015b dzia\u0142a<\/li>\n<li><strong>wi\u0119kszo\u015b\u0107 b\u0142\u0119d\u00f3w wynika z zwyk\u0142ych pomy\u0142ek<\/strong>, kt\u00f3re jako\u015b nam nie jest \u0142atwo od razu dostrzec, albo <strong>z braku wiedzy<\/strong> (\u017ce np. je\u015bli on_input zwraca true to event nie jest dalej propagowany)<\/li>\n<li>najbardziej <strong>ra\u017c\u0105ce b\u0142\u0119dy poprawia\u0107 przed wprowadzaniem nowych funkcjonalno\u015bci<\/strong>. Ale <strong>ma\u0142e<\/strong> b\u0142\u0119dy na pocz\u0105tku <strong>olewa\u0107<\/strong> i zajmowa\u0107 si\u0119 przed nimi wprowadzaniem nowych feature&#8217;\u00f3w<\/li>\n<li><strong>nie poddawa\u0107 si\u0119<\/strong> &#8211; dopiero po korzystaniu z narz\u0119dzia oko\u0142o przez jeden miesi\u0105c <strong>nabieramy<\/strong> w nim wystarczaj\u0105cej <strong>wprawy<\/strong> &#8211; tak, \u017ce praca staje si\u0119 \u0142atwiejsza i przyjemniejsza<\/li>\n<li><strong>nie zostawia\u0107 publikacji gry na ostatni dzie\u0144<\/strong>, bo na pewno co\u015b si\u0119 wywali i nie b\u0119dzie dzia\u0142a\u0107 jak powinno &#8211; zrobi\u0107 to wcze\u015bniej, \u017ceby pozna\u0107 problemy i je rozwiaza\u0107 na spokojnie &#8211; spina nie jest najlepszym pomocnikiem<\/li>\n<li><strong>na ko\u0144cu jest zawsze za du\u017co zada\u0144 xd<\/strong><\/li>\n<\/ul>\n<p>A Wy jakie wnioski ostatnio wyci\u0105gn\u0119li\u015bcie z pracy nad swoimi projektami?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ci\u0105g dalszy rozrachunku z ostatnio sko\u0144czonym projektem Wnioski od samego pocz\u0105tku koncentrowa\u0107 si\u0119 na maksymalizowaniu wprowadzanej warto\u015bci do gry, przy jak najmniejszym koszcie korzystaj\u0105c z ka\u017cdego mo\u017cliwego rozwi\u0105zania &#8211; np. dorysowuj\u0105c jaki\u015b ma\u0142y szczeg\u00f3lik, zamiast kodz\u0105c co\u015b po nocach = design jest tani<\/p>\n","protected":false},"author":1,"featured_media":201,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[3,23],"tags":[5,6,9],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/ekhart.pl\/wp-content\/uploads\/2017\/03\/Fotolia-single-male-coder.jpg?fit=1624%2C1170&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8oxcO-35","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/posts\/191"}],"collection":[{"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/comments?post=191"}],"version-history":[{"count":6,"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/posts\/191\/revisions"}],"predecessor-version":[{"id":205,"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/posts\/191\/revisions\/205"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/media\/201"}],"wp:attachment":[{"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/media?parent=191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/categories?post=191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekhart.pl\/index.php\/wp-json\/wp\/v2\/tags?post=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}