{"id":1191,"date":"2013-02-19T18:28:30","date_gmt":"2013-02-19T16:28:30","guid":{"rendered":"http:\/\/www.nordenfelt-thegame.com\/blog\/?p=1191"},"modified":"2013-02-19T18:28:30","modified_gmt":"2013-02-19T16:28:30","slug":"nordenfelt-dev-log-37","status":"publish","type":"post","link":"http:\/\/www.nordenfelt-thegame.com\/blog\/2013\/02\/19\/nordenfelt-dev-log-37\/","title":{"rendered":"Nordenfelt Dev Log 37"},"content":{"rendered":"<p>It&#8217;s time for a Nordenfelt status update. On Saturday my dev machine went belly-up so I have time to write a blog post while waiting for the new machine. \ud83d\ude42<\/p>\n<h2>Procedural Level Generation<\/h2>\n<p>Designing fun levels isn&#8217;t easy. Teaching a machine to generate interesting levels is even more difficult. It&#8217;s like telling an instinctless child how to behave. Each time it does something wrong you have to intervene and adapt its behavior for the better. E.g. don&#8217;t send in the most difficult boss at the end of the first level.<\/p>\n<p>Developing a level generator relies heavily on iterative improvement. I&#8217;m no longer that naive to try to estimate when it&#8217;s finished. It&#8217;s an ongoing process, aside all the asset and AI programming work. I&#8217;ll simply abandon the generator when everything else is done.<\/p>\n<h2>Assets, Assets, Assets<\/h2>\n<p>I&#8217;ve switched from pre-rendered 3D models to &#8220;hand-drawn&#8221; 2D sprites. It turned out that drawing enemies in GIMP is faster than the first-3d-then-render approach. This blue hovering plane was completely done in GIMP &#8211; no 3D involved:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-content\/uploads\/2013\/02\/bomber.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1203  aligncenter\" title=\"hand-drawn bomber sprite\" src=\"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-content\/uploads\/2013\/02\/bomber.jpg\" alt=\"hand-drawn bomber sprite\" width=\"480\" height=\"256\" srcset=\"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-content\/uploads\/2013\/02\/bomber.jpg 480w, http:\/\/www.nordenfelt-thegame.com\/blog\/wp-content\/uploads\/2013\/02\/bomber-300x160.jpg 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>The level generator needs quite a lot of different background tiles and enemies to spread throughout the levels. So I&#8217;m busy cranking out new enemies, floor textures, building sprites, vegetation, etc. at the moment.<\/p>\n<p>The good thing about the generator is that it integrates new backgrounds and enemies immediately. There is no need to add new assets in levels by hand. This is a nice side effect which enables continuous extension in a rapid manner.<\/p>\n<h2>Plans For Desura<\/h2>\n<p>In 2011 I&#8217;ve asked <a href=\"http:\/\/www.desura.com\/\">Desura<\/a> if Nordenfelt would be a candidate for their alpha funding program. The reaction was positive. The only flaw they wanted fixed upfront was the soundtrack. The tracks were preview versions from audio stock sites and had voice overlays saying &#8220;preview&#8221; again and again.<\/p>\n<p>At this time I ran out of money so I had to get a job. Desura wanted their alpha funded games to be in constant development with regular updates. I did not want to be forced to deliver this aside a full-time day job. Therefore I&#8217;ve abandoned Desura.<\/p>\n<p>Now I&#8217;m ready for the alpha program. I just have to get in contact with Desura again. This will happen within the next few weeks. I&#8217;ve already set up <a href=\"http:\/\/www.indiedb.com\/games\/nordenfelt\">Nordenfelt at IndieDB<\/a>, as an entry point to Desura. I&#8217;m not active there yet but that will change when Desura greenlights Nordenfelt.<\/p>\n<p style=\"text-align: center;\"><a title=\"View Nordenfelt on Indie DB\" href=\"http:\/\/www.indiedb.com\/games\/nordenfelt\" target=\"_blank\"><img decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/button.indiedb.com\/popularity\/medium\/games\/21010.png\" alt=\"Nordenfelt\" \/><\/a><\/p>\n<p><strong>Cheers,<br \/>\nThomas<\/strong><\/p>\n<p><em>P.S.: Get real-time updates via Twitter feed <a title=\"Follow @nordenfeltgame\" href=\"http:\/\/twitter.com\/nordenfeltgame\">@nordenfeltgame<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nordenfelt Dev Log 37: Procedural level generation, asset production and Desura<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56,36],"tags":[57,11,32,25],"class_list":["post-1191","post","type-post","status-publish","format-standard","hentry","category-dev-log","category-graphics-2","tag-dev-log-2","tag-development","tag-graphics","tag-ship"],"_links":{"self":[{"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/posts\/1191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/comments?post=1191"}],"version-history":[{"count":24,"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/posts\/1191\/revisions"}],"predecessor-version":[{"id":1216,"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/posts\/1191\/revisions\/1216"}],"wp:attachment":[{"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/media?parent=1191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/categories?post=1191"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.nordenfelt-thegame.com\/blog\/wp-json\/wp\/v2\/tags?post=1191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}